TRC20 vs ERC20 vs BEP20 for payments
How the three most common stablecoin networks differ for a business accepting payments: fees, addresses, the wrong-network risk and how to choose which ones to offer.

USDT and USDC exist on several blockchains, and the three that matter most for payments are TRON (TRC20), Ethereum (ERC20) and BNB Smart Chain (BEP20). For a customer they are three ways to send the same dollar amount. For a business the differences decide how much the customer pays in fees, how likely a mistake is and how many networks you need to support.
Three names for the same coin on different rails
The "20" in each name is a token standard: TRC20 is the token standard on TRON, ERC20 on Ethereum and BEP20 on BNB Smart Chain. The coin, for example USDT, is the same dollar-pegged stablecoin, but it exists separately on each blockchain, with its own addresses, its own transactions and its own fees.
A payment is therefore defined by two things, the asset and the network. USDT on TRON and USDT on Ethereum are different payments: funds sent on one network do not arrive on another. Everything below follows from that.
How they differ for a payment
For the business, the practical differences are these:
- Fees for the sender. Transfers on Ethereum are usually the most expensive of the three, which matters for small orders. TRON and BNB Smart Chain are usually cheaper for the sender. Fees move with network load, so treat any comparison as general, not exact.
- Reach among customers. TRON is widely used for USDT transfers, and most exchanges and wallets support all three networks, so customers often already have a favourite.
- Address format. TRON addresses start with the letter T. Ethereum and BNB Smart Chain addresses share the same
0xformat, which is the source of the biggest risk below. - Who pays the fee. The sender pays the network fee. The merchant pays only the network fee when withdrawing to their own wallet.
Qvard supports TRON (TRC20), Ethereum (ERC20) and BNB Smart Chain (BEP20) among its networks, alongside Bitcoin and Litecoin; see the supported coins for the current list.
The wrong-network risk
The costliest mistake in stablecoin payments is sending on a network other than the one the receiver expects. Ethereum and BNB Smart Chain addresses look identical, so a customer who pastes an 0x address into the wrong network sees no warning.
How to reduce it:
- Let the payment page decide the network. The customer picks the asset and network there and gets the matching address and exact amount, with the network shown next to the address.
- If you want to steer everyone to one network, pass a payment method when you create the payment so the page opens with it selected.
- Write on your checkout which networks you accept, and that the payment must be made on the network chosen on the payment page.
- Offer fewer networks if your customers keep getting it wrong. Every extra choice is another chance for a habit to override the page.
Funds sent on the wrong network do not arrive as expected and need manual handling, so keep a clear support contact.
Which networks to offer
A sensible default for most businesses:
- Offer TRON (TRC20) first for USDT, because it is widely used and usually cheap for the sender.
- Add BNB Smart Chain (BEP20) if your customers are active on it or you want a second low-fee option.
- Add Ethereum (ERC20) for customers who hold funds there, for larger invoices where the fee is a small share, and for USDC. Expect customers on Ethereum to pay more in fees.
- Do not add networks you cannot support operationally. Each network keeps its own balance on your account, and you withdraw each separately.
For B2B invoices, where amounts are larger, the fee difference matters less and your customer's wallet matters more; see stablecoin payments for B2B invoices.
Operations: balances, withdrawals and reconciliation
Each network is a separate rail in practice:
- Balances. Payments in different networks accumulate separately; check them per asset and network when you reconcile.
- Withdrawals. You withdraw to your own crypto wallet, and the withdrawal costs only the network fee of the network you use. Withdrawal to a bank account in fiat is not available.
- Reconciliation. Match payments by your own order or invoice number, which comes back in the webhook, not by the network or address. The webhook is sent when the payment is completed, and your endpoint must answer exactly HTTP 200 and be safe to run twice.
The basics for the most common case are in how to accept USDT TRC20 payments, and the API reference in crypto payment API for developers.
FAQ
What is the difference between TRC20, ERC20 and BEP20?
They are token standards on three different blockchains: TRON, Ethereum and BNB Smart Chain. The same coin, such as USDT, exists on each, with separate addresses and fees. A payment is defined by both the asset and the network.
Which network is cheapest for my customer?
Transfers on Ethereum are usually the most expensive; TRON and BNB Smart Chain are usually cheaper for the sender. Fees change with network load, so this is a general guide, not a guarantee.
What happens if a customer pays on the wrong network?
The funds do not arrive as expected and need manual handling. Reduce the risk by letting the payment page choose the network, showing it next to the address, and stating the accepted networks at checkout.
Do I have to support all three?
No. Offer the networks your customers actually use and that you can handle operationally. You can preselect a payment method when you create the payment to steer customers to one.