Transfer networks and fees
A coin usually exists on several separate networks, and the same name with the same logo is a different ledger on each one, so the sender and the receiver have to pick exactly the same network. The fee has nothing to do with how much you send: each network charges for the space you occupy or the computation you cause, and the price moves with congestion at that moment.
- Lesson 6 of 8
- Intermediate
- Free, no signup
Three networks, three ways of pricing, and the thing none of them charges for
The first three cells are one network each, with what it charges for beside it. The fourth is the thing all three have in common.
-
Bitcoin: paid by the byte
The fee comes from the byte size of the signed transaction and the price per byte from current demand for block space. The amount you send is not part of it.
-
Ethereum: paid for computation
Gas used, times the base fee plus a tip. The base fee moves at most 12.5% per block and is burned.
-
Tron: paid in resources
Every account gets a free 600 bandwidth daily quota and energy has no free quota at all. If resources fall short, the network burns TRX from the sender balance.
-
None of them: your amount
None of the three charges for the amount you send. Ten dollars and ten thousand dollars with the same structure cost the same.
This table is not a cheapness ranking. Which one is cheaper today changes by the hour, which is exactly why no fee number appears anywhere in this lesson.
Last checked: Facts and tool names in this lesson are re-checked against their sources on this date.
Why one USDT on two networks is two different things
USDT is not one token copied to a few places. Tether says on its own explainer page that issuance happens "on various blockchains with varying capabilities depending on the transport protocol used", and names thirteen of them: Algorand, Avalanche, Celo, Cosmos, Ethereum, EOS, Liquid Network, Near, Polkadot, Solana, Tezos, Ton and Tron. Thirteen separate ledgers, none of which reads any of the others.
A transfer network is simply the ledger your transaction gets written into. When you withdraw from an exchange you are choosing two things and not one: which token, and onto which ledger. A wallet that shows you the word USDT has told you the first and not the second.
The evidence for that sits in our own code. The crypto top-up registry behind the RGB panel knows nine assets and two of them are both called USDT: one on Tron with 6 decimals, one on BNB Smart Chain with 18 decimals. So "one USDT" is a million small units on Tron and a billion billion of them on BNB Smart Chain. One name, one logo, two counting scales. Code that treats the pair as interchangeable reads the amount wrong by a factor of a trillion.

Which network do I pick?
The rule is one sentence and the rest of this lesson explains that sentence: the receiver decides the network and you match it. The destination service names the network on its deposit page. Your job is to find that same string on the withdrawal page and select it, not something that resembles it and not something that is cheaper.
The big temptation is to infer the network from the address itself. Inside the Ethereum family that does not work at all, and our own code shows why: the address validation pattern for Ethereum, for USDT on BNB Smart Chain and for BNB itself is one identical string, 0x followed by forty hexadecimal characters. Our validator cannot tell those three apart because they are not tellable apart; the same twenty bytes are a valid address on all three chains.
The shape of an address narrows the family and never the network. A Tron address starts with T, a TON address with EQ or UQ, a Bitcoin address with bc1 or 1 or 3. Those differences tell you "this is not a Tron address"; they never tell you "this is an Ethereum address rather than a BNB Smart Chain one".
Three habits worth having: read the network name on both screens side by side and confirm they say the same thing; if the deposit page shows an extra field such as an identifier or a memo, that field is not optional; and send a small amount the first time, if the destination has not set a minimum. A small first transfer costs one extra fee and is worth it.
A question whose two answers arrive at the same place
Does the destination address start with 0x?
It could be any chain in the Ethereum family
- the same twenty bytes are valid on Ethereum and on BNB Smart Chain
- our validator uses one identical pattern for all three EVM assets
- so the network cannot be read off the address
The family narrows, the network does not
- T means Tron, EQ or UQ means TON, bc1 means Bitcoin
- but one family still carries several different tokens
- so read the network name off the deposit page anyway
This diagram deliberately has two branches that reach one conclusion. At best the shape of an address narrows the family, and it never tells you the network name.
Where the fee comes from, and why no number is printed here
Three networks, three completely different logics. Understand these and any new network falls into place on its own.
The official Bitcoin developer guide says transactions "pay fees based on the total byte size of the signed transaction" and that fees per byte "are calculated based on current demand for space in mined blocks with fees rising as demand increases". Miners then order transactions by fee per byte and take from the top until the space is full. The consequence: sending ten dollars and ten thousand dollars with the same structure costs exactly the same. You are not paying for money moved, you are paying for space occupied.
Ethereum charges for computation rather than bytes. Ethereum's own documentation gives the formula: units of gas used, multiplied by the sum of the base fee and the priority fee. The base fee is set by the protocol and moves "by a maximum of 12.5% per block" up or down depending on whether the previous block was fuller or emptier than the target size, and that base fee is burned when the block is created, removed from circulation. The priority fee is the tip you add to make your transaction attractive to a validator.
Tron has a third model: instead of paying cash you consume resources. The Tron developer documentation says bandwidth covers the byte size of a transaction and energy covers contract execution, that every account receives a free 600 bandwidth daily quota, that energy has no free quota at all and must be obtained by staking TRX or having it delegated, and that when neither is enough the network falls back to "burning TRX from the sender's balance at fixed rates" and the transaction goes through anyway. That is why a transfer on Tron is nearly free for an account with TRX staked and is not free for an empty one.
Now the uncomfortable part. This lesson prints no fee number, deliberately. The fee on all three networks is a live market that moves by the hour; a number written today is wrong tomorrow, and a page carrying a stale number is worse than a page carrying none. What does not go stale is the three shapes above. Read the number where it is somebody's responsibility: the withdrawal page of the service you are sending from shows you that moment's fee before you confirm.
How many confirmations means done?
A transaction written into a block is not yet fully final. Every block built after it adds one confirmation and makes reversing it more expensive. The receiving service decides how many confirmations are enough, and that number is its choice rather than the network's.
Here are ours, read from the live crypto top-up registry behind the RGB panel: Bitcoin 1, Litecoin 2, Dogecoin 4, Ethereum 12, BNB Smart Chain 15, and Tron and TON 1. For Tron and TON the 1 is technical rather than a statement of trust: the services we read return only finalised transactions, so the "seen but not yet confirmed" stage does not exist on those two at all.
Now the part that is usually read backwards. A confirmation count is not comparable between two networks. Ethereum's documentation says the block time is 12 seconds, so 12 confirmations is about two and a half minutes. Bitcoin's documentation defines the difficulty target as 2,016 blocks in 1,209,600 seconds (two weeks), which is one block per 600 seconds on average, so a single confirmation on Bitcoin averages ten minutes. Our 15 on BNB Smart Chain is more cautious than our 1 on Bitcoin and still finishes sooner. Read a confirmation count next to that network's block time or your conclusion comes out inverted.
The four stations of a transfer, from send to credit
-
1
Submitted
the transaction is signed, broadcast, and sits in the queue
-
2
In a block
the fee you offered decides how soon it gets picked
-
3
Confirmations
each later block adds one confirmation and makes reversal costlier
-
4
Credited
the destination has its own threshold and will not credit you before it
The fourth station does not belong to the network, it belongs to the receiving service. Its rule can be stricter than the chain's and can ask for more waiting.
What actually goes wrong
There are three failure shapes that repeat, and none of them is the one a beginner is afraid of.
One: the exchange deducts the fee from the amount itself. You send 50 USDT and the destination sees 49 and change, and if the destination system is looking for an exact amount the match fails. This is common enough that our own top-up system has a dedicated recovery path for it: the user submits the transaction hash, we verify that hash on the chain, and we credit in proportion to what actually arrived, at the rate locked when the invoice was issued. The amount comparison happens in the network's smallest unit as a string through bcmath and never in floating point, because in money a rounding error is not a glitch, it is a discrepancy.
Two: the wrong network to a service's deposit address. Here everything depends on who holds the private key. If the address is your own wallet and you hold its key, the money on that other chain really is there and is usually reachable by importing that same key into a wallet that supports the network. If the address belongs to an exchange, you do not hold the key and nothing you do at your end changes that; a return, if it happens at all, is that service's favour and not your right.
Three: you have the token and no fuel. You hold USDT on BNB Smart Chain but your BNB balance is zero, so you cannot move it. The token and the fuel that moves it are two separate assets, and this is true on every contract chain. Before sending a token to a wallet, send a little of that network's own coin along with it.
One warning attached to the list above: any "support agent" who arrives in your private messages offering to reverse a wrong transfer is a scammer. The shape of that fraud is unpacked in the lessons of the security track.
The fast path, with AI
The usual way is to go looking, before every transfer, for an article that says which network is better, and to land on a number from six months ago. The faster way is to skip the article entirely: the two screens already in front of you, the source withdrawal page and the destination deposit page, contain everything you need, and what remains is a field by field comparison. A language model is good at exactly this, because it is reading text you pasted rather than claiming knowledge about a market.
- From the destination deposit page copy four things: the asset name, the network name exactly as written, the start of the address, and any extra field such as an identifier or a minimum amount.
- From the source withdrawal page copy the same four, plus the name of the network you have selected in the dropdown.
- Put both into the recipe below and ask the model to report only the differences and to refuse to guess.
- If the answer says they match, compare the network name on both screens with your own eyes once more anyway. The model is not the decision maker, it is a second pair of eyes.
Copy-ready recipe
Compare the two texts below. The first is from the destination deposit page and the second from the source withdrawal page.
[DESTINATION DEPOSIT]
{full text of the deposit page}
[SOURCE WITHDRAWAL]
{full text of the withdrawal page, including the network I selected}
Report only these four things and write nothing else:
1. Whether the asset name is the same in both texts.
2. Whether the network name is the same in both texts. If the two names differ, say they differ and do not guess that they might be the same thing.
3. Which other mandatory field the destination asks for that is not filled in the second text (identifier, memo, minimum amount).
4. If the network is a contract chain, whether the second text shows a balance of that network own coin for the fee.
Give no opinion about fees or about which network is cheaper. Wherever the information is missing, write "not in the text".
Before you trust the output: This recipe is written for a fast, cheap model of the Gemini Flash class; the work is text comparison and a stronger model adds nothing to it. Our current pick is written up in the <a class="text-link" href="/ai/">AI section</a>. Two boundaries that matter more than the recipe: a model may wrongly treat two network names as the same thing, so the deposit page remains the only authority; and a private key or wallet recovery phrase never goes into any chat, not even "to be checked".
AI in this kind of work
On this topic AI does one thing well and one thing it should not do at all. The good one is reading long, cluttered deposit and withdrawal pages and pulling the fields out. The one it should not do is tell you today's fee or which network is cheaper right now; that is a live market and the model does not hold the number.
Tools that actually help
- Claude For pasting the full text of both pages and getting a field by field comparison. It holds long text well, which is the whole job of this recipe.
- Gemini The same job at a lower cost. For a text comparison that needs to know nothing from outside, the fast cheap tier is enough.
- NotebookLM For when you want the answer to come only from the network's or the service's own documentation: you load the source and ask against it rather than against the model's memory.
Where it backfires
The real risk here is not a wrong answer, it is what you paste in yourself. Google writes in the Gemini Apps privacy notice that "a subset of chats are reviewed by human reviewers" and says plainly "please don't enter confidential information that you wouldn't want a reviewer to see", with human reviewed chats retained for up to three years. A private key or a wallet recovery phrase is exactly the kind of text where whoever holds it owns the money; sending one into any chat, even "to check that it is right", is the moment you lose it. A destination address and a transaction hash are public and pasting them is fine.
Sources: Gemini Apps Privacy Notice, Google
Where this advice stops
What this lesson knows comes from building and reading, not from payment volume. Since the crypto top-up path on our own panel was switched on it has opened four invoices and all four expired without payment, so we can tell you what the code and the chains do and we cannot tell you what a thousand real payments would teach. Separately, the list of networks a service accepts and the fee on each of them both move; this page was verified on 7 September 2026 and the service's own deposit page always outranks it.
From our own work
The crypto top-up registry behind the RGB panel knows nine assets, and the three things this lesson stands on are written there as code: USDT on Tron with 6 decimals and USDT on BNB Smart Chain with 18 decimals, side by side in one file; the address validation pattern for Ethereum, for USDT on BNB Smart Chain and for BNB, all three one identical string; and the confirmation minimums, which are 1 for Bitcoin and 15 for BNB Smart Chain. The transaction hash claim path exists for exactly the case where an exchange deducted the fee from the amount and exact matching failed.
Real follow-up questions
If I sent on the wrong network, do I get my money back?
It depends on who holds the private key for that address. If the address is your own wallet, the money is there on that other chain and you usually reach it by importing the same key into a wallet that supports the network. If the address belongs to an exchange or a service, you do not hold the key, and returning the money is their decision with no guarantee.
Does the fee depend on how much I send?
The network fee does not. Bitcoin charges for the byte size of the transaction and Ethereum for the computation it performs, so ten dollars and ten thousand dollars with the same structure cost the same. The withdrawal fee an exchange charges you is a different thing and can be a percentage; do not confuse it with the network fee.
Which network is the cheapest?
The honest answer is that it changes, and any page that hands you one fixed name is repeating a stale number. The right question is: which networks does the receiver accept, and which of those shows the lower fee on the source withdrawal page at this moment. If the receiver accepts only one network, the cheapness question does not arise at all.