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:

ParameterDescription
wallet_idID of the wallet receiving the deposit
chainTarget blockchain (ethereum, tron, etc.)
tokenStablecoin type (usdt, usdc)
labelOptional human-readable reference
metadataKey-value JSON for linking to users/orders

Address Lifecycle

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.

Did you find this page useful?