Skip to content
Crypto Merchant

Payments

How to Accept USDT Payments: TRC20 vs ERC20 vs BEP20

How to accept USDT payments on Tron (TRC20), Ethereum (ERC20), BNB Smart Chain (BEP20) and more: fees, confirmations, networks and setup steps.

By the Crypto Merchant team10 min read

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.

NetworkToken typeCoin IDGas coinConfirmations
TronTRC-20USDT.TRONTRX19
EthereumERC-20USDT.ETHETH12
BNB Smart ChainBEP-20USDT.BSCBNB15
PolygonERC-20 on PolygonUSDT.POLYGONPOL64
Arbitrum OneERC-20 on ArbitrumUSDT.ARBITRUMETH20
SolanaSPL tokenUSDT.SOLSOL32
Confirmations are the number of blocks a network must add after a payment before Crypto Merchant counts it.

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.

NetworkSender feeFamiliarity for USDTAddress looks like
Tron (TRC-20)Noticeable, paid in TRXVery commonStarts with T
Ethereum (ERC-20)Varies with demand, highest when busySupported almost everywhereStarts with 0x
BNB Smart Chain (BEP-20)Usually low, paid in BNBCommon with Binance usersStarts with 0x
PolygonUsually low, paid in POLLess commonStarts with 0x
Arbitrum OneUsually low, paid in ETHLess commonStarts with 0x
SolanaUsually low, paid in SOLCommon with Solana wallet usersLetters and numbers, no prefix
A rough guide, not a quote. Fees change with network demand and the price of each gas coin.

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. 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. 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. 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. 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. 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.

Frequently asked questions

Which is better for receiving USDT, TRC20 or ERC20?
Neither is better in every case. TRC20 on Tron is very common for USDT transfers and is often cheaper to send than Ethereum when Ethereum is busy, while ERC20 is supported almost everywhere and suits larger payments. Many businesses accept both and let the customer choose.
What happens if a customer sends USDT on the wrong network?
Coins sent on a different network from the one shown on the invoice may be delayed or lost for good, and recovery can't be guaranteed. The customer should keep the transaction ID and contact support, but the safest fix is prevention: choose the same network in the wallet as on the invoice.
Is BEP20 USDT the same as ERC20 USDT?
Both are meant to be worth one US dollar and both use addresses that start with 0x, but they live on different blockchains: BEP20 on BNB Smart Chain and ERC20 on Ethereum. They are not interchangeable, so a payment must be sent on the network the invoice shows.
Do I need TRX to receive USDT on Tron?
Not to receive it, but moving USDT on Tron afterwards costs a network fee paid in TRX. On Crypto Merchant that fee is paid from your gas balance, which starts with your one-time go-live payment, so you don't need to hold TRX yourself.
Can I accept USDT payments without a website?
Yes. Every store gets a hosted checkout page, and you can share payment links in chats, emails or social profiles. Customers pick USDT and the network on the payment page.
How much does it cost to accept USDT?
Setup is free. You pay a small percentage of each paid invoice, shown on the pricing page, and network fees for moving your coins are paid from your gas balance. Expired and cancelled invoices cost nothing.

Start accepting crypto today

Free setup, no ID checks to sign up, 1% per paid invoice, and payouts whenever you want.