Ethereum & Scroll Differences

A number of technical details differ between Ethereum mainnet’s EVM and Scroll’s modified design for a zkEVM. Below you can see those differences as they exist on Scroll and Scroll Sepolia.

For open-source contributors and infrastructure builders, please contact our team for additional support.

EVM Opcodes

OpcodeSolidity equivalentScroll Behavior
COINBASEblock.coinbaseReturns the pre-deployed fee vault contract address. See Scroll Contracts.
DIFFICULTY / PREVRANDAOblock.difficultyReturns 0.
SELFDESTRUCTselfdestructDisabled. If the opcode is encountered, the transaction will be reverted.1

We support the cancun EVM target and the latest Solidity version 0.8.26.

EVM Precompiles

Most precompiled contracts are supported. For a complete and up-to-date list of supported precompiles and any differences from Ethereum, see rollup.codes/scroll. Calls to unsupported precompiled contracts will revert.

Block Time

Scroll uses a dynamic block time to optimize throughput. During congestion periods, blocks are sealed as soon as they are full instead of waiting for the 3-second interval. During normal hours, blocks are sealed at 3-second intervals to ensure a consistent user experience.

Transaction Ordering

Similarly to Ethereum, the Scroll sequencer aims to prioritize executable transactions based on their “tip” (priority fee). In most cases, transactions will be included in the next block in decreasing order of their tips.

However, just like in Ethereum, this ordering is not guaranteed by the protocol, and some blocks might diverge from it. In particular, during periods of low mempool congestion, the sequencer will process transactions on a first-come-first-served basis, so some transactions might precede others with higher tip in the same block.

Reorgs and Finality

Starting from our DarwinV2 upgrade, the maximum reorg depth has been set to 17 blocks. Transaction ordering should be unchanged after this threshold, however the only absolute guarantee is for transactions to be finalized (proof submitted to L1).

Future EIPs

We keep a close eye on all emerging EIPs adopted by Ethereum and adopt them when suitable. If you’re interested in more specifics, reach out in our community forum or on the Scroll Discord.

Transaction Fees

The fee charged to Scroll transactions contains two parts:

  • L2 gas fee: similar to L1, the amount of L2 execution fee equals to L2_gas_price * L2_gas_used, covering the following costs:
    • L2 sequencer execution & storage cost
    • Validity proof verification and finalization cost on L1
    • Prover cost
  • L1 data fee: additional fee on top of L2 gas fee. The L1 data fee is only charged to L2-initiated transactions, not to L1-initiated transactions. The fee covers the cost of sending data to L1 for data availability. Because we roll up the tx data to L1, the L1 rollup fee is calculated based on the size of tx data.

For more information, see Transaction Fees on Scroll.


Footnotes

  1. Will change to adopt Ethereum’s solution in the future.

What's Next

Resources

Follow Us