| Name | Date | Mainnet Block # | Relevant changes / opcode specs | EIP details |
| Prague (Pectra) | 07 May 2025 | Block 22,431,084 Epoch 364032 | EIP-7702 enables externally owned accounts (EOAs) to temporarily execute smart contract code, allowing transaction batching, gas sponsorship, and alternative authentication methods. EIP-7251 raises maximum validator balance from 32 ETH to 2048 ETH for reward compounding. EIP-7691 doubles blob throughput (target: 3→6, max: 6→9 blobs per block) to enhance Layer 2 scaling. EIP-2537 adds BLS12-381 curve operations for efficient cryptographic verification. EIP-7002 enables execution layer triggerable validator exits. EIP-6110 reduces validator deposit processing delay from ~9 hours to ~13 minutes. | • EIP-2537 • EIP-2935 • EIP-6110 • EIP-7002 • EIP-7251 • EIP-7549 • EIP-7623 • EIP-7685 • EIP-7691 • EIP-7702 • EIP-7840 |
| Cancun | 13 Mar 2024 | 19,426,587 | The block’s blob base fee (EIP-7516 and EIP-4844) can be accessed via the global block.blobbasefee or blobbasefee() in inline assembly. Introduces blobhash() in inline assembly and a corresponding global function to retrieve versioned hashes of blobs associated with the transaction (see EIP-4844). Opcode mcopy is available in assembly (see EIP-5656). Opcodes tstore and tload are available in assembly (see EIP-1153). | • EIP-1153 • EIP-4788 • EIP-4844 • EIP-5656 • EIP-6780 • EIP-7516 |
| Shanghai | 12 Apr 2023 | 17,034,870 | Smaller code size and gas savings due to the introduction of push0 (see EIP-3855). | • EIP-3651 • EIP-3855 • EIP-3860 • EIP-4895 • EIP-6049 |
| Paris (The Merge) | 15 Sep 2022 | 15,537,394 | Introduces prevrandao() and block.prevrandao, and changes the semantics of the now deprecated block.difficulty, disallowing difficulty() in inline assembly (see EIP-4399). | • EIP-3675 • EIP-4399 |
| Gray Glacier* | 30 June 2022 | 15,050,000 | Delays the difficulty bomb by an additional 3 months to September 2022. | https://eips.ethereum.org/EIPS/eip-5133 |
| Arrow Glacier* | 09 Aug 2021 | 13,773,000 | Delays the difficulty bomb until June 2022. | https://eips.ethereum.org/EIPS/eip-4345 |
| London | 05 Aug 2021 | 12,965,000 | The block’s base fee (EIP-3198 and EIP-1559) can be accessed via the global block.basefee or basefee() in inline assembly. | • EIP-1559 • EIP-3198 • EIP-3529 • EIP-3541 • EIP-3554 |
| Berlin | 14 Apr 2021 | 12,244,000 | Gas costs for SLOAD, *CALL, BALANCE, EXT* and SELFDESTRUCT increased. The compiler assumes cold gas costs for such operations. This is relevant for gas estimation and the optimizer. | https://eips.ethereum.org/EIPS/eip-2070 |
| Istanbul | 08 Dec 2019 | 9,069,000 | Opcodes chainid and selfbalance are available in assembly. | https://eips.ethereum.org/EIPS/eip-1679 |
| Constantinople / Petersburg | 28 Feb 2019 | 7,280,000 | Opcodes create2, extcodehash, shl, shr and sar are available in assembly. Bitwise shifting operators use shifting opcodes (shl,shr,sar), requiring less gas. | http://eips.ethereum.org/EIPS/eip-1013 |
| Byzantium | 16 Oct 2017 | 4,370,000 | Opcodes returndatacopy, returndatasize and staticcall available in assembly. staticcall opcode used when calling non-library view or pure functions, which prevents the functions from modifying state at the EVM level, this even applies to invalid type conversions. Ability to access dynamic data returned from function calls. revert opcode introduced, revert() will not waste gas. | http://eips.ethereum.org/EIPS/eip-609 |
| Spurious Dragon | 22 Nov 2016 | 2,675,000 | Gas cost for the exp opcode increased, impacts gas estimation and optimization. | http://eips.ethereum.org/EIPS/eip-607 |
| Tangerine Whistle | 18 Oct 2016 | 2,463,000 | Gas cost to access other accounts increased, impacts gas estimation and optimization. All gas sent by default for external calls, previously a certain amount had to be retained. | http://eips.ethereum.org/EIPS/eip-608 |
| Homestead | 14 Mar 2016 | 1,150,000 | Oldest version | http://eips.ethereum.org/EIPS/eip-606 |