What Is a Gas Fee? How On-Chain Fees Work on Ethereum, Tron, Solana, BNB Chain and TON, and Why They Differ So Much
Gas fees explained: how Ethereum, Tron, Solana, BNB Chain and TON charge on-chain fees, why chains differ, how withdrawal fees differ, and how to check gas.
On this page
- 1.What a gas fee is: paying the network to process a transaction
- 2.How each chain calculates gas
- 2.1Ethereum: base fee plus priority fee (EIP-1559)
- 2.2Tron: bandwidth and energy, burning TRX when short
- 2.3Solana: a fixed base fee plus a priority fee
- 2.4BNB Smart Chain: gas like Ethereum, partly burned in real time
- 2.5TON: several fees added together, prices set by the network configuration
- 2.6Layer 2: executing outside mainnet and recording data back on Ethereum
- 3.Why gas fees differ so much between chains
- 4.An exchange’s withdrawal fee is not the same money as gas
- 5.How to check the current gas fee
- 6.Before choosing a network, check the receiving side
- FAQ
When you send money on a blockchain, you pay a “gas fee” on top of the amount, which is the on-chain transaction fee. Send the same USDT on a different chain and the gas fee can be very different, because each chain charges in its own way and has a different capacity.
The short version: a gas fee is what you pay a blockchain network to process a transaction, and each chain’s rules decide it. On Ethereum it moves with how busy the network is, Tron charges in bandwidth and energy, Solana’s base fee is fixed, and TON’s prices are set by the network configuration. An exchange’s withdrawal fee is a separate thing: the exchange sets that price itself, so the same chain can cost several times more at one exchange than at another. When you send USDT, what actually matters is which networks the receiving side supports and how much the sending exchange charges to withdraw. How to choose is covered in “How to choose a USDT withdrawal network”.
This article is a summary of information and not investment advice. Each chain’s fee parameters change through upgrades or governance votes. The content here reflects each chain’s official documentation as checked on 16 October 2026; the actual fee is whatever your wallet or exchange shows before you send the transaction.
What a gas fee is: paying the network to process a transaction
No company processes transfers for you on a blockchain. Validators (or miners) pack transactions into blocks. The gas fee pays these network participants, and it also puts a cost on flooding the network with spam transactions.
The word “gas” comes from Ethereum. According to ethereum.org, gas is the unit that measures how much computation a transaction needs. Fees are paid in ETH and prices are usually quoted in gwei, where 1 gwei is one billionth of an ETH. People later started calling every chain’s on-chain fee a gas fee, but each chain actually calculates it differently:
| Chain | Paid in | How the fee is set |
|---|---|---|
| Ethereum | ETH | Gas used × (base fee + priority fee); the base fee adjusts automatically with network demand |
| Tron | Bandwidth and energy, burning TRX when short | Transaction size uses bandwidth, smart contract execution uses energy; you can stake TRX for resources |
| Solana | SOL | A base fee of 5,000 lamports per signature, plus an optional priority fee |
| BNB Smart Chain | BNB | Calculated in gas like Ethereum; part of the fee is burned in real time |
| TON | TON | Storage, computation, forwarding and other fees added together; prices set by the network configuration |
| Layer 2 (Arbitrum etc.) | ETH in most cases | Executes outside mainnet, then records the bundled data back on Ethereum |
Whatever the chain, gas is paid in that chain’s native coin. The same goes for USDT: to send USDT on Ethereum from your own wallet you need ETH for gas, and to send it on BNB Smart Chain you need BNB.
How each chain calculates gas
Ethereum: base fee plus priority fee (EIP-1559)
Ethereum introduced EIP-1559 in the 2021 London upgrade, and fees now have two parts (ethereum.org):
- Base fee: set by the protocol; a transaction must pay at least this much to be valid. If the previous block used more gas than the target (half the gas limit), it goes up; if less, it goes down, by at most 12.5% per block. The base fee is burned once paid and goes to no one.
- Priority fee (tip): paid on top to validators so the transaction is included sooner. When the network is busy, people bid higher tips for a spot.
The total fee is “gas used × (base fee + priority fee)”. Wallets also set a max fee cap, and when the actual charge is below the cap, the difference is refunded. A plain ETH transfer always uses 21,000 gas. In the ethereum.org example, with a base fee of 10 gwei and a 2 gwei tip, 21,000 × (10 + 2) = 252,000 gwei, or 0.000252 ETH. Sending an ERC20 token (such as USDT) calls a contract, which takes more computation than a plain ETH transfer, so it uses more gas.
That is why Ethereum gas fees change all the time: the same transfer is cheap when the network is quiet, and when something popular is happening the base fee keeps climbing and the fee goes up with it.
Tron: bandwidth and energy, burning TRX when short
Tron does not use gas. It charges in two resources (Tron official docs):
- Bandwidth: calculated from the transaction’s size in bytes and used by every transaction except queries. Each account gets 600 free bandwidth points every 24 hours.
- Energy: used when executing smart contracts. There is no free energy allowance; you only get it by staking TRX (or having someone delegate it to you).
When resources run short, the network burns TRX to cover them. On 16 October 2026 the official docs listed unit prices of 1,000 sun per bandwidth point and 100 sun per energy point (1 TRX = 1,000,000 sun), and noted that these are on-chain parameters that get adjusted (paying for resources).
On Tron, USDT is a TRC20 token, which is a smart contract, so sending USDT uses energy as well as bandwidth. If the account has no energy from staking, TRX is burned. That is why Tron wallets often tell you to have TRX ready before sending USDT.
Solana: a fixed base fee plus a priority fee
According to Solana’s official docs:
- Base fee: 5,000 lamports per signature (1 SOL = 1 billion lamports, so 0.000005 SOL). Half is burned and half goes to the validator.
- Priority fee: optional. Calculated as the compute unit price set on the transaction multiplied by the compute unit limit; it all goes to the validator and is used to get the transaction into a block sooner.
The base fee is fixed and does not go up when the network is busy; what you pay extra during congestion is the priority fee.
BNB Smart Chain: gas like Ethereum, partly burned in real time
BNB Smart Chain is Ethereum-compatible. It also calculates in gas, quotes prices in gwei and is paid in BNB. Part of the gas fees validators receive is burned in real time. Under BEP-95 the initial ratio is 10%, and validators can later vote to change it.
TON: several fees added together, prices set by the network configuration
According to TON’s official docs, a transaction’s fee is the storage fee, the computation fee (gas), the forwarding and action fees and the import fee added together. Each price is written into the network configuration parameters and decided by validator vote; users cannot bid a higher gas price themselves.
Layer 2: executing outside mainnet and recording data back on Ethereum
Rollups such as Arbitrum and Optimism are Ethereum’s second-layer networks (Layer 2). According to ethereum.org, a rollup executes transactions outside mainnet and bundles many transactions into one that it sends back to Ethereum mainnet, lowering the gas each user’s share comes to. Ethereum also added a cheaper kind of block space (blobs) for rollup data.
Why gas fees differ so much between chains
Put the methods above side by side and the differences come mainly from three things:
- How limited block space is allocated: Ethereum mainnet’s capacity is limited. When it is busy, the base fee rises automatically and people bid against each other with tips, so fees swing up and down. Solana’s base fee is fixed, and during congestion you pay extra in priority fees; TON’s gas price is written into the network configuration and users cannot bid on it.
- Fee units and parameters are set by governance: Tron’s bandwidth and energy prices, TON’s fee configuration and BNB Smart Chain’s burn ratio are all on-chain parameters that change through votes or upgrades. So the same chain’s fees this year may differ from last year’s.
- The native coin’s price: gas is paid in the native coin. Even if the amount of ETH or TRX you pay on-chain stays the same, its value in US dollars moves with the coin’s price.
Also, on the same chain, more complex transactions cost more. Sending the native coin is cheapest; sending a token calls a contract and uses more computation, so it costs more.
An exchange’s withdrawal fee is not the same money as gas
When you withdraw from an exchange, what you pay is the exchange’s withdrawal fee. The exchange collects that fee and pays the on-chain gas itself to send the coins out. It is a bit like shipping a parcel: the courier charges the postage, but how much the shop charges you for handling is up to the shop.
That is why you see things like these (official data from 8 October 2026, compiled in “How to choose a USDT withdrawal network”):
- The same chain costs several times more at some exchanges: withdrawing USDT on ERC20 costs about 0.094 USDT at MEXC, 0.5 USDT at Binance and 5.5 USDT at KuCoin.
- Some networks have a withdrawal fee of 0: Bitfinex charges 0 to withdraw on TRC20, TON, Arbitrum and Polygon.
- Some exchanges float with current gas: for example, BingX officially states that its withdrawal fees are calculated dynamically from on-chain gas fees, and OKX’s published figures are minimum fees that in practice adjust with network conditions.
In October 2026 I sent USDT from OKX to Bitfinex on Solana. The withdrawal page showed a network fee of 0.33 USDT, far above Solana’s base fee of 5,000 lamports per signature, which shows that withdrawal fees are not charged at the on-chain base fee. When comparing withdrawal costs, look at the fee shown on the withdrawal page, not the theoretical on-chain gas.
How to check the current gas fee
| Chain | Where to check | What to look at |
|---|---|---|
| Ethereum | Etherscan Gas Tracker | The current base fee and suggested tips for different speeds |
| BNB Smart Chain | BscScan Gas Tracker | The current gas price |
| Tron | Tronscan | Bandwidth and energy used and TRX burned, in the transaction details |
| Solana | Solana Explorer | The fee in the transaction details |
| TON | Tonviewer | The fee in the transaction details |
A few practical habits:
- Sending from your own wallet: the wallet estimates the gas fee before sending; go by that number. On Ethereum, if it is not urgent, you can wait until the network is quieter to send.
- Keep a little native coin in your wallet: without ETH, BNB, TRX, SOL or TON, you cannot send anything, even if you hold USDT.
- Withdrawing from an exchange: gas is already included in the withdrawal fee, so just compare the fee and minimum withdrawal shown for each network on the withdrawal page.
Before choosing a network, check the receiving side
A chain with cheap gas is not always usable: if the receiving side does not support the network you chose, you may not get the assets back. When you actually send USDT, first check which networks the receiving deposit page supports, then pick the one with the lowest withdrawal fee among the networks both sides have. The steps and each exchange’s withdrawal fees are in “How to choose a USDT withdrawal network”. If you have already picked the wrong network, see “USDT sent on the wrong network”; for what USDT0 and USDC.e on Arbitrum and Polygon are, see “What are USDT0 and USDC.e”.
The cost of buying and selling on an exchange (fees, spread, slippage) is a different thing from on-chain gas. See “The three parts of trading costs” and “International crypto exchange fee comparison”.
More articles are on the crypto topic page.
FAQ
What is a gas fee?
A gas fee is what you pay the network to process a transaction you send on a blockchain. Ethereum uses gas to measure how much computation a transaction needs; the fee is the gas used multiplied by the price per unit of gas, paid in ETH.
What is the difference between Ethereum's base fee and priority fee?
The base fee is a minimum price the protocol sets automatically based on how busy blocks are. It can change by at most 12.5% per block and is burned once paid. The priority fee is an extra tip to validators so the transaction gets included sooner. The total fee is the gas used multiplied by the two added together.
Why does sending USDT on TRC20 sometimes burn TRX?
Tron charges transactions in two resources, bandwidth and energy. TRC20 tokens such as USDT are smart contracts, so a transfer uses energy, and there is no free energy allowance. If the account has no energy obtained by staking TRX, TRX is burned to pay for it.
Is an exchange's withdrawal fee the same as the gas fee?
No. The withdrawal fee is a price the exchange sets itself; the exchange then pays the on-chain gas fee from its own wallet. That is why the same chain can cost several times more to withdraw on at one exchange than another, and some networks even cost 0.
Why is Layer 2 cheaper than Ethereum mainnet?
Layer 2 networks such as rollups execute transactions outside mainnet, then bundle many transactions into one and record the data back on Ethereum, so the cost is shared across many transactions. Ethereum later also added cheaper data space (blobs) meant specifically for rollups.
How do I check the current gas fee?
For Ethereum, use the Etherscan Gas Tracker; for BNB Smart Chain, the BscScan Gas Tracker. For Tron, Solana and TON, you can see what a transaction actually paid on Tronscan, Solana Explorer and Tonviewer. When withdrawing from an exchange, go by the fee shown on the withdrawal page.
Related articles
- Crypto Withdrawal Stuck or Under Review for Hours? Why It Sits at Under Review, Processing or Sent Without Arriving, and the Official Processing Times at Binance, OKX, Bybit and BitgetWithdrawal stuck? Check the withdrawal history for a transaction ID to see if it is held by the exchange, on-chain or the receiver. Binance, OKX, Bybit, Bitget.
- How to Withdraw from an International Exchange to Your Bank: USDT to a Taiwanese TWD App, a USD Wire, or P2P, Fees and Risks ComparedThree routes from an international exchange to a bank: USDT to MAX or BitoPro for TWD, a USD wire from Bitfinex, or P2P. Fees, minimums, timing and risks.
- What Are USDT0 and USDC.e? Bridged Stablecoins vs Native USDT and USDC, and Whether Exchanges Accept ThemUSDT0: the USDT you send or receive on Arbitrum and Polygon is USDT0, same contract; Optimism is where mistakes happen. USDC.e and 8 exchanges' deposits.

Jason
Account Manager in Google Large Customer Sales and Columbia MBA admit, sharing the money tools and experience he actually uses.
Comments
Sign in with Google to comment. Your comment will not show your Google profile picture or name; it appears under a randomly generated nickname to protect your privacy.
By signing in you agree to this site's privacy policy.