Skip to content
Accept USDT

Accept USDT payments

On BNB Smart Chain (BEP-20) and Ethereum (ERC-20), priced in dollars, for 0.5% per payment.

USDT is a dollar your customers can send from any wallet. CoinsFlow takes it on BNB Smart Chain and on Ethereum. Price the order in dollars and the payment page asks for that many USDT: $49.99 is 49.99 USDT. It costs 0.5% per payment.

Which network?

USDT onBNB Smart Chain (BEP-20)Ethereum (ERC-20)
Paid afterabout 15 secondsabout 2.5 minutes
Withdrawableabout 15 seconds laterabout 4 minutes later
Confirmations to paid / final15 / 3012 / 32
Customer’s network feecents or less, paid in BNBvaries, paid in ETH; more than for sending plain ETH

For the lowest fees, offer BNB Smart Chain. TRON (TRC-20) is paused for now.

One thing your customer must get right

USDT on BNB Smart Chain and USDT on Ethereum are different tokens, with different contracts. The payment page names the network and warns your customer to send on that one only. With a pay-in-any-coin invoice they choose USDT first, then the network.

How it works

  1. Create an invoice in USDT on BNB Smart Chain (bsc) or Ethereum (ethereum), priced in dollars or in USDT: one API call from your shop, or a few clicks in the dashboard.
  2. Your customer opens the payment page: a fresh 0x… address, the exact amount, a QR code, and the network, named.
  3. We see the payment in its first block. It is paid at 15 confirmations on BNB Smart Chain, about 15 seconds, or 12 on Ethereum, about 2.5 minutes: your server gets the signed invoice.paid webhook, and the money is in your balance.
  4. Once the payment is final, withdraw it to your own wallet on the same network, by hand or automatically. The smallest withdrawal is 1 USDT.

Create a USDT invoice

curl https://api.coinsflow.app/v1/invoices \
  -H "Authorization: Bearer $COINSFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-A-1042" \
  -d '{"chain":"bsc","asset":"USDT","priceAmount":"120.00","orderId":"A-1042"}'

Send your customer to the paymentUrl in the answer, and fulfil the order on the invoice.paid webhook. To try it with no money first, add "test": true to the body and simulate the payment. Every field is in the API docs.

Questions

Why does $49.99 ask for exactly 49.99 USDT?

USDT counts as one dollar while its market price is within 0.5% of a dollar. Amounts are rounded up to 2 decimals, so your customer can type them.

Does my customer need BNB or ETH to pay?

Yes, a little, for the network fee: on BNB Smart Chain it is paid in BNB, on Ethereum in ETH. That is how these networks work, whoever is being paid.

What is the smallest USDT withdrawal?

1 USDT. A withdrawal goes out on the network the money came in on: USDT received on BNB Smart Chain is withdrawn on BNB Smart Chain.

Can I accept USDC the same way?

Yes, on the same two networks and with the same rules: a dollar price asks for that many USDC, and the smallest withdrawal is 1 USDC.

Can my customer choose the coin?

Yes. Price the invoice in dollars and leave the coin out: the payment page lets your customer pick USDT or USDC and the network, or Litecoin, Bitcoin, Ether or BNB.