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 |
---|---|
wallet_id | ID of the wallet receiving the deposit |
chain | Target blockchain (ethereum, tron, etc.) |
token | Stablecoin type (usdt, usdc) |
label | Optional human-readable reference |
metadata | Key-value JSON for linking to users/orders |
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
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 token=usdt, chain=tron, 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.