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.

Minimum Amount

You cannot send less than $1. Transfers below this minimum will not be processed.


Supported Chains

You can send funds on any of the following networks:

Tron (TRC20)

Binance Smart Chain (BEP20)

Ethereum (ERC20)

Polygon

Solana

Base

Stellar

Arbitrum (ARB)

Avalanche (AVAX)

Optimism (OP)

Polygon (POL)

TON (coming soon for send)

Plasma (coming soon for send)

To view dynamically supported networks per stablecoin, use the /stablecoins/supported-chains endpoint — see Stablecoins Supported Chains in the API reference.

Sending on Stellar has one extra requirement: any memo the destination gives you must be forwarded exactly as provided. See Stellar Withdrawal Notes.


Endpoint

POST /api/withdrawals This endpoint triggers an on-chain withdrawal from your wallet to an external address. Full parameter and response documentation lives in the Create Withdrawal API reference.

Request Parameters

These map one-to-one to the withdrawal request fields in the API reference.

parameter
type
required
description
to_address
string
Yes
Recipient's on-chain wallet address
amount
string
Yes
Amount in the smallest unit of the currency (e.g., '2000000' for 2 USDT)
currency
string
Yes
Stablecoin type (USDT, USDC)
chain
string
Yes
Blockchain network (e.g., tron, ethereum, bsc, polygon, solana)
reference
string
Yes
A unique identifier for the transfer
description
string
No
Optional transfer description for your records
Sample Request
Send Stablecoin Request
Sample Response

A pending status here is expected — see Create Withdrawal for the full response shape and Error Responses for the failure codes.

Send Stablecoin Response

Webhook Lifecycle

Once a transfer is created, Bitnob handles the on-chain broadcasting and confirmation tracking internally, moving it through the withdrawal status lifecycle. Your app will receive the following webhook events:

transfer.success – 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. If you do need to look one up, use Get Transaction By ID Or Reference.

Address Validation: Use the addresses/validate endpoint — see Validate Address — to confirm the address is well-formed and supported on the chain before sending.


Share on
Did you find this page useful?

Join our Discord