Ethereum network upgrades
Every date on this page is read out of the configuration files that the clients themselves consult to decide when to fork, namely config.yaml for the consensus layer and genesis.json for the execution layer, both kept in the eth-clients repositories. A time listed here is the moment the software itself will act on.
Nothing scheduled
No network currently carries a future fork in its configuration, which is the ordinary state of affairs between two upgrades: the next one is still being exercised on devnets, and it earns a date on the public networks once those runs have held up under load.
In testing
A devnet is a short-lived network that the client teams stand up to run the next upgrade against each other’s implementations, and each new one supersedes the last as problems are found and fixed, so the number in the table below is the closest thing to a progress reading that exists before a date is set. The figures come from ethereum/forkcast.
| Upgrade | Latest devnet | Launched | |
|---|---|---|---|
| Glamsterdam | devnet 11 | 2026-09-09 | running |
History
42 activations across 4 networks. Testnets fork first, so the date a testnet forked is roughly how much warning mainnet operators had.
The consensus and execution columns describe a division of labour that came into being partway through this list. The Beacon Chain started on 1 December 2020 and the Merge followed in September 2022, so everything from Homestead to Gray Glacier was carried by the execution clients alone, which ran proof-of-work consensus themselves alongside the transactions. An empty consensus column in those rows records that arrangement.
The same upgrades are scheduled by block number, because under proof of work the arrival of any particular block was a matter of probability rather than of clock time, so a fork could be pinned to block 12,965,000 while the hour that block would be mined stayed open until it happened. The configuration files carry that block number and no date.
Mainnet
| Upgrade | Consensus | Execution | Epoch | Activated at |
|---|---|---|---|---|
| Bpo2 | — | Bpo2 | — | · 2026-01-07 |
| Bpo1 | — | Bpo1 | — | · 2025-12-09 |
| Fusaka | Fulu | Osaka | 411392 | · 2025-12-03 |
| Pectra | Electra | Prague | 364032 | · 2025-05-07 |
| Dencun | Deneb | Cancun | 269568 | · 2024-03-13 |
| Shapella | Capella | Shanghai | 194048 | · 2023-04-12 |
| Bellatrix | Bellatrix | — | 144896 | · 2022-09-06 |
| Altair | Altair | — | 74240 | · 2021-10-27 |
| Gray Glacier | — | Grayglacier | — | block 15,050,000 |
| Arrow Glacier | — | Arrowglacier | — | block 13,773,000 |
| London | — | London | — | block 12,965,000 |
| Berlin | — | Berlin | — | block 12,244,000 |
| Muir Glacier | — | Muirglacier | — | block 9,200,000 |
| Istanbul | — | Istanbul | — | block 9,069,000 |
| Petersburg | — | Constantinople / Petersburg | — | block 7,280,000 |
| Byzantium | — | Byzantium | — | block 4,370,000 |
| Spurious Dragon | — | Eip155 / Eip158 | — | block 2,675,000 |
| Tangerine Whistle | — | Eip150 | — | block 2,463,000 |
| DAO Fork | — | Daofork | — | block 1,920,000 |
| Homestead | — | Homestead | — | block 1,150,000 |
Hoodi
| Upgrade | Consensus | Execution | Epoch | Activated at |
|---|---|---|---|---|
| Bpo2 | — | Bpo2 | — | · 2025-11-12 |
| Bpo1 | — | Bpo1 | — | · 2025-11-05 |
| Fusaka | Fulu | Osaka | 50688 | · 2025-10-28 |
| Pectra | Electra | Prague | 2048 | · 2025-03-26 |
| Homestead / Eip150 / Eip155 / Eip158 / Byzantium / Constantinople / Petersburg / Istanbul / Berlin / London / Mergenetsplit | — | Homestead / Eip150 / Eip155 / Eip158 / Byzantium / Constantinople / Petersburg / Istanbul / Berlin / London / Mergenetsplit | — | block 0 |
Sepolia
| Upgrade | Consensus | Execution | Epoch | Activated at |
|---|---|---|---|---|
| Bpo2 | — | Bpo2 | — | · 2025-10-27 |
| Bpo1 | — | Bpo1 | — | · 2025-10-21 |
| Fusaka | Fulu | Osaka | 272640 | · 2025-10-14 |
| Pectra | Electra | Prague | 222464 | · 2025-03-05 |
| Dencun | Deneb | Cancun | 132608 | · 2024-01-30 |
| Shapella | Capella | Shanghai | 56832 | · 2023-02-28 |
| Bellatrix | Bellatrix | — | 100 | · 2022-06-21 |
| Altair | Altair | — | 50 | · 2022-06-20 |
| Mergenetsplit | — | Mergenetsplit | — | block 1,735,371 |
| Homestead / Eip150 / Eip155 / Eip158 / Byzantium / Constantinople / Petersburg / Istanbul / Berlin / London | — | Homestead / Eip150 / Eip155 / Eip158 / Byzantium / Constantinople / Petersburg / Istanbul / Berlin / London | — | block 0 |
Holesky
| Upgrade | Consensus | Execution | Epoch | Activated at |
|---|---|---|---|---|
| Bpo2 | — | Bpo2 | — | · 2025-10-13 |
| Bpo1 | — | Bpo1 | — | · 2025-10-07 |
| Fusaka | Fulu | Osaka | 165120 | · 2025-10-01 |
| Pectra | Electra | Prague | 115968 | · 2025-02-24 |
| Dencun | Deneb | Cancun | 29696 | · 2024-02-07 |
| Shapella | Capella | Shanghai | 256 | · 2023-09-29 |
| Homestead / Eip150 / Eip155 / Eip158 / Byzantium / Constantinople / Petersburg / Istanbul / Berlin / London / Mergenetsplit | — | Homestead / Eip150 / Eip155 / Eip158 / Byzantium / Constantinople / Petersburg / Istanbul / Berlin / London / Mergenetsplit | — | block 0 |
How the times are worked out
The execution layer states a unix timestamp. The consensus layer states an epoch, converted by adding the epoch multiplied by 384 seconds to the genesis time, an epoch being 32 slots of 12 seconds.
The genesis time behind that conversion is worked out from the data. Adding MIN_GENESIS_TIME to GENESIS_DELAY, which is the obvious reading, places mainnet’s Fulu on 10 December 2025, while osakaTime in the same repository gives the third of that month; since Fulu and Osaka are the two halves of a single upgrade, the obvious reading is out by exactly GENESIS_DELAY, a week. We therefore take a fork that both layers name, subtract its epoch back out of the execution timestamp, and arrive for mainnet at 1606824023, which reproduces to the second the activation time the file records in a comment beside Altair.
The two layers are matched by activation time, so that a pair of forks landing in the same second is treated as one upgrade and occupies a single row, and a pairing for which we hold no common name is printed with both names side by side, as Fulu / Osaka.