How gas is charged
How the fee is calculated
Two numbers multiply together.
Gas used is the amount of work. A plain transfer of ETH costs 21 000 units, always. Moving a token like USDT costs more, because a contract has to run. Interacting with a complex application costs more again.
Gas price is what you pay per unit, quoted in gwei. One gwei is a billionth of an ETH, and this is the number that moves constantly with demand.
Multiply them and you have the fee. The important consequence is that a transfer of ten dollars and a transfer of ten million dollars cost exactly the same, because the work is identical. The network fee has no relationship to the amount.
Why it spikes
Block space is limited and allocated by auction. When more people want their transactions included than fit in the next block, they bid the gas price up, and everyone pays the new level.
Since a 2021 protocol change the fee splits into a base fee, which the network sets algorithmically and destroys, and a priority tip that goes to the validator. The base fee rises when blocks are full and falls when they are not, which smooths the spikes without removing them.
Spikes cluster around events: a popular token launch, sharp market movement, anything that makes many people want to transact at once.
How to pay less of it
Four ways to pay less
Use a different network
The largest saving by far, and the simplest. The same stablecoin transfer costs several dollars on Ethereum, around a dollar on TRON, and a fraction of a cent on Solana or TON. For a twenty-dollar payment this is not a marginal difference.
Use a layer 2
On Base or Arbitrum the same operation costs cents while settling back to Ethereum. The layer 2 entry covers the trade-offs.
Wait
Gas prices follow daily and weekly patterns. A non-urgent transfer sent during a quiet period costs a fraction of one sent at a peak.
Set the limit correctly
Setting the gas limit too low makes the transaction fail while still consuming the gas it used, which is the worst outcome available. Wallets estimate this, and overriding the estimate downward is rarely a good idea.
TRON handles this differently
Worth knowing, because it explains why TRON transfers are often free.
Instead of charging per transaction, TRON allocates energy and bandwidth that regenerate daily and can be obtained by staking TRX. A wallet with enough staked covers regular transfers without spending anything. A wallet with neither staked TRX nor a TRX balance still cannot move anything, for the same reason described in the entry on native tokens.
What a merchant needs to know
One thing, and it decides which networks to enable.
Gas is paid by whoever sends. For an incoming customer payment that is the customer, so an expensive network costs you conversions rather than money: a payer facing a four-dollar fee on a thirty-dollar order frequently abandons the checkout.
For outgoing payouts the merchant pays, and at volume the network choice becomes a real line item. The setup guide covers how this fits into the wider decision.