Issuing Stablecoin Addresses
Bitnob allows you to generate unique on-chain stablecoin deposit addresses for each of your users or internal wallets. These addresses are specific to the chain and token type (e.g., USDT on Tron, USDC on Ethereum) and are mapped to a wallet on your account.
This is the entry point for receiving stablecoins on Bitnob: once a user sends funds to a generated address, Bitnob tracks the transfer, confirms it on-chain, and updates your internal wallet balance.
Key Concepts
Wallet vs Address
A wallet is an internal ledger object on Bitnob that tracks balances per token, per chain.
A deposit address is an external, on-chain address assigned to a specific wallet.
You can:
Have multiple addresses tied to the same wallet
Generate addresses per user, per chain, per token
Receive from any standard wallet (e.g., Metamask, Phantom, TronLink)
Supported Parameters
When creating an address, you’ll specify:
parameter | description |
|---|---|
chain | Target blockchain (e.g., tron, ethereum, solana, bsc, arbitrum, base, optimism, polygon, avalanche) |
customer_email | Email address of the customer receiving the deposit address |
label | Optional human-readable reference for identifying the address |
Address Lifecycle

Best Practices
Address per user • Assign a dedicated deposit address per customer per chain to make reconciliation easy • Use metadata to track user ID or transaction context (e.g. subscription_id)
Watch for confirmations, not just transfers • Never credit a user’s balance until the webhook event fires • The event includes the number of confirmations and an external transaction hash
Label addresses meaningfully • Use labels and metadata to create a searchable record for compliance and support teams
Stellar Addressing & Memo Responsibility
On Stellar, Bitnob assigns each company a single shared wallet address for receiving stablecoins (e.g. USDC). Unlike account-model chains, Stellar uses a memo field to attribute incoming funds to a specific user — and that memo is your responsibility, not Bitnob's.
Key design principle
Bitnob does not generate or manage memos.
If you need per-user attribution, you must implement memo handling on your side.
How it works
Your company is assigned one Stellar address, shared across all your users. To distinguish between users or transactions, assign a unique memo per user (or per deposit) and surface it to your end-user when they send funds. This lets you map incoming funds back to the correct user inside your system.
When you need memos
You should implement memo handling if you:
Issue deposits to multiple users on Stellar
Need to track balances per user
Want to automate transaction reconciliation
If you do not use memos
All funds will be treated as belonging to your company account.
You will need to manually reconcile incoming transactions.
Example Use Case
You're building a crypto-native remittance service.
Your customer in Ghana wants to receive USDT on Tron.
You generate a deposit address for them with chain=tron, customer_email=customer@example.com, and label=Remittance:Order#9283.
They send funds from their wallet (e.g. Binance withdrawal).
Bitnob tracks the transfer, waits for 19 confirmations, then triggers a webhook.
You credit the user’s account in your application and notify them that funds have been received.