TRC20, BEP20, ERC20 or Base: picking the cheap route

Four networks, meaningfully different costs, and one mistake that loses your deposit permanently. A practical guide to choosing.

Start with the mistake, because it is the only part of this that is unrecoverable.

MPay accepts USDT on BEP20, ERC20 and TRC20, and USDC on BEP20, ERC20 and Base. Send on anything else and it will not be credited. There is no published recovery process, no support queue that unwinds it, no "we found it, here you go" three weeks later. The money goes to an address on a chain nobody is watching and that is the end of the story.

Everything below is about saving a few dollars in fees. This paragraph is about not losing the whole deposit. Weight them accordingly.

You are choosing a road, not a currency

The thing people get wrong conceptually: TRC20 and ERC20 are not different kinds of USDT. They are different networks that the same USDT travels on.

TRC20 means the token moves across TRON. BEP20 puts it on BNB Chain, ERC20 on Ethereum itself. USDC rides those same EVM networks plus Base, which is built on top of Ethereum. One asset, several roads, and the road decides what the trip costs.

Which is why your wallet shows a different deposit address for each. The addresses are not interchangeable even when they look identical, and on the EVM chains they frequently do look identical, character for character. That resemblance is the entire trap.

Roughly what each one costs you

I am going to talk about this in relative terms, because network fees move hourly and any specific number I print here is wrong by the time you read it.

TRC20 is generally the cheapest way to move USDT and has been for years. BEP20 sits close behind. Base is cheap for USDC for the same structural reason: it settles to Ethereum in batches rather than paying Ethereum's full price per transaction.

ERC20 is the expensive one, and it is expensive in a way that varies wildly. Ethereum gas responds to whatever else is happening on the network, which means the same transfer can be unremarkable on a quiet Sunday and genuinely painful during a busy hour. On a small deposit the fee can be a meaningful fraction of what you are sending.

None of this is MPay's fee. It is the chain charging you to move the tokens, and you would pay it sending anywhere.

The answer is usually decided for you

Here is the part most guides skip. You are not choosing from four options in the abstract. You are choosing from whichever networks hold your existing funds, and moving between chains to reach a cheaper one usually costs more than it saves.

If your USDT already sits on TRON, send TRC20 and stop reading. If it is on BNB Chain, send BEP20. The optimisation only matters when you genuinely have a choice, and most of the time you do not.

Where it does matter is when you are buying stablecoins specifically to fund the card. At that point you are picking the network at purchase, and picking a cheap one costs you nothing extra.

The check that takes ten seconds

Before you confirm any send, put the two screens side by side. Your wallet on one, the MPay deposit screen on the other, and run these in order:

  1. Asset matches. USDT and USDC are separate deposits with separate addresses.
  2. Network matches by name on both screens. Not "close enough", not "they are both Ethereum-ish". The same name.
  3. Address pasted, never typed.
  4. First and last few characters compared after pasting.

The order matters. "Ethereum", "ERC20" and "Base" are three different things, and a wallet that labels a chain differently from how MPay labels it is precisely where this goes wrong, so the network check has to come before the address check. Comparing characters catches a corrupted clipboard. It will not catch a wrong network, which is the failure that actually costs you the deposit.

If the route is new to you, send a small amount first. Watch it arrive. Then send the rest. The fee on a test transfer is the cheapest insurance available and I have never heard anyone regret paying it.

Why the EVM resemblance is so dangerous

An address on BNB Chain and an address on Ethereum have the same format. Both start 0x. Both are forty hex characters. Nothing about looking at one tells you which chain it belongs to.

So every visual check you instinctively perform, and every check a well-meaning interface performs for you, passes. The address is valid. It is just valid somewhere else. Your wallet will let you send, the transaction will confirm successfully, a block explorer will show it as complete, and the funds will sit at an address on a chain that MPay is not monitoring.

Nothing failed. That is what makes it so unpleasant. There is no error to read.

After it lands

Confirmation times differ by chain, so a deposit that appears almost immediately on one network may take a little longer on another. Give it time before assuming something has gone wrong.

Keep the transaction hash until the balance shows up. If you do end up talking to support it is the only thing that identifies your transfer, and digging it out of a wallet's history three days later is more annoying than copying it now. Support is on Telegram, and it is worth checking the handle against the official channels list first, because impersonators target support specifically.

Then top up with a little headroom rather than the exact figure you need. Plenty of merchants run a verification check before the real charge, and an exactly-funded card fails it. That behaviour has its own explanation and it catches people constantly.

If you want the whole flow written out rather than just the deposit half, the step by step covers wallet through to checkout.

Get the card this is all about

Wallet, stablecoins, Visa number. Five minutes.