USDT networks you can accept
If you want to accept USDT payments, start with the fact that trips up a lot of businesses: USDT doesn't live on a single blockchain. Tether issues the same dollar token on many networks, and each version exists only on its own network. A USDT payment gateway has to watch each of those networks separately, give the customer an address on the right one, and count the payment only once that network has confirmed it.
Crypto Merchant supports USDT on six networks. The table lists each one with its token type, the coin ID you use in the API, the coin that pays its network fees, and how many confirmations a payment needs. The Coins & networks page reads this list straight from the system, so check it for what is live today.
| Network | Token type | Coin ID | Gas coin | Confirmations |
|---|---|---|---|---|
| Tron | TRC-20 | USDT.TRON | TRX | 19 |
| Ethereum | ERC-20 | USDT.ETH | ETH | 12 |
| BNB Smart Chain | BEP-20 | USDT.BSC | BNB | 15 |
| Polygon | ERC-20 on Polygon | USDT.POLYGON | POL | 64 |
| Arbitrum One | ERC-20 on Arbitrum | USDT.ARBITRUM | ETH | 20 |
| Solana | SPL token | USDT.SOL | SOL | 32 |
Crypto Merchant counts one USDT as one US dollar on every network. A $50 invoice asks for exactly 50 USDT, whether the customer pays on Tron, Ethereum or Solana, so neither side has to think about exchange rates.
USDT TRC20 vs ERC20 vs BEP20: what differs
In every case, one USDT is meant to be worth one US dollar. TRC20, ERC20 and BEP20 are simply the names of the token standards on Tron, Ethereum and BNB Smart Chain. What changes from one to the next is the network underneath, and that decides three things: what the customer pays to send, which coin the network fees are paid in, and how familiar the option is to your customers.
TRC-20: USDT on Tron
Tron is one of the most used networks for USDT, especially for sending dollars between people and across borders. Many customers who hold USDT on an exchange will pick it first. Sending a token on Tron uses up a resource called energy, which most senders pay for by burning TRX, so the fee is noticeable rather than tiny. Tron addresses start with the letter T.
ERC-20: USDT on Ethereum
ERC-20 is the token standard on Ethereum, and ERC-20 USDT is supported by almost every wallet and exchange. Fees are paid in ETH and rise and fall with demand, so Ethereum can be the most expensive of the six when it is busy. It suits larger payments, where the fee is small next to the order.
BEP-20: USDT on BNB Smart Chain
BEP-20 is the token standard on BNB Smart Chain, a network that works much like Ethereum and uses the same 0x address format. Fees are paid in BNB and are usually low. Customers who use Binance tend to know it well.
Polygon, Arbitrum One and Solana
All three are usually cheap to send on. Polygon and Arbitrum One run Ethereum-style tokens with 0x addresses, with gas paid in POL and ETH. Solana has its own token standard, called SPL, and its own address format, with gas paid in SOL. Fewer customers think of these first for USDT, but those who already keep funds there will be glad to see them.
| Network | Sender fee | Familiarity for USDT | Address looks like |
|---|---|---|---|
| Tron (TRC-20) | Noticeable, paid in TRX | Very common | Starts with T |
| Ethereum (ERC-20) | Varies with demand, highest when busy | Supported almost everywhere | Starts with 0x |
| BNB Smart Chain (BEP-20) | Usually low, paid in BNB | Common with Binance users | Starts with 0x |
| Polygon | Usually low, paid in POL | Less common | Starts with 0x |
| Arbitrum One | Usually low, paid in ETH | Less common | Starts with 0x |
| Solana | Usually low, paid in SOL | Common with Solana wallet users | Letters and numbers, no prefix |
Network fees: what the customer pays and what you pay
Three different costs come up when you accept USDT, and it helps to keep them apart.
- The customer's sending fee. The customer pays it to their own wallet or exchange when they send. Exchanges usually charge their own withdrawal fee for each network, which can matter more than the on-chain fee. Some exchanges take that fee out of the amount the customer types in, which is the most common reason a payment arrives a little short. Our guide to underpaid and overpaid crypto payments explains how that is handled.
- The cost of moving your coins. Every invoice gets its own deposit address, so each payment is later moved, or swept, into your pool wallet with one more on-chain transfer. That transfer needs the network's gas coin: TRX to move USDT on Tron, ETH on Ethereum, BNB on BNB Smart Chain. Crypto Merchant pays it from your gas balance and adds no sweep fee of its own.
- The Crypto Merchant fee. 1% of each paid invoice, deducted when the payment is credited to your balance. Expired and cancelled invoices cost nothing.
Your gas balance starts with your go-live payment. You pay $25 once, in any coin, and the full amount is credited as gas, so you don't need to hold TRX or BNB yourself. If the gas balance runs out, the network fee is taken from the payment being moved. Crypto network fees explained covers gas in more detail.
Confirmations: when a USDT payment counts
Seeing a transaction is not the same as being paid. A payment counts only once the network has added enough blocks after it to make it very unlikely to be undone. Until then, the invoice page shows the payment as confirming, and if you use webhooks, your server receives an invoice.confirming event.
When the payment reaches the number of confirmations in the table above, the invoice turns paid, the amount minus the fee is credited to your balance, and an invoice.paid webhook is sent. That is the moment to ship the order. The counts differ because each network adds blocks at its own pace and makes them final in its own way, so 12 on Ethereum and 64 on Polygon are each that network's own safety margin.
Why customers must send USDT on the right network
If you remember one thing from this guide, make it this. USDT on Tron and USDT on Ethereum are different tokens on different blockchains. The invoice page shows the coin and the network the customer picked, and the payment must arrive on that network. Coins sent on another network, or as a different coin, may be delayed or lost for good, and nobody can guarantee getting them back.
The riskiest mix-up is between Ethereum, BNB Smart Chain, Polygon and Arbitrum One, because all four use the same 0x address format. A wallet will happily send BEP-20 USDT to an address that was shown for ERC-20, and the transfer goes through, just on the wrong chain. Tron and Solana addresses look different, so most wallets refuse them on another network.
Keeping customers on the right network
- Turn on the networks your customers already use. Someone who finds their network on the invoice has no reason to improvise.
- Ask them to choose the same network in their exchange's withdrawal screen as the one on the invoice. Exchanges label networks differently, and "TRC20", "Tron" and "TRX" can all mean the same thing, so spell it out.
- Have them scan the QR code or use the copy buttons on the invoice page rather than retyping the address.
- If something does go wrong, they should keep the transaction ID and the invoice link and write to [email protected]. Support will look into it, but recovery isn't guaranteed.
Which USDT networks to turn on
Customers only see the coins and networks you turn on, and each customer picks one network per invoice. Turning on several doesn't clutter the checkout. It just means more customers can pay from what they already hold. A sensible starting point:
- Tron (TRC-20) if your customers already use USDT for everyday transfers. For many of them, it is the default.
- BNB Smart Chain (BEP-20) for low fees and customers who use Binance.
- Ethereum (ERC-20) for larger orders and customers who keep their funds on Ethereum. Weigh the cost of moving each payment if your orders are small.
- Polygon, Arbitrum One and Solana if your customers use wallets on those networks. Fees are usually low on all three.
You can change the coins you accept later in your settings, so start with the networks you're sure about and add more when customers ask. If some customers would rather pay in USDC, our guide to stablecoin payments for business compares USDT and USDC.
How to accept USDT payments, step by step
Getting from a new account to your first USDT payment takes five steps, and you can stop and come back at any point.
- 1
Create your account
Sign up with your email, your name and your business name. Anyone, in any country, can open an account, and there are no ID documents to upload. You still have to follow the law where you operate and the Terms.
- 2
Turn on USDT and choose its networks
Pick the USDT networks you want to accept, along with any other coins. Customers only see what you turn on.
- 3
Set your sweep and payout rules
Choose automatic or manual sweeps into your pool wallet. Then choose how you are paid: each coin to a wallet you save for it, or everything swapped into one holding coin such as USDT on Tron. Swaps run every 24 hours or when you pay out, and their rates include a service margin.
- 4
Go live
Make the one-time go-live payment of $25, in any coin. The full amount becomes your gas balance and pays for the TRX, ETH, BNB and other gas needed to move your USDT.
- 5
Start taking payments
Share your store's checkout page, create payment links with a fixed price or a pay-what-you-want amount, or create invoices from your own site. Ship orders once an invoice shows paid.
If you're a developer, pass a coin ID such as USDT.TRON as coin when you create an invoice with the API. The deposit address and the exact amount come back straight away in pay_address and pay_amount, and a webhook signed with HMAC-SHA256 tells your server when the invoice is paid.
After the payment: sweeps, gas and payouts
Once a USDT payment is confirmed, it is credited to your balance minus the fee and moved into your pool wallet, automatically or when you start a sweep. From there you can pay out at any time, with no minimum, to a USDT address you save on the matching network. If you chose a holding coin, other coins are swapped into it first. Only Admins on your team can save payout addresses and make payouts.
Crypto Merchant is a custodial service. It holds the keys to your pool wallet and deposit addresses and moves coins on your instructions. Every wallet comes from one master recovery phrase that is kept offline on paper, so addresses can be rebuilt even if every server is lost. If you're weighing that against running your own wallet, read custodial vs non-custodial crypto payments.
Finally, how USDT income is taxed and reported depends on where your business is. Check your local rules, and use the daily, weekly, monthly, quarterly and yearly sales statements in the portal to keep your records in order.