This article covers how Ethereum gas fees work at a mechanical level, and the specific, practical techniques available in 2025 to reduce what you pay. Gas costs have changed significantly since EIP-4844 landed in March 2024 — most optimization guides haven't caught up.
What Gas Actually Is (and Isn't)
Every operation on Ethereum costs computational effort. Gas is the unit that measures that effort — not a currency, but a metering system. Sending ETH costs 21,000 gas. Swapping tokens on a decentralized exchange might cost 150,000–300,000 gas. The price you pay in ETH depends on two things: how much gas your transaction uses (fixed by what you're doing) and how much each unit of gas costs at that moment (set by network demand). Most people conflate these. They're separate levers, and optimizing each one requires different techniques.
- Gas limit is the maximum gas your transaction can consume — you set this, and unused gas is refunded
- Base fee is the minimum price per gas unit, adjusted automatically every 12 seconds based on how full the previous block was
- Priority fee (or tip) is what you pay the validator on top of the base fee to incentivize inclusion
- Your total cost = gas used × (base fee + priority fee), denominated in gwei (one billionth of an ETH)
- The base fee is burned (destroyed), not paid to validators — this has been true since EIP-1559 in August 2021
What this means practically: You can reduce costs by either doing less on-chain (less gas used) or transacting when demand is lower (cheaper gas price). The best results come from doing both.
How EIP-4844 Changed the Cost Landscape
Before March 2024, Layer 2 networks posted their transaction data directly into Ethereum calldata — the most expensive storage option. EIP-4844 (also called Proto-Danksharding) introduced blobs, a new cheaper data type specifically designed for Layer 2 rollups. This is where most explanations go wrong: EIP-4844 didn't make Ethereum mainnet cheaper. It made Layer 2 networks dramatically cheaper by giving them a dedicated, low-cost channel to post data back to Ethereum.
- Blob data has its own fee market, separate from regular Ethereum gas fees
- Layer 2 transaction costs dropped roughly 90–99% after EIP-4844 went live
- Blobs are automatically pruned after roughly 18 days — they're temporary by design, not permanent storage
- Mainnet (Layer 1) gas prices for direct transactions remain governed by the same EIP-1559 mechanism as before
- The practical ceiling is about 6 blobs per block currently, with plans to increase this via PeerDAS in a future upgrade
What this means practically: If you're optimizing for cost in 2025, the single highest-impact move is using a Layer 2 network instead of transacting on mainnet directly.
Layer 2 Networks: The Biggest Single Optimization
Layer 2 (L2) networks are separate blockchains that process transactions off Ethereum mainnet but inherit its security by periodically posting proof of those transactions back to Ethereum. The two main types are optimistic rollups (like Arbitrum and Optimism, which assume transactions are valid unless challenged) and ZK rollups (like zkSync and Starknet, which submit mathematical proofs of validity). Both are radically cheaper than mainnet for most operations.
- A token swap on Ethereum mainnet might cost $2–8 in gas; the same swap on Arbitrum or Base typically costs $0.01–0.10
- Bridging assets from mainnet to an L2 costs a one-time mainnet transaction fee, after which all activity on the L2 uses its cheaper fee structure
- Not all L2s are equivalent — check that the specific protocol or token you need is deployed on your chosen L2 before bridging
- Some L2s offer native account abstraction, letting you batch multiple operations into a single transaction (further reducing per-action cost)
What this means practically: For most users doing standard DeFi or NFT operations, moving to a well-supported Layer 2 eliminates gas as a meaningful concern.
Timing Your Mainnet Transactions
When you must transact on mainnet — bridging assets, interacting with contracts that only exist on L1, or making governance votes — timing matters. The base fee fluctuates with demand, and demand follows predictable patterns tied to time zones and market activity.
- Base fees tend to be lowest on weekends and during early morning hours (UTC), when US and European trading activity is minimal
- Gas price trackers like Etherscan's gas tracker or Blocknative show current base fees and short-term trends in real time
- Setting a lower max fee and waiting for inclusion can save 20–40% compared to accepting the suggested fee during peak hours
- Avoid transacting during NFT mints, major token launches, or market crashes — these events spike fees unpredictably, sometimes to 10–50x normal levels
- Most wallets let you customize your max base fee and priority fee; setting these manually instead of accepting defaults is the simplest form of optimization
What this means practically: If your transaction isn't time-sensitive, checking current gas prices and waiting a few hours can meaningfully reduce cost.
Smart Contract-Level Optimizations
This section matters if you're deploying or choosing between contracts — not just sending simple transactions. The way a smart contract is written determines how much gas every user pays to interact with it. Well-optimized contracts are cheaper for everyone.
- Storage operations are the most expensive EVM operations; writing a new value to storage costs 20,000 gas, while reading costs 2,100 gas — contracts that minimize storage writes cost less to use
- Packing multiple small variables into a single 32-byte storage slot reduces the number of write operations (e.g., storing two uint128 values in one slot instead of two separate slots)
- Using events (logged data) instead of on-chain storage for data that only needs to be read off-chain costs roughly 8 gas per byte versus 20,000 gas per storage slot
- The ERC-4337 account abstraction standard, now widely supported in 2025, enables transaction batching at the wallet level — bundling approvals and swaps into a single transaction instead of two
- Access lists (introduced in EIP-2930) pre-declare which storage slots a transaction will touch, reducing the gas cost of the first access to each slot from 2,600 to 2,100 gas
What this means practically: When choosing between protocols that do the same thing, the one with lower gas costs per operation is usually the better-engineered contract — and you can verify this by comparing actual gas used in block explorers.
A Step-by-Step Gas Optimization Workflow
Here's the order of operations for minimizing what you spend on gas, starting with the highest-impact actions.
1. Check if your action can happen on a Layer 2. Most major DeFi protocols and many NFT platforms now operate on Arbitrum, Base, Optimism, or zkSync. This alone can reduce costs by 90% or more. Do this first because it determines whether the remaining steps even matter.
2. If you must use mainnet, check current gas prices. Use a live gas tracker. If the base fee is significantly above the 7-day average, wait — unless urgency requires immediate execution. This step comes second because timing only applies to mainnet transactions.
3. Customize your gas settings in your wallet. Set a max base fee you're willing to pay rather than accepting the wallet's suggestion, which often adds a buffer. Set priority fee to 1–2 gwei for non-urgent transactions. This step matters because defaults are designed for speed, not savings.
4. Batch transactions when possible. If you need to approve a token and then swap it, use a protocol or wallet that supports bundling both into one transaction via ERC-4337 or native batching. Ordering this after fee customization ensures each batched action is also price-optimized.
5. Review what you're actually paying. After the transaction confirms, check the gas used on Etherscan. If a contract consistently uses more gas than alternatives for the same action, switch. This feedback loop is how you build a practical intuition for gas costs over time.
Quick Recap
- Gas measures computational effort; gas price measures demand — they're separate, and you can optimize both independently
- Moving to Layer 2 networks is the single most effective gas optimization available in 2025, made dramatically cheaper by EIP-4844's blob data
- Timing mainnet transactions for low-demand periods and manually setting gas parameters saves 20–40% versus accepting wallet defaults
- At the contract level, storage operations dominate costs — protocols that minimize storage writes are cheaper for every user