Dashboard · VantagePlanned

L2 Profitability: Fees Earned vs Costs Paid to Ethereum

How much does each Ethereum layer 2 earn from user fees, and how much does it pay Ethereum?

Fees each Ethereum layer 2 collects from users against what it pays Ethereum for data and proofs, with the margin left, by day and chain.

ShareEmail itvoltfincrypto.com/apps/l2-profitability
Blueprint

What the dashboard will show.

The dashboard as it will open in Vantage. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

  • Layer 2
  • Period

Overview

Revenue, costs and margin across covered layer 2s.

User fees, 30 days

USD

Fees users paid across covered layer 2s over the last 30 days.

Figurel2_activity_dailyAwaiting data

Paid to Ethereum, 30 days

USD

What the same layer 2s paid Ethereum for data and settlement over the last 30 days.

Figurel2_activity_dailyAwaiting data

On-chain margin, 30 days

USD

User fees minus Ethereum costs across covered layer 2s over the last 30 days.

Figurel2_activity_dailyAwaiting data

Costs as a share of fees

%

Ethereum costs divided by user fees across covered layer 2s over the last 30 days.

Figurel2_activity_dailyAwaiting data

Revenue, costs and margin by layer 2

USD

For each covered layer 2 over the selected period: fees users paid, costs paid to Ethereum and the margin between them.

Bar chartl2_activity_dailyAwaiting data

By chain

One layer 2's revenue and costs over time.

Margin for this L2

USD

The chosen layer 2's user fees minus its Ethereum costs over the selected period.

Figurel2_activity_dailyAwaiting data

Margin rate

%

The chosen layer 2's margin as a share of its user fees over the selected period.

Figurel2_activity_dailyAwaiting data

Ethereum costs by kind

The chosen layer 2's Ethereum costs split into blob fees, calldata gas and settlement or proof gas.

Donutblob_usage_dailyAwaiting data

Revenue and costs by day

USD

The chosen layer 2's daily user fees and daily Ethereum costs, with the margin between them.

Line chartl2_activity_dailyAwaiting data

Layer 2
Every covered layer 2
Period
Last 30 days, quarter or year
About

What it answers, and for whom.

A layer 2 collects fees from its users and pays Ethereum to publish its data and settle its state. The difference is the on-chain margin the rollup keeps. This dashboard measures both sides for each covered layer 2, from the fees in its receipts and fee vaults and from its batch and proof transactions on Ethereum.

The margin here is an on-chain measure. It leaves out costs that never touch the chain, such as running the sequencer, proving hardware and revenue-sharing agreements, so it is the gross margin on block space, not a company's profit.

Use it to compare how rollups price their block space, to see how blob prices change what they pay Ethereum or to follow one chain's economics over time. Every figure names the transactions and blocks it was summed from.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. Revenue is the fees users paid on each layer 2: gas_used times effective_gas_price, plus L1 data and operator fees on OP Stack chains, summed per UTC day and checked against fee vault balances where the stack has them.
  2. Costs are the gas and blob fees of each rollup's batch, state and proof transactions on Ethereum, identified by batcher, inbox, proposer and verifier addresses in a maintained registry.
  3. The margin is revenue minus those costs, both in ETH, converted to USD with the Chainlink ETH/USD feed at each day-end block.
  4. Chains whose users pay fees in another token are valued at an on-chain price where one exists, and their margin is left missing where none does, rather than estimated.

The data it needs

Read from chain state and history

  • l2_activity_dailyTo buildLayer 2 activity and costsPer layer 2 per day: transactions, active addresses, fees users paid on the L2, and what the L2 paid Ethereum to settle and post data.
  • blob_usage_dailyTo buildBlob usage and blob feesEIP-4844 blobs posted per day, blob gas used, blob base fee, and the rollup that posted them.
  • native_prices_dailyTo buildOracle prices by dayReference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
  • Layer 2 user fees per day: gas_used times effective_gas_price plus L1 data and operator fees from receipts
  • OP Stack fee vault balances and withdrawals: SequencerFeeVault, BaseFeeVault, L1FeeVault and OperatorFeeVault
  • Ethereum gas and blob fees of each rollup's batcher, proposer and verifier transactions, such as Base's batch inbox and Arbitrum's SequencerInbox
  • Chainlink ETH/USD latestRoundData at day-end blocks
Questions

Questions people ask.

How do layer 2s make money?

They charge users fees for block space, set above what it costs them to publish data and proofs to Ethereum. The difference goes to the chain's operator, and priority fees add to it when blocks are busy.

What do layer 2s pay Ethereum for?

For two things. One is publishing transaction data, in blobs or calldata. The other is settling state, through state proposals, fraud-proof games or validity proofs verified on Ethereum. Both are ordinary Ethereum transactions, so their fees can be read exactly.

Is a layer 2's margin the same as its profit?

No. The on-chain margin leaves out sequencer hosting, proving hardware, staff and any revenue shares a chain pays under agreements made off-chain. It shows how block space is priced against its Ethereum cost, not a company's earnings.

Why do rollup costs fall when blob capacity rises?

When blob space is plentiful, the blob base fee falls toward its floor and the cost of posting a batch falls with it. Rollups then pay Ethereum less for the same data, which the cost chart shows day by day.

Sequencer revenue
The fees a layer 2's sequencer collects from users for including their transactions.
Settlement cost
What a rollup pays on Ethereum to post its state and proofs, separate from the cost of posting data.
On-chain margin
Fees collected on the layer 2 minus fees paid to Ethereum, both read from transactions.

Build L2 Profitability: Fees Earned vs Costs Paid to Ethereum on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.