# L2 Profitability: Fees Earned vs Costs Paid to Ethereum

> L2 profitability by rollup: fees users paid against what each layer 2 paid Ethereum for blobs, calldata and proofs, with the on-chain margin by day.

Markdown copy of https://voltfincrypto.com/apps/l2-profitability

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

- Kind: Dashboard in Voltfin Vantage
- Topic: [Layer 2s](https://voltfincrypto.com/topics/layer-2)
- Chains: Multi-chain, Base, Arbitrum, OP Mainnet, ZKsync, Linea, Scroll, Unichain
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

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.

## Blueprint

### 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.
- **Paid to Ethereum, 30 days** (USD): What the same layer 2s paid Ethereum for data and settlement over the last 30 days.
- **On-chain margin, 30 days** (USD): User fees minus Ethereum costs across covered layer 2s over the last 30 days.
- **Costs as a share of fees** (%): Ethereum costs divided by user fees across covered layer 2s over the last 30 days.
- **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.

### 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.
- **Margin rate** (%): The chosen layer 2's margin as a share of its user fees over the selected period.
- **Ethereum costs by kind**: The chosen layer 2's Ethereum costs split into blob fees, calldata gas and settlement or proof gas.
- **Revenue and costs by day** (USD): The chosen layer 2's daily user fees and daily Ethereum costs, with the margin between them.

Filters: Layer 2 (Every covered layer 2); Period (Last 30 days, quarter or year).

## How it will be measured

- 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.
- 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.
- The margin is revenue minus those costs, both in ETH, converted to USD with the Chainlink ETH/USD feed at each day-end block.
- 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.

## Data it needs

- `l2_activity_daily` (to build): Per 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_daily` (to build): EIP-4844 blobs posted per day, blob gas used, blob base fee, and the rollup that posted them.
- `native_prices_daily` (to build): Reference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
- Source: Layer 2 user fees per day: gas_used times effective_gas_price plus L1 data and operator fees from receipts
- Source: OP Stack fee vault balances and withdrawals: SequencerFeeVault, BaseFeeVault, L1FeeVault and OperatorFeeVault
- Source: Ethereum gas and blob fees of each rollup's batcher, proposer and verifier transactions, such as Base's batch inbox and Arbitrum's SequencerInbox
- Source: Chainlink ETH/USD latestRoundData at day-end blocks

## Questions

### 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.

## Glossary

- **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.

## Related apps

- [Ethereum Blob Fees and Blobs per Block vs Target](https://voltfincrypto.com/apps/ethereum-blob-fees)
- [Base Chain Stats: Transactions, Users and Fees](https://voltfincrypto.com/apps/base-chain-stats)
- [Blockchain Revenue Rankings: Monthly League Table](https://voltfincrypto.com/apps/blockchain-revenue-rankings)
- [Ethereum Network Revenue: Daily Fees, Tips and Burn](https://voltfincrypto.com/apps/ethereum-network-revenue)
- [Ethereum Layer 2 List Ranked by Activity, Fees and Value](https://voltfincrypto.com/apps/ethereum-layer-2-list)
- [Ethereum TPS: Mainnet and Layer 2 Transactions per Second](https://voltfincrypto.com/apps/ethereum-tps)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
