blockchainsv
News

How the Glamsterdam Upgrade Forces a Refactor of Ethereum Smart Contracts

The Ethereum Foundation published a technical breakdown of how the Glamsterdam upgrade's gas repricing will break contracts that depend on hardcoded gas assumptions.

Caleb North·updated August 25, 2026

How the Glamsterdam Upgrade Forces a Refactor of Ethereum Smart Contracts

Two EIPs—8037 and 8038—rebase state operation costs to match actual resource consumption, retiring a five-year-old price schedule set during the Berlin fork. For developers who shipped code relying on Solidity's 2,300-gas transfer stipend, or any tooling caching the old constants, this is a forced refactor.

The Mechanism

State operation gas costs have not been adjusted since Berlin in 2021. Ethereum's state has grown significantly since then, and recent gas limit increases have accelerated that growth. Repricing these operations to reflect their real cost is now a precondition for further gas limit increases without degrading node operator experience.

The new schedule derives from a performance target supporting roughly a 3x increase in base throughput. The Foundation replayed historical mainnet transactions under the new cost rules to identify what diverges. Every transaction falls into one of four outcome buckets. Three are benign. The fourth breaks contracts.

Failure Modes in Code

Four code patterns will fail deterministically under the new schedule:

  • Hardcoded stipends. Solidity's transfer and send reserve 2,300 gas. That value no longer covers the real cost of a state write.
  • Hardcoded gas in calls. Any gas: X literal in a low-level call underflows against the new cost rules.
  • gasleft branching. Logic that takes one execution path and refunds via another path now misreads the remaining gas budget.
  • Presigned transactions with fixed gas limits. Off-chain signers that bake in a number will produce failed transactions on-chain.

Direct outreach to the most-affected builders is already underway. The Foundation compiled a list of impacted entities and contacted the relevant teams.

Audit Checklist Before Testnet

For L1 contract maintainers:

  • Paste the contract address into the Foundation's affected-contracts search. Each result shows its specific failure mode and the repricing driving it.
  • Audit every transfer, send, and raw call carrying a hardcoded gas value.
  • Replace fixed values with gasleft-aware logic, or drop the constraint entirely.
  • Re-run the full test suite against a Glamsterdam devnet.

For wallet, RPC, and node operators:

  • Update eth_estimateGas and related handling for the new cost rules.
  • Purge cached gas constants. Cached values will underestimate and produce failed transactions.
  • Validate simulation paths against the new schedule before mainnet activation.

The repricing schedule is live on devnets now. Public testnets follow. Mainnet activation comes after. The same pattern of systemic neglect that breaks institutional safeguards elsewhere applies here—protocols that fail to revisit old guarantees expose everyone who trusted them.