Sending Stablecoins

Bitnob allows you to programmatically send USDT or USDC to any on-chain address across supported blockchain networks. This is a key capability for use cases like payouts, merchant disbursements, and remittances.

Supported Chains

You can send funds on any of the following networks:

Tron (TRC20)

Binance Smart Chain (BEP20)

Ethereum (ERC20)

Polygon

Solana

TON (coming soon for send)

To view dynamically supported networks per stablecoin, use the

/wallets/stable-coins-networks endpoint.

Endpoint

POST /wallets/transfer This endpoint triggers an on-chain transfer from your wallet to an external address.

Request Parameters

ParameterTypeRequiredDescription
amountintegerAmount in cents (e.g., 100 = $1.00)
addressstringRecipient's on-chain wallet address
chainstringBlockchain network (e.g., bsc, tron, ethereum, polygon)
assetTypestringStablecoin type (USDT, USDC)
referencestringA unique identifier for the transfer (UUID or custom string)
customerEmailstringOptional email tied to the recipient (for your own tracking/analytics)
descriptionstringOptional transfer description

Sample Request

Send Stablecoin Request

Sample Response

Send Stablecoin Response

Webhook Lifecycle

Once a transfer is created, Bitnob handles the on-chain broadcasting and confirmation tracking internally. Your app will receive:

transfer.initiated – immediately after the transfer is accepted

transfer.completed – after enough confirmations (based on chain)

transfer.failed – if the transfer is rejected, reverted, or times out on-chain

Best Practices

Idempotency: Always generate a unique reference per transfer to prevent double sending.

Fee Handling: Bitnob calculates and deducts gas/network fees from your balance. These are visible in the centFees field of the response.

Status Checking: Avoid polling — listen to transfer events via webhooks instead.

Address Validation: Use the /wallets/stable-coins-networks endpoint to validate supported chains for the asset before sending.