The transaction failed—why was I still charged an ETH network fee?

First, distinguish between “the wallet didn’t send the transaction” and “the transaction failed after being executed on-chain.” These two situations can result in very different charges.

Take a regular transaction on Ethereum Mainnet as an example: Gas measures the computing resources used to execute an operation. If a transaction is included in a block and then reverts during execution, the intended operation may not be completed, but resources were still used during execution, so the Gas actually consumed must be paid for.

Let’s work through a hypothetical bill:
50,000 Gas consumed, at an effective price of 20 gwei per unit.
50,000 × 20 = 1,000,000 gwei = 0.001 ETH.

The 20 gwei here is a hypothetical value, not the current network rate; 0.001 ETH is not a fixed fee charged every time a transaction fails.

Three other terms are easy to confuse:
- Gas used: how much computing power was actually used.
- Gas limit: the maximum amount of computing power the transaction is allowed to use.
- Gas price: how much you pay per unit of computing power.

A “limit of 100,000 Gas” doesn’t mean that 100,000 will definitely be consumed. A regular execution revert may use only part of that amount; a true out of gas error means the limit has been exhausted. Increasing the Gas limit also won’t automatically fix every contract error.

Conversely, if local validation fails, the user rejects the signature, or the transaction is never executed on-chain, you can’t assume you’ve paid on-chain Gas just because you see a red “Failed” message. Check the actual fee record.

Once you understand the fees, it’s clearer what to check: first find out why the transaction failed, then consider whether to retry. Repeatedly clicking confirm may simply mean paying the same execution cost for the same error again.

This article covers only the fee mechanism for regular transactions on Ethereum Mainnet. Other networks and L2s may have different fee structures.
#Ethereum #GasFees #OnChainKnowledge