// Ethereum Virtual Machine Reference — evm.chains.my

THE WORLDCOMPUTER

evm.chains.my
Y(S, T) = S'

The EVM is a deterministic state transition function. Given valid state S and transaction T, it produces new state S'. Every node computes identically — this is Ethereum's foundation.

Explore Architecture Blockchain Demo →
0Bits per word
0Opcodes
0Stack depth
scroll

EVM Component Architecture

The EVM is a quasi-Turing-complete stack machine. Three core components drive every execution: World State (global MPT), Machine State (per-call context), and Virtual ROM (immutable bytecode). Click each component to inspect. Source: ethereum.org/developers/docs/evm

Y(S, T) = S'
Y  EVM transition function
S  Old valid world state
T  Set of valid transactions
S' New valid world state
World State
All accounts, balances, nonces, code — stored as a Merkle Patricia Trie reducible to one root hash per block.
EOAContractMPT rootSSTORE/SLOAD
Machine State
Per-call context: program counter, available gas, LIFO stack (1024 × 256-bit), volatile memory, and transient storage.
PCGasStack 1024MemoryTSTORE (EIP-1153)
Virtual ROM
Read-only immutable EVM bytecode stored in the contract account's codeHash — executed on every message call.
BytecodeImmutableCODECOPYABI calldata
World State — click a component to inspect
// EVM stack layers — Solidity to Consensus
Solidity / Vyper / Yul
High-level smart contract language
EVM Bytecode + ABI
Compiled opcodes — Virtual ROM
EVM Execution Engine
Stack machine · PC · gas · stack · memory · transient
World State (MPT)
All accounts, balances, storage — Patricia Trie root
Consensus Layer (PoS)
Block finality — Casper FFG + LMD GHOST
// Live opcode execution
Gas
21,000
Stack (LIFO · 256-bit)

EVM State Transitions — Step by Step

The EVM reads inputs (transactions, contract calls) and deterministically transforms state. Three components (World State + Machine State + Virtual ROM) feed the opcode loop. Step through each transition manually or watch it run. Source: fa_async — EVM Comprehensive Guide

Active state
TX INPUT — Signed transaction broadcast to mempool
01
TX INPUT
Signed tx broadcast to network. Enters mempool. Validator verifies ECDSA signature, nonce, and balance ≥ gas × gasPrice.
02
LOAD CONTEXT
EVM loads World State (target account from MPT), initializes Machine State (PC=0, gas, empty stack + memory), and fetches Virtual ROM (bytecode). All three ready simultaneously.
03
OPCODE LOOP
PC fetches opcode from bytecode. Gas deducted per opcode. Stack manipulated LIFO (256-bit). Loop repeats until STOP, RETURN, REVERT, or exception (OOG / invalid opcode).
04
COMMIT OR REVERT
Success: Δstate committed to MPT, receipt emitted. REVERT: changes rolled back, unused gas refunded. OOG: all gas consumed, state rolled back, no refund.

Live Opcode Simulator

Watch the EVM execute bytecode — program counter advances, stack manipulated LIFO (256-bit words), gas consumed per instruction including warm/cold storage costs.

⬡ Stack (LIFO, 256-bit words)
▶ Bytecode Execution Feed
⛽ Gas Remaining21,000

EVM Execution Pipeline

Complete lifecycle — EOA signing → mempool → validator → context creation (World State + Machine State + Virtual ROM) → opcode loop → gas metering → state commit.

Compatible Chains

Every EVM-compatible chain runs the same virtual machine spec. Same bytecode executes identically across all networks.

Ethereum
Chain ID: 1
Mainnet
Polygon
Chain ID: 137
Mainnet
🔶
Arbitrum
Chain ID: 42161
L2 Rollup
Optimism
Chain ID: 10
L2 Rollup
BNB Chain
Chain ID: 56
Mainnet
Base
Chain ID: 8453
L2 Rollup
Avalanche C
Chain ID: 43114
Mainnet
zkSync Era
Chain ID: 324
ZK Rollup
Linea
Chain ID: 59144
ZK Rollup
Scroll
Chain ID: 534352
ZK Rollup
Fantom
Chain ID: 250
Mainnet
Cronos
Chain ID: 25
Mainnet

Blockchain Playground

Mine blocks, tamper with data, break chains, and rebuild consensus — live in your browser.

Live Blockchain Demo
Experience how blockchain works hands-on. SHA-256 hashing, block mining with proof-of-work, chain linking, distributed ledger simulation, and token transactions.
SHA-256 Hash Block Mining Chain Linking Distributed Nodes Token Transactions Coinbase Tx

Launch Demo →
evm.chains.my/demo
Block #1
Nonce72608
Datagenesis
Prev0000...0000
0000a3f2b891cd...