What is EVM (Ethereum Virtual Machine)?
The execution environment that every Ethereum node runs, defining exactly how contract code changes state so that all nodes reach the same result.
Not yet verifiedHow we verify
3 min read
In this entry
The execution environment that every Ethereum node runs, defining exactly how contract code changes state so that all nodes reach the same result.
It is a stack machine working on 256-bit words, with each instruction priced in gas, and its behavior is specified formally in the Ethereum Yellow Paper (source: the Ethereum Yellow Paper). Because the specification is public, dozens of other chains implement the same machine, which is what "EVM-compatible" means: the same contract bytecode and the same tooling work there.
It also means the same address format, which makes cross-chain deposit mistakes easy to make. Your address on Ethereum, Arbitrum, Polygon, and BNB Chain looks identical, and a wallet will happily show you a balance on one while you are sending to another.
How it works
Every node executing a transaction runs the same instructions on the same inputs and must arrive at the same final state. Determinism is the requirement everything else follows from: no randomness, no clock, no network access, nothing that could differ between two machines.
Each instruction has a fixed gas cost, and the total is what you pay for. Storage writes are the expensive part by a wide margin, arithmetic is cheap, and reading another contract's data sits in between. That price list is why contracts are written the way they are, and why a swap costs more than a transfer.
Execution is atomic. If anything reverts, the entire transaction's state changes are undone as though it never ran, but the gas already consumed is not refunded. That is why a failed transaction still costs money.
Compatibility is a spectrum rather than a yes or no. A chain may run identical bytecode while differing in fee rules, block times, precompiled contracts, or the exact set of opcodes supported after a given upgrade. Contracts that work on one usually work on another, and "usually" is doing real work in that sentence.
Example
Illustrative case of the address trap. You withdraw a stablecoin from an exchange, choose the wrong network from the dropdown, and send to your own address. On the destination chain the funds are genuinely yours, because you control that address there too, but they are on a network the exchange does not support for that token. Recovery means importing the key into a wallet configured for that chain and paying its native asset for gas. When the address belongs to a contract rather than to you, or to an exchange's deposit system that does not monitor that chain, the funds are usually gone.
Why it matters when you buy
The network you pick at withdrawal determines what the transfer costs and whether it arrives, and identical-looking addresses across compatible chains are the single most common way people lose funds moving off an exchange. Check which networks a venue supports at the exchange pages and compare network characteristics at the chain pages.
Related terms
gas — how execution is priced, chain id — how tools distinguish networks, smart contract — what the machine runs, layer 2 — compatible networks built on top, ethereum — the original implementation, transaction receipt — the record execution produces.
Questions
What does EVM-compatible actually mean?
That a chain runs the same bytecode and works with the same tooling and address format. It does not guarantee identical fee rules, opcodes, or upgrade timing, so a contract can behave differently in edge cases.
Why did my failed transaction still cost gas?
Because nodes performed the computation before the failure. State changes are reverted; the work is not refunded. Only unspent gas from your limit comes back.
Are my funds on one EVM chain visible on another?
No. Each chain has its own separate state. The same address exists everywhere, but a balance on one network says nothing about the others, which is exactly why the address format causes so many mistakes.