MrDeFi
Layer 2 & Scaling2026-06-204 min read

Understanding L2 Gas Fees: L1 Data Cost vs Execution Cost

L2 transaction fees split into an L1 data-posting cost (mostly blob fees since EIP-4844) and an L2 execution fee paid to the sequencer.

Every transaction fee you pay on a Layer 2 splits into two distinct components: an L1 data cost, which covers your share of posting the transaction batch back to Ethereum (largely paid via blob fees since EIP-4844), and an L2 execution fee, which compensates the sequencer for actually running the computation, and understanding the split explains why fees move the way they do.

Why the fee isn't just one number

If you've watched L2 gas fees fluctuate, you may have noticed they don't always move in lockstep with Ethereum mainnet's own gas price, and they don't always move in lockstep with how busy the L2 itself feels either. That's because these are genuinely two separate cost drivers, priced somewhat independently, and your total fee is the sum of both.

Component one: the L1 data cost

Rollups need to publish the underlying transaction data behind their batches somewhere Ethereum-secured and publicly verifiable — this is the "data availability" piece that lets anyone reconstruct or verify the L2's state independently. Since EIP-4844 (March 2024), rollups do this mostly through blobs, a cheaper, purpose-built data type separate from regular Ethereum transaction calldata. Blob prices float according to their own supply-and-demand market, distinct from regular Ethereum gas — meaning it's possible for L1 execution gas to spike (say, due to a popular NFT mint) while blob prices stay comparatively calm, or vice versa.

Your L2 transaction's share of this cost depends on how large your transaction's data footprint is relative to everyone else's in the same batch, and how full that batch was overall — a batch with more transactions splits the fixed cost of posting it across more participants.

Component two: the L2 execution fee

Separately, the L2's own sequencer charges a fee for actually executing your transaction — running the computation, updating the L2's internal state, and including you in the next batch. This fee is generally set by the L2's own gas market and reflects the L2's own current demand, similar in spirit to how Ethereum mainnet gas prices reflect L1 demand, just at a much lower baseline cost since the L2 doesn't carry the full weight of independent, decentralized L1-grade consensus.

Side-by-side

Component What it pays for Priced by Typical share of total fee post-EIP-4844
L1 data cost (blob fee) Publishing batch data to Ethereum for availability/verification Ethereum's blob fee market Often the smaller share since EIP-4844, though it varies
L2 execution fee Actually running your transaction The L2's own sequencer/fee market Often the larger relative share day-to-day

The exact split shifts over time and across different L2s — during periods of high Ethereum blob demand, the L1 component can become a larger share again; during a surge in demand on a specific L2, its own execution fee component can dominate instead.

Why this matters practically

Knowing the split helps explain seemingly odd situations — for example, why fees on a given L2 might rise even though Ethereum's own gas price looks calm (a surge in that L2's own usage), or why fees might spike across every L2 simultaneously (a spike in Ethereum's blob fee market, which every rollup shares). It also explains why gas fees on L2 are generally lower than L1 in the first place — the fixed cost of the data-posting component gets spread across every transaction in a batch, rather than charged individually the way L1 gas is.

What to actually watch if fees matter to you

If you're timing a large transaction to minimize fees, it's worth checking both Ethereum's current gas/blob conditions and the specific L2's own current activity level, since either one independently affects your total cost. Live network activity and fee conditions across chains can be tracked on /chains.

A simple mental model to keep

It can help to think of the L1 data cost as a shared utility bill split among everyone in a batch, while the L2 execution fee is more like a per-person service charge. A quiet period on Ethereum with cheap blobs, combined with a busy moment on a specific L2, could in principle mean the execution fee actually makes up the larger part of your total cost that day — the reverse of what's typical. Checking a block explorer or the L2's own fee dashboard, where available, is the most reliable way to see the current split rather than assuming it's fixed.

Bottom line

L2 gas fees aren't a single, simple number — they're the sum of an L1 data-posting cost (largely blob fees since EIP-4844) and a separate L2 execution fee set by the rollup's own sequencer market. Both components can move independently, which is why L2 fees sometimes decouple from what Ethereum mainnet gas prices are doing on any given day.

Related articles

This article is for educational purposes only and is not financial advice. DeFi involves significant risk, including total loss of funds. Always do your own research.