Getting started

Why estimated and final gas fees can differ

Distinguish an estimate, a fee cap, and actual usage when reading wallet prompts and transaction receipts.

Why estimated and final gas fees can differ

An estimate comes before execution

A wallet estimate helps describe a potential cost before submission. Network conditions and the computation used during execution affect the outcome.

A limit is not a receipt

Gas limits and per-unit fee caps constrain a transaction. They do not mean the full allowance is always spent. Use the network transaction receipt for the actual charge.

How the final fee is calculated

On Ethereum and most EVM networks, the fee you finally pay is the gas actually used multiplied by the price that actually applied. A wallet's confirmation screen usually shows three numbers:

  • Gas limit: the most gas the transaction may consume. Gas left unused is not charged.
  • Max fee: the highest price you are willing to pay per unit of gas.
  • Priority fee (the tip): the part paid to whoever includes the transaction in a block.

The price that applies is the base fee of the block that includes your transaction plus the priority fee, capped at your max fee. On Ethereum mainnet the final fee is therefore at most the gas limit times the max fee, and usually less; layer-2 networks add a data fee, covered in the next section.

Why the estimate and the final amount differ

  • Unused gas is not charged: wallets add headroom to the expected usage, so actual consumption is often lower.
  • The base fee moves: on Ethereum it can rise or fall by up to 12.5% from one block to the next, and several blocks may pass between submitting and inclusion.
  • Execution depends on the state at that moment: swaps or batch claims can meet a different price, balance or route at execution time, which changes the gas used.
  • Layer-2 networks add a data fee: on networks such as Base, Arbitrum and Optimism, the fee covers both the layer-2 execution and the cost of posting the transaction data to Ethereum. That second part follows Ethereum's fees, so layer-2 estimates can drift further from the final amount.
  • Fiat conversions lag: wallets convert the fee into dollars or another currency at the price of the moment, so the fiat figure changes when the token price does.

Failure can still consume resources

A transaction executed by the network can fail after using computational resources. A failure label does not imply that no fee was paid.

Finding what you actually paid

Open the transaction in a block explorer and read three fields: Gas Used, Effective Gas Price and Transaction Fee. Layer-2 transaction pages usually list the fee for posting data to Ethereum separately. When you compare two transactions, use these receipt figures rather than the wallet's estimate at the time.

Do not lower the gas limit below the wallet's estimate to save money: if consumption exceeds the limit, the transaction fails and the gas already consumed is still charged. For gas basics, see what gas fees are; to check a transaction, see what a transaction hash is.

Compare fees for the same network and action

Keep the network, operation, and units consistent. A token quantity and a currency amount from another network cannot be compared without additional context.

Sources

Further reading