Skip to main content
Use your Breet USD balance to purchase stablecoins and send them to any external wallet address. This is ideal for businesses that collect revenue in local currency (NGN or GHS), convert it to USD, and need to pay overseas suppliers, fund wallets, or move value on-chain.
ONE

How it works

1

Fund your USD balance

Your Breet account holds funds in USD. You can build up your USD balance in two ways:
  • Convert your existing NGN or GHS balance to USD from the dashboard under Settings > Crypto Settings — this is the primary on-ramp path
  • Receive crypto deposits that automatically convert to USD (see the off-ramping or fintech use cases)
2

Call the Withdraw (Stablecoins) endpoint

Use POST /payments/withdraw/address to initiate a stablecoin purchase. Specify the amount in USD, the destination wallet address, the token (USDT or USDC), and the blockchain network.
3

Breet sends the stablecoins

Breet deducts the amount (plus network fee) from your USD balance and sends the stablecoins to the specified wallet address on the chosen network.
4

Confirm delivery via webhook

Breet sends a withdrawal.completed webhook once the transaction is confirmed on-chain. Listen for this event to update your system.

Initiate a stablecoin withdrawal

curl -X POST "https://api.breet.io/v1/payments/withdraw/address" \
  -H "x-app-id: YOUR_APP_ID" \
  -H "x-app-secret: YOUR_APP_SECRET" \
  -H "X-Breet-Env: production" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 500,
    "walletAddress": "0x1234...abcd",
    "token": "USDT",
    "network": "TRC20",
    "externalId": "purchase-order-7891"
  }'
ParameterDescription
amountAmount in USD to spend on stablecoins
walletAddressDestination wallet address for the stablecoins
tokenUSDT or USDC
networkBlockchain network: ERC20, TRC20, BSC, SOL, or TON (USDC not supported on TON)
externalIdYour unique reference for this transaction (for tracking and deduplication)
Call GET /payments/supported-assets-info to see which tokens, networks, and fees are currently available before initiating a withdrawal. See the supported assets page for the full list.

What Breet handles

  • Deducting the USD amount from your balance
  • Sending stablecoins to the destination wallet on the specified network
  • Handling blockchain transaction broadcasting and confirmation
  • Sending webhook notifications for withdrawal status changes (withdrawal.pending, withdrawal.completed, withdrawal.rejected)

What you handle

  • Ensuring your Breet USD balance has sufficient funds
  • Collecting and validating the destination wallet address
  • Choosing the appropriate token and network for your use case
  • Listening for webhook events to confirm delivery
  • Communicating transaction status to your users or internal systems

Example user journey

  1. A Nigerian e-commerce company sends Naira to their Breet balance using their assign virtual account number.
  2. The company converts their NGN balance to USD from the Breet dashboard.
  3. On Friday, the company needs to pay an overseas supplier $200,000 for inventory. The supplier accepts USDT on TRC20.
  4. Their backend calls POST /payments/withdraw/address with the supplier’s wallet address, amount 200,000, token USDT, network TRC20, and an externalId matching the purchase order.
  5. Breet deducts 200,002 USD (plus a small network fee of $2) from the company’s balance and sends 200,000 USDT to the supplier’s wallet.
  6. Breet sends a withdrawal.completed webhook to the company’s server.
  7. The company’s system marks the purchase order as paid and notifies the supplier.

FAQ

USDT and USDC. See the supported assets page for the full list of available tokens and networks.
ERC20 (Ethereum), TRC20 (Tron), BSC (BNB Smart Chain), SOL (Solana), and TON (The Open Network). Note that USDC is not available on TON.
You can view your balance on the Breet API Dashboard or call GET /integration to check your balance programmatically.
There are two ways: (1) receive crypto deposits that automatically convert to USD when your wallet currency is set to USD, or (2) convert your existing NGN or GHS balance to USD from the dashboard.
Yes. Each withdrawal incurs a network fee that varies by blockchain. Call GET /payments/supported-assets-info to see current fees per token and network.
Use the externalId you provided when creating the withdrawal. Listen for webhooks (withdrawal.pending, withdrawal.completed, withdrawal.rejected) or call GET /payments/withdrawal/{id} to check the status.