@ Address Management
Generate and manage blockchain addresses for your users across multiple chains.
Address management is the foundation of any stablecoin integration — each user needs a unique deposit address to receive funds, and your app must securely map and track those addresses to internal accounts.
This guide walks you through creating HD wallets, generating addresses, and managing private keys using Tatum’s Wallet and Address APIs.
Generate Wallet & Addresses (Popular 🔥)
GET /v3/ethereum/wallet
— Create HD wallets for address derivation.GET /v3/ethereum/address/{xpub}/{index}
— Generate deposit addresses for users.GET /v3/ethereum/wallet/priv
— Create addresses with private keys (for custodial systems).
Key Use Cases
- User Deposit Addresses: Assign unique blockchain addresses to each user for stablecoin deposits (e.g., USDT, USDC).
- Multi-Chain Support: Generate addresses across Ethereum, Polygon, or BSC using the same master wallet.
- Deterministic Wallets: Use HD wallets to derive an unlimited number of addresses from a single mnemonic.
Sample Request – Generate a New HD Wallet (cURL)
curl --request GET \
--url https://api.tatum.io/v3/ethereum/wallet \
--header 'accept: application/json' \
--header 'x-api-key: YOUR_API_KEY'
const options = {
method: 'GET',
headers: {
accept: 'application/json',
'x-api-key': 'YOUR_API_KEY'
}
};
fetch('https://api.tatum.io/v3/ethereum/wallet', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
Sample Response
{
"mnemonic": "urge pulp usage sister evidence arrest palm math please...",
"xpub": "xpub6Esra7jHwxP2KfZGXQy1x2YAv3JXcBq72RgA9c8MtA12JRhXUg..."
}
Sample Request – Generate Address from xpub
curl --request GET \
--url https://api.tatum.io/v3/ethereum/address/XPUB/INDEX \
--header 'accept: application/json' \
--header 'x-api-key: YOUR_API_KEY'
const options = {
method: 'GET',
headers: {
accept: 'application/json',
'x-api-key': 'YOUR_API_KEY'
}
};
fetch('https://api.tatum.io/v3/ethereum/address/XPUB/INDEX', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
Sample Response
{
"address": "0x2474a7227877f2b65185f09468af7c6577fa207c"
}
How Address Management Works
-
Generate an HD Wallet (xpub):
UseGET /v3/ethereum/wallet
to create a master wallet. Store thexpub
(public key) securely. -
Derive Deposit Addresses:
UseGET /v3/ethereum/address/{xpub}/{index}
to generate new addresses for each user. -
Map to Internal Accounts:
Store the address-user mapping in your database (e.g., userID → blockchainAddress). -
Monitor Deposits:
Use the Create Subscription API to detect deposits automatically. -
Secure Mnemonics & Keys:
Never expose mnemonics or private keys in your frontend. Generate and store them securely on your backend.
Address Management – FAQs
What is an HD wallet?
HD (Hierarchical Deterministic) wallets let you derive unlimited blockchain addresses from a single mnemonic or xpub. This ensures scalability and easy address recovery without storing every private key separately.
Should I store mnemonics or xpubs?
Store only the xpub (extended public key). Never store or expose the mnemonic phrase outside your secure backend. The xpub can derive addresses but not sign transactions.
How do I generate private keys for custodial systems?
Use Generate Address Private Key to create an address and its private key. Store it securely in your key management service (KMS) or HSM.
Can I generate addresses for multiple chains?
Yes. Tatum supports address generation for Ethereum, Polygon, BSC, Solana, Bitcoin, and other chains. Each chain has its own endpoint thgat can be found in the blockchain section.
How do I ensure deposit attribution?
Always assign unique addresses per user. This allows automatic detection of who made the deposit without manual tagging or memo usage.
What security best practices should I follow?
- Never expose mnemonics or private keys in frontend apps.
- Use HTTPS and secure API keys with strict IP whitelisting.
- Rotate HD wallet derivation indexes sequentially per user.
- Audit all wallet generation requests and logs.
Best Practices
- ✅ Use HD wallets for scalability and easy address derivation.
- 🔒 Keep mnemonics encrypted in a secure backend vault or HSM.
- 🌐 Use chain-specific endpoints for EVM and non-EVM networks.
- 🧩 Maintain user → address mapping in your database for deposit tracking.
- ⚙️ Combine with Transaction Alerts to detect deposits in real time.
By managing addresses securely and systematically, you lay the foundation for automated stablecoin deposits and transfers across your platform.
Updated about 3 hours ago