EIP-8007 - Glamsterdam Gas Repricings

Created 2025-08-21
Status Draft
Type Meta
Authors
Requires

Abstract

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.

Motivation

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.

Specification

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:

  1. Broad harmonization. These EIPs reprice a class of operations with the goal of harmonizing them and removing single bottlenecks.
  2. Pricing extension. These EIPs make targeted changes to a specific opcode or component of the gas model, usually coupled with a new mechanism.
  3. Supporting. These EIPs are not directly doing a repricing, but instead introduce a change that support other repricing EIPs or enhance the scalability potential of repricings.

Considered for Inclusion

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

Declined for Inclusion

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

Rationale

Gas cost changes by operation

The following tables summarize the preliminary gas cost changes. Numbers are not yet finalized and will be subject to change.

Compute Opcodes — EIP-7904 (all increase)

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.

Precompiles — EIP-7904 (all increase)

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

State Access — EIP-8038 (all increase, values TBD)

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

State Creation — EIP-8037 (all increase, dynamic with gas limit)

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

Transaction-Level Costs

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

Security Considerations

Discussed in the individual EIPs.

Copyright

Copyright and related rights waived via CC0.