This Meta EIP documents all the proposals for Glamsterdam related to the gas repricing effort. The goal of this effort is to harmonize gas costs across the EVM, thereby reducing the impact of specific bottlenecks on scaling. Proposals include changes to the cost of single EVM operations, as well as bigger changes to the gas model. This Meta EIP is purely informational and does not aim to have an active role in the governance process for the Glamsterdam fork. Instead, it serves as a directory for all repricing-related proposals, helping to organize the work and keeping the community informed about the status of each EIP.
The main objective of the Glamsterdam fork is to improve L1 scalability. A crucial aspect of this initiative is to create a better alignment between gas costs and actual resource usage. Currently, the gas model often misprices operations, resulting in inefficiencies and unintended incentives. For instance, within the pure compute operations, there is a high variance in execution time per gas unit, which indicates that a single unit of computation is not priced equally across the various opcodes.
By standardizing gas costs across EVM operations and other resources, we can reduce bottlenecks and enhance the utilization of EVM resources, which will subsequently enable further scalability. The EIPs listed below constitute a significant first step in that direction. We expect that further iteration will be necessary in future hardforks.
The following table lists all EIPs related to repricings that are being discussed in the scope of the Glamsterdam fork. There are three types of EIPs in this list:
| EIP | Description | Type | Resource class | Gas change overview |
|---|---|---|---|---|
| EIP-2780 | Reduce intrinsic transaction gas and charge 25k when a value transfer creates a new account. | Broad harmonization | Multi-resource | Decrease TX_BASE_COST (21k→4.5k); increase new-account surcharge (0→25k) |
| EIP-7778 | Prevent Block Gas Limit Circumvention by Excluding Refunds from Block Gas Accounting. | Pricing extension | General Accounting | No opcode repricing; excludes gas refunds (e.g. SSTORE clearing) from block gas accounting |
| EIP-7904 | Gas Cost Increase to reflect computational complexity and transaction throughput increase | Broad harmonization | Compute | All increase: DIV, SDIV, MOD, MULMOD, KECCAK256, precompiles (BLAKE2F, BLS12_G1ADD, BLS12_G2ADD, ECADD, ECPAIRING, POINT_EVALUATION) |
| EIP-7976 | Further increase calldata cost to 15/60 gas per byte to reduce maximum block size. | Pricing extension | Data | Increase calldata floor cost (10/40 → 15/60 per byte) |
| EIP-7981 | Introduce floor pricing for access lists to reduce maximum block size. | Pricing extension | Data | Increase: new floor charge on access list data (addresses + storage keys) |
| EIP-8037 | Harmonization, increase and separate metering of state creation gas costs to mitigate state growth and unblock scaling. | Broad harmonization | State | All increase (dynamic with gas limit): GAS_CREATE, GAS_CODE_DEPOSIT, GAS_NEW_ACCOUNT, GAS_STORAGE_SET, PER_AUTH_BASE_COST |
| EIP-8038 | Increases the gas cost of state-access operations to reflect Ethereum's larger state. | Broad harmonization | State | All increase: cold storage write/access, cold account access, warm access, EXTCODESIZE/EXTCODECOPY extra read, access list costs |
| EIP | Description | Type | Resource class |
|---|---|---|---|
| EIP-2926 | Introduce code-chunking in an MPT context. | Pricing extension | State |
| EIP-7686 | Adjust memory limits and gas limits of sub-calls to create a clear linear bound on how much total memory an EVM execution can consume. | Pricing extension | Memory |
| EIP-7923 | Linearize Memory Costing and replace the current quadratic formula with a page-based cost model. | Pricing extension | Memory |
| EIP-7971 | Decrease costs for TLOAD and TSTORE with a transaction-global limit. |
Pricing extension | Memory |
| EIP-7973 | Introduce warm account writes, decreasing the cost of writing to an account after the first write. | Pricing extension | State |
| EIP-8011 | Gas accounting by EVM resource, increasing throughput and improving resource usage controls, with minimal changes to the protocol and UX. | Supporting | NA |
| EIP-8032 | Makes SSTORE gas cost scale with a contract's storage size to discourage state bloat. |
Pricing extension | State |
| EIP-8053 | Adds milli-gas as the EVM's internal gas accounting unit, reducing rounding errors without impacting UX. |
Supporting | NA |
| EIP-8057 | Multi‑block temporal locality discounts for state and account access. | Pricing extension | State |
| EIP-8058 | Reduces gas costs for deploying duplicate contract bytecode via access-list based mechanism. | Pricing extension | State |
| EIP-8059 | Gas parameters and variables are increased to a factor of REBASE_FACTOR to reduce rounding errors without major changes to the EVM. |
Supporting | NA |
The following tables summarize the preliminary gas cost changes. Numbers are not yet finalized and will be subject to change.
| Opcode | Name | Current | New | Direction |
|---|---|---|---|---|
| 0x04 | DIV |
5 | 15 | increase |
| 0x05 | SDIV |
5 | 20 | increase |
| 0x06 | MOD |
5 | 12 | increase |
| 0x09 | MULMOD |
8 | 11 | increase |
| 0x20 | KECCAK256 (base) |
30 | 45 | increase |
KECCAK256 per-word cost stays at 6. ADDMOD, SMOD, and ECRECOVER are unchanged.
| Precompile | Current | New | Direction |
|---|---|---|---|
BLAKE2F (base) |
0 | 170 | increase |
BLAKE2F (per round) |
1 | 2 | increase |
BLS12_G1ADD |
375 | 643 | increase |
BLS12_G2ADD |
600 | 765 | increase |
ECADD |
150 | 314 | increase |
ECPAIRING (per pair) |
34,000 | 34,103 | increase (slight) |
POINT_EVALUATION |
50,000 | 89,363 | increase |
| Opcode(s) | Component | Current | New | Direction |
|---|---|---|---|---|
SSTORE |
GAS_COLD_STORAGE_WRITE |
5,000 | TBD | increase |
SSTORE, SLOAD |
GAS_COLD_STORAGE_ACCESS |
2,100 | TBD | increase |
CALL, STATICCALL, DELEGATECALL, BALANCE, EXT*, SELFDESTRUCT |
GAS_COLD_ACCOUNT_ACCESS |
2,600 | TBD | increase |
| All state ops (warm) | GAS_WARM_ACCESS |
100 | TBD | increase |
EXTCODESIZE |
Extra warm read for 2nd DB lookup | 0 | +GAS_WARM_ACCESS |
increase (new) |
EXTCODECOPY |
Extra warm read for 2nd DB lookup | 0 | +GAS_WARM_ACCESS |
increase (new) |
SSTORE, SLOAD (access list) |
ACCESS_LIST_STORAGE_KEY_COST |
1,900 | TBD | increase |
CALL etc. (access list) |
ACCESS_LIST_ADDRESS_COST |
2,400 | TBD | increase |
At 60M gas limit, cost_per_state_byte (cpsb) = 662. Costs scale up with higher gas limits.
| Operation | Opcodes Affected | Current | New (at 60M) | Direction |
|---|---|---|---|---|
GAS_CREATE |
CREATE, CREATE2, create txs |
32,000 | 112 x cpsb + 9,000 (~83k) | increase |
GAS_CODE_DEPOSIT |
CREATE, CREATE2, create txs |
200/byte | cpsb/byte + hash (~662/byte) | increase |
GAS_NEW_ACCOUNT |
CALL* to new accounts |
25,000 | 112 x cpsb (~74k) | increase |
GAS_STORAGE_SET |
SSTORE (0 -> non-zero) |
20,000 | 32 x cpsb + 2,900 (~24k) | increase |
PER_AUTH_BASE_COST |
EIP-7702 auth | 12,500 | 23 x cpsb + 7,500 (~22.7k) | increase |
PER_EMPTY_ACCOUNT_COST |
EIP-7702 auth | 25,000 | 112 x cpsb (~74k) | increase |
| Parameter | Current | New | Direction | EIP |
|---|---|---|---|---|
TX_BASE_COST |
21,000 | 4,500 | decrease | 2780 |
| New account surcharge (top-level value tx) | 0 | 25,000 | increase | 2780 |
| Calldata floor cost | 10/40 per byte | 15/60 per byte | increase | 7976 |
| Access list data cost | 0 | floor_token_cost per token |
increase (new) | 7981 |
Discussed in the individual EIPs.
Copyright and related rights waived via CC0.