Ethereum Virtual Machine (EVM)
Last Updated: October 30, 2026
Quick Answer: The Ethereum Virtual Machine (EVM) is the software environment that runs smart contract code and processes transactions on Ethereum, executing the same code in the same way on every node so they all agree on the result. Developers write contracts in languages such as Solidity, compile them to EVM bytecode, and pay gas for each step the EVM executes. Many other blockchains, including leading layer 2 networks, run the EVM too, so the same contracts and wallets work across them.
Key Takeaways
- ethereum.org describes the EVM as “a decentralized virtual environment that executes code consistently and securely across all Ethereum nodes”
- It is a stack machine with a depth of 1024 items, each a 256-bit word
- Every instruction (opcode) has a gas cost, which limits computation and prices it
- A deployed contract can be at most 24KB, according to ethereum.org
- EVM compatible networks such as Base and Arbitrum One secured about $15.1 billion and $9.7 billion on October 30, 2026, according to L2BEAT
How the EVM Works
Ethereum is often called a ledger, but ethereum.org puts it differently: “Instead of a distributed ledger, Ethereum is a distributed state machine.” The state is the full record of every account balance and every contract’s code and storage. The EVM defines the rules for moving from one state to the next. Given the current state and a new block of valid transactions, it computes the new state, written on ethereum.org as Y(S, T) = S’.
Each step works like this:
- A developer writes a smart contract in a high level language such as Solidity or Vyper.
- A compiler turns it into bytecode, a list of low level instructions called opcodes.
- A transaction deploys the bytecode to a new contract address.
- Each later call to that address makes every node run the bytecode in its own copy of the EVM and reach the same result.
Opcodes include basic stack operations such as ADD, SUB, AND and XOR, and blockchain specific ones such as ADDRESS, BALANCE and BLOCKHASH. Every opcode has a gas cost, so a contract cannot loop forever: it stops when the gas runs out.
Where Data Lives in the EVM
| Location | What it holds | Lasts |
|---|---|---|
| Stack | Up to 1024 values of 256 bits each, used for calculations | One call |
| Memory | Temporary byte array for working data | One call |
| Transient storage | Key value data read with TLOAD and written with TSTORE | One transaction |
| Storage | Each contract’s permanent key value data, part of Ethereum’s global state | Until changed |
The 256 bit word size was chosen to fit Ethereum’s cryptography, such as Keccak-256 hashes and secp256k1 signatures, according to ethereum.org. Writing to permanent storage is among the most expensive operations, which is why developers try to keep it to a minimum.
Who Runs the EVM
Every Ethereum execution client includes an EVM implementation, and all of them must follow the formal specification in the Ethereum Yellow Paper. ethereum.org lists standalone implementations including Py-EVM (Python), evmone (C++), @ethereumjs/evm (JavaScript) and revm (Rust). Having several independent implementations reduces the risk that one bug halts the network.
The EVM is not frozen. It changes through network upgrades. The Pectra upgrade, activated on May 7, 2025, included EIP-7702, which lets ordinary wallet addresses take on smart contract features, according to the Ethereum Foundation. The Fusaka upgrade, activated on December 3, 2025, added a new opcode (CLZ, count leading zeros) and a precompile for the secp256r1 curve, according to the Ethereum Foundation blog.
EVM Compatible Chains in 2026
Because the EVM is a published standard, other networks run it so developers can reuse Ethereum code, tools and wallets. Two groups stand out:
- Ethereum layer 2 networks. On October 30, 2026, L2BEAT listed Base at about $15.09 billion in total value secured, Arbitrum One at about $9.70 billion and OP Mainnet at about $1.67 billion. All three run the EVM.
- Separate layer 1 chains. BNB Chain, Avalanche’s C-Chain and Polygon PoS also run the EVM. DefiLlama showed DeFi deposits of about $5.23 billion on BNB Chain, $0.68 billion on Polygon and $0.52 billion on Avalanche on October 30, 2026, against about $43.17 billion on Ethereum itself.
Not every major blockchain uses the EVM. Bitcoin uses a much simpler scripting system, and Solana runs its own virtual machine.
Common Misconceptions and Risks
“EVM compatible means as secure as Ethereum.” No. A chain can run the same code but have its own validators, its own bridge and different security. Layer 2 networks inherit Ethereum security to different degrees, which L2BEAT tracks project by project.
“Code on the EVM cannot fail.” The EVM runs code exactly as written, including bugs. If a contract has a flaw, every node will faithfully execute the flawed logic. Audits reduce this risk but do not remove it.
“The EVM is a physical computer.” It is software. Each node runs its own copy, and the network agrees on results because every copy follows the same specification.
Related Terms
Frequently Asked Questions
What is the Ethereum Virtual Machine in simple terms?
The Ethereum Virtual Machine is the shared computer that runs Ethereum’s smart contracts. It is software that every Ethereum node runs, so when someone uses an app or sends a transaction, all nodes run the same code and agree on the result. It charges gas for each step, which stops programs from running forever and pays for the network’s work.
What does EVM compatible mean?
An EVM compatible blockchain can run the same bytecode as Ethereum, so developers can deploy their existing smart contracts there with few or no changes, and users can often keep the same wallet and address format. Base, Arbitrum One, OP Mainnet, BNB Chain, Avalanche’s C-Chain and Polygon are examples. Compatibility does not mean these networks share Ethereum’s security.
What programming languages work with the EVM?
The most widely used language is Solidity. Vyper, a language with Python style syntax, is another option, according to ethereum.org. Both compile into EVM bytecode, the instructions the EVM actually runs. Developers can also write very low level code directly, but that is rare. Whatever the language, the deployed contract can be no larger than 24KB under Ethereum’s rules.
Is Solana EVM compatible?
Not natively. Solana uses its own virtual machine and its programs are usually written in Rust, so Ethereum smart contracts cannot be deployed there unchanged. Some projects build EVM environments on top of Solana or connect the two through bridges, but those are separate systems with their own risks rather than part of the core Solana protocol.
Why does the EVM use gas?
Gas puts a price on every computing step. Without it, a single faulty or malicious contract could loop forever and stall every node. Each opcode has a gas cost, the sender sets a maximum, and execution stops when that amount is used up. The fee also pays validators and, through the burned base fee, removes some ETH from circulation.
Data sources: ethereum.org EVM documentation (page updated July 26, 2026), ethereum.org smart contract and gas documentation, Ethereum Foundation blog (Pectra and Fusaka mainnet announcements), L2BEAT scaling summary and DefiLlama chain data (both read October 30, 2026).