Roadmap track
Purge
Simplify and shrink: SELFDESTRUCT, refunds, history and state growth.
Core EIPs
47
Shipped
5
In motion
17
Dead
25
Lineages
SELFDESTRUCT
Purge · Neutering, then removing, the opcode that breaks state assumptions.
Data table
| Lineage | EIP | Title | Status | Year |
|---|---|---|---|---|
| SELFDESTRUCT | 4758 | Deactivate SELFDESTRUCT | Stagnant | 2022 |
| SELFDESTRUCT | 6780 | SELFDESTRUCT only in same transaction | Final | 2023 |
| SELFDESTRUCT | 8246 | Remove SELFDESTRUCT Burn | Last Call | 2026 |
requires
Dependency graph
Data table
| EIP | Title | Requires | Required by (in view) |
|---|---|---|---|
| 161 | State trie clearing (invariant-preserving alternative) | 1052, 2926, 4747, 7523, 7702, 8037, 8246, 8253, 8357, 8358, 8360 | |
| 1109 | PRECOMPILEDCALL opcode (Remove CALL costs for precompiled contracts) | 1962, 2539 | |
| 1418 | Blockchain Storage Rent Payment | 1559 | |
| 1959 | New Opcode to check if a chainID is part of the history of chainIDs | 155 | |
| 2029 | State Rent A - State counters contract | 2031 | |
| 2031 | State Rent B - Net transaction counter | 2029 | |
| 2488 | Deprecate the CALLCODE opcode | 7 | |
| 2935 | Serve historical block hashes from state | 7709, 8256, 8289 | |
| 3298 | Remove storage-clear refund and refund cap | 2780, 3529, 7778, 8037, 8038 | |
| 3529 | Reduction in refunds | 2200, 2929, 2930 | 1153, 3298, 6046, 6780, 8141, 8358, 8360 |
| 4747 | Simplify EIP-161 | 161 | |
| 5027 | Remove the limit on contract code size | 170, 2929, 2930 | |
| 6046 | Replace SELFDESTRUCT with DEACTIVATE | 2681, 2929, 3529 | |
| 6189 | Alias Contracts | 2929, 6188 | 6190 |
| 6190 | Verkle-compatible SELFDESTRUCT | 2929, 6188, 6189 | |
| 6780 | SELFDESTRUCT only in same transaction | 2681, 2929, 3529 | 2780, 6800, 7708, 8037, 8246, 8298 |
| 7523 | Empty accounts deprecation | 161 | 5920, 8347 |
| 7666 | EVM-ify the identity precompile | 3855 | 8200 |
| 7668 | Remove bloom filters | 6466 | |
| 7709 | Read BLOCKHASH from Storage and Update Cost | 2935 | |
| 7736 | Leaf-level state expiry in verkle trees | 6800 | |
| 7877 | Enhanced RETURN opcodes | 6, 1153, 3855 | |
| 7903 | Remove Initcode Size Limit | 170, 3860 | |
| 8015 | Remove `deposit` and `eth1data` fields | 6110, 7688, 7773 | |
| 8037 | State Creation Gas Cost Increase | 161, 684, 2780, 6780, 7623, 7702, 7825, 7928, 7976, 8038 | 2780, 3298, 8038, 8046, 8075, 8141, 8188, 8250, 8295, 8296, 8298, 8357, 8358, 8360, 8368, 8372 |
| 8075 | Adaptive state cost to cap growth & scale L1 | 1559, 4844, 8037 | |
| 8116 | Replace cumulative receipt fields | 6466 | |
| 8125 | Temporary Contract Storage | 2200, 2929 | |
| 8246 | Remove SELFDESTRUCT Burn | 161, 6780 | 7708 |
| 8253 | Bump nonce of zero-nonce storage accounts | 161, 684 | |
| 8295 | State Tiering by Periods | 2929, 2930, 7702, 7825, 8037, 8038, 8188 | |
| 8296 | Fixed-Cutoff State Tiering | 2929, 7702, 7825, 8037, 8038, 8188 | |
| 8358 | Net Gas Metering for Account Changes | 161, 2200, 2780, 2929, 3529, 7702, 7708, 8037, 8038 | |
| 8368 | CPSB Recalibration for New Gas Limit | 8037 | |
| 8372 | Normalized state gas limit | 8037 |
Inflow
Created per year
- Merge
- Surge
- Scourge
- Verge
- Purge
- Splurge
- Legacy PoW
Data table
| Year | Merge | Surge | Scourge | Verge | Purge | Splurge | Legacy PoW | Total |
|---|---|---|---|---|---|---|---|---|
| 2016 | 2 | 2 | ||||||
| 2017 | 0 | 0 | ||||||
| 2018 | 3 | 3 | ||||||
| 2019 | 6 | 6 | ||||||
| 2020 | 3 | 3 | ||||||
| 2021 | 3 | 3 | ||||||
| 2022 | 7 | 7 | ||||||
| 2023 | 3 | 3 | ||||||
| 2024 | 5 | 5 | ||||||
| 2025 | 7 | 7 | ||||||
| 2026 (partial) | 8 | 8 |
Shipped
5
In motion
17
- EIP-8372Normalized state gas limitDraftHegotáProposed
- EIP-8368CPSB Recalibration for New Gas LimitDraftHegotáProposed
- EIP-8358Net Gas Metering for Account ChangesDraft
- EIP-8296Fixed-Cutoff State TieringDraft
- EIP-8295State Tiering by PeriodsDraft
- EIP-8253Bump nonce of zero-nonce storage accountsDraftHegotáConsidered
- EIP-8246Remove SELFDESTRUCT BurnLast CallGlamsterdamScheduled
- EIP-8125Temporary Contract StorageDraft
- EIP-8116Replace cumulative receipt fieldsDraftHegotáConsidered
- EIP-8075Adaptive state cost to cap growth & scale L1Draft
- EIP-8037State Creation Gas Cost IncreaseLast CallGlamsterdamScheduled
- EIP-8032Size-Based Storage Gas PricingDraft
- EIP-8015Remove `deposit` and `eth1data` fieldsDraftHegotáConsidered
- EIP-7709Read BLOCKHASH from Storage and Update CostDraftHegotáConsidered
- EIP-7666EVM-ify the identity precompileDraftHegotáDeclined
- EIP-7523Empty accounts deprecationLast Call
- EIP-3298Remove storage-clear refund and refund capDraftHegotáConsidered
Dead
25
- EIP-7903Remove Initcode Size LimitStagnant
- EIP-7877Enhanced RETURN opcodesStagnant
- EIP-7736Leaf-level state expiry in verkle treesStagnant
- EIP-7668Remove bloom filtersStagnantHegotáConsidered
- EIP-7643History accumulator for pre-PoS dataStagnant
- EIP-7266Remove BLAKE2 compression precompileStagnant
- EIP-6190Verkle-compatible SELFDESTRUCTStagnant
- EIP-6189Alias ContractsStagnant
- EIP-6046Replace SELFDESTRUCT with DEACTIVATEStagnant
- EIP-5027Remove the limit on contract code sizeStagnant
- EIP-4760SELFDESTRUCT bombStagnant
- EIP-4758Deactivate SELFDESTRUCTStagnantHegotáConsidered
- EIP-4747Simplify EIP-161Stagnant
- EIP-3403Partial removal of refundsStagnant
- EIP-3300Phase out refundsStagnant
- EIP-2936EXTCLEAR Opcode For SELFDESTRUCTed contractsStagnant
- EIP-2488Deprecate the CALLCODE opcodeStagnantHegotáDeclined
- EIP-2031State Rent B - Net transaction counterStagnant
- EIP-2029State Rent A - State counters contractStagnant
- EIP-2027State Rent C - Net contract size accountingStagnant
- EIP-2026State Rent H - Fixed Prepayment for accountsStagnant
- EIP-1959New Opcode to check if a chainID is part of the history of chainIDsStagnant
- EIP-1682Storage RentWithdrawn
- EIP-1418Blockchain Storage Rent PaymentStagnant
- EIP-1109PRECOMPILEDCALL opcode (Remove CALL costs for precompiled contracts)Stagnant