Back to Technology Insights
2026.08.17

Glamsterdam's gas repricing breaks the flat 21,000 assumption — EIP-8037's state gas dimension and what it does to wallets, indexers and estimators

Glamsterdam's gas repricing breaks the flat 21,000 assumption — EIP-8037's state gas dimension and what it does to wallets, indexers and estimators

What happened

On 17 August 2026 the Ethereum Foundation's Protocol DevOps team announced the Platåberget testnet: an early testing ground for Glamsterdam (Gloas on the consensus layer plus Amsterdam on the execution layer), intended to run for several months rather than the days a devnet lives. The Glamsterdam fork on that testnet was scheduled for 20 August. The announcement's opening summary is unambiguous — any tool that relies on a hardcapped maximum gas limit, meaning wallets, indexers and gas estimators, will break and needs updating.

The headline contents, per the announcement: EIP-7732 enshrines proposer-builder separation, changing how blocks are built, proposed and validated and introducing a new builder API flow plus payload-timeliness (PTC) checks. EIP-7928 introduces enforced block-level access lists recording accessed state locations and post-transaction changes, stored separately from the block body and exchanged between execution-layer peers over eth/71 (EIP-8159). EIP-8007 is a coordinated bundle of gas repricings aimed at a roughly 200M gas floor. Contract and initcode limits rise, with deployed contract size going from 24 KiB to 64 KiB and initcode from 48 KiB to 128 KiB. EIP-7688 adds forward-compatible consensus data structures. The full list is tracked in meta EIP-7773.

Client releases for Platåberget are described as optional, with ethPandaOps container images recommended in the interim. That is a condition of joining the testnet, not a statement about what mainnet activation will require.

What breaks, and why the design is shaped this way

The core of the repricing is EIP-8037. It introduces a state gas dimension, distinct from ordinary gas, for operations that create new state. Creating an account, deploying code or writing a fresh storage slot is metered as a fixed cost per state byte (CPSB) and charged at runtime rather than up front.

The rationale is state growth. EVM gas has always compressed two costs of different character — computation and permanent state expansion — into a single number. Raising the block gas limit toward 200M buys headroom for computation, but under one dimension it inflates state at the same rate. State is a cost nodes carry indefinitely, which is not what a compute price should be measuring. Separating the dimensions lets throughput rise while state growth is constrained on its own axis. The essence of this change is not a price increase; it is adding a dimension to the price.

The practical consequence is concrete. Per the Foundation, an ETH transfer to an account that already exists still costs 21,000 gas, now decomposed into TX_BASE_COST, COLD_ACCOUNT_ACCESS and TX_VALUE_COST (EIP-2780). A transfer to an account that does not yet exist additionally incurs STATE_BYTES_PER_NEW_ACCOUNT × CPSB in state gas at runtime. The same "send ETH" operation costs differently depending on whether the recipient exists. Any code assuming 21,000 suffices, or estimating against a single gas dimension, needs revisiting. State-access increases are handled by EIP-8038.

The other two changes are equally breaking for different audiences. ePBS reorganises the block building, proposal and validation pipeline, so MEV-Boost relay setups, custom block-building software, DVT implementations and large-operator monitoring are all affected. The EF deliberately gave Platåberget a small but publicly joinable validator set so that solo stakers through to large operators can exercise both validator and builder deposit workflows on their own infrastructure. BALs are held outside the block body and exchanged peer-to-peer via eth/71, so indexers and archive nodes that implement block retrieval and reconstruction themselves have work at the network protocol layer.

Parameters reported in May 2026 suggested new account creation becoming roughly 8.5 times more expensive and contract deployment roughly tenfold. Those were interim figures, not final. The references to use today are meta EIP-7773 and the devnet-8 specification.

Pitfalls to watch

The announcement's numbers and its linked EIP do not always agree. On contract size, the EF links EIP-7954 while stating 24 KiB→64 KiB and 48 KiB→128 KiB; EIP-7954's own text specifies 32 KiB and 64 KiB, while EIP-7907 specifies 64 KiB and 128 KiB. To pin down implementation values, go to meta EIP-7773 and the devnet-8 spec rather than an announcement or a secondary article.

"Existing contracts keep working" does not mean existing tooling keeps working. Bytecode semantics are largely unchanged; the estimation, simulation and replay layers are what break. A test plan built around contract unit tests will surface the problem first in your production front end.

Runtime charging changes the estimation model. Because the cost is not deducted up front as a fixed intrinsic, code that computes a static upper bound only comes up short when a state-creating branch executes. Failures look intermittent — dependent on the recipient or the code path — rather than deterministic, which makes them hard to reproduce in tests.

Do not confuse Platåberget's optional client releases with mainnet requirements. The testnet exists to be tested against now; the mainnet date is unconfirmed. Starting work once a date is announced is unlikely to leave enough time for gas-related fixes.

[Technical Insights & Actions]

  1. The assumption that gas is a single number stops holding. A state gas dimension propagates into every piece of code built on "transaction cost = gas used × gas price" — and that assumption is usually also embedded in bridge fee calculations, L2 fee estimation and batch sizing logic. [Contract developers / product] This month, grep the codebase for hardcoded 21000 and gasLimit values, then run each affected path against Platåberget and measure the delta.
  2. The change takes effect at the fork, not when you update your client. That testnet releases are optional does not lower the urgency of preparation — a Platåberget running for several months is the only window in which you can observe how things break before a mainnet date exists. [Integrators / tooling maintainers] Before the Sepolia fork date is fixed, run your full integration suite against Platåberget and verify gas estimation and indexer reconstruction on real infrastructure.
  3. Specification numbers can disagree across three layers: announcement, commentary and EIP text. If internal documents cite only the announcement, you lose the ability to diagnose a discrepancy later. [Everyone] For internal circulation, anchor references to meta EIP-7773 and the devnet-8 spec, and annotate any figure copied from an announcement or article with its source and the date it was read.

[Sources]

This article is a technical commentary based on publicly available information and is not investment advice.