Skip to content
Zroarus
Documentation menu

EVM compatibility

Which hard forks, opcodes and precompiles are available.

TestnetVerified Sep 27, 2026
On this page

Compile target#

The Testnet runs the Berlin, London, Shanghai and Cancun hard forks. Prague and Osaka are not active. Set evmVersion to cancun in every compiler configuration.

Solidity 0.8.30+ defaults to Prague

Recent compilers target Prague by default. Pin cancun explicitly or your bytecode may use features this chain does not have.

Feature support#

Each row was tested with a contract-creation eth_call against the Testnet.

EVM feature support
FeatureForkSupported
PUSH0ShanghaiYes
TSTORE / TLOAD (EIP-1153)CancunYes
MCOPY (EIP-5656)CancunYes
BLOBBASEFEE (EIP-7516)CancunYes
KZG point-evaluation precompile (0x0a)CancunYes
CHAINID, BASEFEEIstanbul / LondonYes
EIP-7702 set-code transactions (type 4)PragueNo
BLS12-381 precompiles (0x0b…)PragueNo
EIP-2935 block-hash history contractPragueNo
EIP-4788 beacon block root contractCancun (beacon chain)No
CLZ opcodeOsakaNo

Caveats#

  • No randomness from block.prevrandao: under QBFT it is a constant. Never use it as a source of randomness.
  • block.basefee in simulations: inside eth_call without a gas price it reads as 0. Do not rely on it in simulated calls.
  • Blobs: blob fields exist (Cancun) but there is no use for blob transactions on this network.
  • Canonical deployers: the CREATE2 deployer, Multicall3 and Permit2 are at their usual cross-chain addresses, so libraries that assume them work unchanged. See the explorer for the full token and contract list.

Something wrong or missing on this page? Send developer feedback.