Fees, gas and why transactions fail
Fees are the most common source of confusion after seed phrases, and the easiest to get permanently right.
What you are paying for
A fee pays the network to include and execute your transaction. On Ethereum it is measured in gwei, a tiny fraction of ETH, multiplied by how much computation your transaction needs. A simple send is cheap. A complex swap through several pools costs more.
Why a failed transaction still charges you
Validators performed the work. The contract rejected the outcome. The work still happened, so it is still paid for. This is by design rather than a fault, and it is why raising slippage blindly is expensive.
Layer 2s change the arithmetic completely
The same swap that costs several dollars on Ethereum mainnet costs cents on Base, Arbitrum or Optimism. If you are moving small amounts, using mainnet is simply the wrong choice.
How to stop overpaying
- Check a gas tracker before large transactions. Fees swing enormously across the day and weekends are usually cheaper.
- Use a layer 2 for anything routine.
- Batch actions where a protocol allows it.
- Do not raise slippage to force a transaction through. Work out why it is failing instead.
BEFORE YOU MOVE ON
Common questions
Why do I need ETH to move USDC?
Fees are always paid in the chain's native coin, never in the token you are moving. USDC on Ethereum needs ETH for gas.
Why was I charged for a transaction that failed?
Validators performed the computation before the contract rejected the result. The work happened, so it is paid for.
Risk warning: crypto is highly volatile and largely unregulated. You can lose everything you put in. Nothing here is financial, investment or tax advice.
