TRC-20 vs ERC-20: How to Send USDT Without Losing It

“Send me USDT” is an incomplete instruction. USDT lives on more than a dozen networks, and the same token on two different chains is not interchangeable. Get the network wrong and your money can vanish into an address nobody can open. This guide covers the two networks that matter most — Tron’s TRC-20 and Ethereum’s ERC-20 — and the habit that eliminates the biggest risk.

The two USDTs that run the world

TRC-20 (Tron)ERC-20 (Ethereum)
Address starts withT...0x...
Typical fee~$1–2$0.50–$10+ (varies with gas)
Fee paid inTRXETH
Confirmation~1 minute~1–15 minutes
Typical useRemittances, card top-ups, P2P in AsiaDeFi, institutional transfers
Exchange supportUniversalUniversal

Fees move, so treat these as typical ranges, not quotes — the sending screen always shows the actual fee before you confirm.

Choosing a network: three questions

  1. What does the recipient support? This is the only question that truly matters. A card top-up page, an exchange deposit screen, or a friend will all tell you which networks they accept. Match it exactly. If they offer both, move to question 2.
  2. How much are you sending? On a $50 transfer, a $3 Ethereum fee is 6% — painful; TRC-20 wins. On $50,000, fees are noise either way; some prefer Ethereum’s deeper infrastructure at that size.
  3. What’s it for? Card top-ups and person-to-person transfers in Asia default to TRC-20 for a reason: cheap and fast. DeFi interactions need ERC-20 (or whatever chain the protocol lives on).

The wrong-chain trap — and the habit that beats it

The classic loss looks like this: someone copies a deposit address from an exchange, selects the wrong network on the withdrawal screen, and sends ERC-20 USDT to an address the platform only monitors for TRC-20. The funds arrive on a chain nobody is watching and sit there, unrecoverable by the sender. Some platforms can rescue such deposits for a fee; many won’t.

The habit that makes this a non-event:

  1. Read the network out loud. Before confirming, say it: “Sending USDT, TRC-20, to a T-address.” It sounds silly; it works.
  2. Match the address format to the network. T... = Tron, 0x... = Ethereum. A mismatch is a red flag — stop.
  3. Send a test amount first. $10–20 proves the whole loop (address, network, recipient crediting) before the real amount moves. This is the same rule as topping up a crypto card — because it’s the same operation.

Don’t forget the gas token

From a self-custody wallet, network fees are paid in the chain’s native token, not in USDT. A wallet holding 500 USDT on Tron but 0 TRX cannot move — you need a little TRX first (exchanges handle this automatically when you withdraw; it’s only a self-custody problem).

A note on other chains

USDT also exists on Solana, BSC, TON and more — often with fees under a cent. The same rules apply: recipient support first, address format second, test transfer third. And note that some newer networks have less exchange support, which can complicate cashing out later.

Quick reference

  • Card top-ups (RedotPay & similar): usually TRC-20 — cheapest supported option
  • Moving between exchanges: whichever both support, usually TRC-20 for cost
  • DeFi on Ethereum: ERC-20, and you need ETH for gas
  • Checking what your USDT is worth in another coin or currency: the stablecoin converter

New to the vocabulary here — gas, chains, custodial vs self-custody? The Web3 payments glossary has every term in one line each.