L1 Data Fee vs Execution Gas on Arbitrum: Understanding Your Receipt
When you look at an Arbitrum transaction receipt, you see two separate fee components: the execution gas (what you’d pay on Ethereum for computation) and the L1 data fee (the cost of posting your transaction data to Ethereum’s base layer). The total fee you pay is the sum of both, and understanding the split is the key to predicting - and reducing - your costs.
Why arbitrum charges two fees
Arbitrum is an optimistic rollup. It processes transactions off-chain (on its own sequencer) but must periodically submit compressed batches of those transactions to Ethereum for final settlement. The L1 data fee covers the cost of that submission. The execution gas covers the computation Arbitrum itself performs to run your transaction.
The two fees are calculated independently and appear as separate line items on block explorers like Arbiscan. Your wallet (MetaMask, Rabby, etc.) combines them into one total estimate before you sign.
Execution gas on arbitrum
Execution gas on Arbitrum works much like on Ethereum but with lower costs. The sequencer processes your transaction, performs any necessary EVM operations (like token transfers or contract calls), and charges a fee in gwei.
Key points: - The execution gas price on Arbitrum is typically far below Ethereum’s - often 0.01 gwei or less. - The gas limit you set for a transaction on Arbitrum behaves the same way as on Ethereum: you estimate the units of computation needed, and unused gas is refunded. - Complex operations (swaps, contract interactions) cost more execution gas than simple transfers.
L1 Data Fee (The "Batch Fee")
This is the part that surprises many users. Every Arbitrum transaction must have its data (the calldata) posted to Ethereum so the rollup remains secure. Arbitrum pays Ethereum gas for this, and passes the cost to you.
How it’s calculated: - Arbitrum compresses your transaction data (stripping unnecessary bytes) to reduce size. - The compressed data size is multiplied by a dynamic L1 gas price, which is based on current Ethereum base fees plus a small premium. - Arbitrum then adds a fixed overhead per transaction (a small constant) and scales the result down using a fraction (the L1 gas price ratio) to convert the Ethereum cost into Arbitrum’s native fee token.
The result appears on your receipt as the L1 data fee. It can vary significantly based on: - Ethereum congestion - When Ethereum base fees are high, the L1 data fee rises. - Transaction data size - A simple ETH transfer needs very little calldata (21 bytes); an ERC-20 transfer or a swap requires more (often 100+ bytes), so it costs more to post.
How to read your arbitrum receipt
On Arbiscan, a typical transaction details page shows two fee lines:
- Gas Used by Transaction - The execution gas units consumed.
- L1 Data Fee - The amount paid for posting data to Ethereum (denominated in ETH).
You can also see the Effective Gas Price, which is the total fee (execution + L1) divided by the gas used. This is a blended rate that helps you compare costs across different L2s.
What affects the total fee
| Factor | Effect on Execution Gas | Effect on L1 Data Fee |
|---|---|---|
| Transaction complexity | Higher (more computation) | Little to none |
| Calldata size | Little to none | Higher (more bytes to post) |
| Ethereum base fee | None | Higher (directly scales) |
| Arbitrum sequencer load | Minor (can raise execution price) | None |
How to Pay Less on Arbitrum
Reduce calldata. The single biggest lever you have is minimizing the data your transaction sends. For example:
- Use transfer instead of approve + transferFrom when possible.
- If you’re interacting with a contract, choose functions that take shorter arguments (e.g., smaller numbers, fewer addresses).
- Batch multiple actions into one transaction using Multicall (see our separate guide). A single batched transaction posts one set of calldata instead of several.
Time your transaction. The L1 data fee rises and falls with Ethereum base fees. Use a gas tracker to check Ethereum congestion. If you can wait an hour, you might cut the L1 data fee in half.
Check Arbitrum’s own fee estimates. Tools like Arbitrum’s bridge or wallet plugins often show a breakdown before you confirm. Look for the “L1 fee” or “total fee” line and adjust your timing accordingly.
Use a lower execution gas price. You can set a lower execution gas price on Arbitrum without risking your transaction getting stuck - the sequencer usually accepts very low values (0.01 gwei or less). However, during network congestion, the sequencer may reject extremely low prices. Start with the wallet’s default and only reduce if you’re patient.
What about other l2s?
Not all rollups charge an L1 data fee separately. Optimism uses a similar model. ZK-rollups like zkSync Era and Scroll also have L1 data costs, but they compress data more aggressively and may pass along lower fees. Always check the fee breakdown on the specific chain you’re using.
The Bottom Line
The two fees on your Arbitrum receipt serve different purposes: execution gas pays for computation, and the L1 data fee pays for security. You can control the L1 data fee most effectively by reducing calldata size and timing transactions during low-Ethereum-fee periods. Execution gas is cheap enough on Arbitrum to ignore for most uses - focus on the data fee to save real money.
Not financial advice. seapresale.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.