Skip to content

EIP-7954 — Contract size limits

Status: Ready for the public MCP (not launched). Runnable via contract creation in run_transaction.

What became possible

How much contract code can you deploy before the protocol rejects it? EIP-7954 raises the deployed runtime-code limit from 24 KiB to 64 KiB and the separate initcode limit from 48 KiB to 128 KiB. Existing contracts do not change. New deployments get more room, but both boundaries remain consensus validity checks.

The MCP twin runs caller-supplied contract-creation transactions on Fusaka and Glamsterdam, then reports whether deployment succeeded, the created address, and how much runtime code was installed.

What you can ask your agent

  • “Would this 24,577-byte contract deploy on Fusaka and Glamsterdam?”
  • “Deploy this initcode at the exact EIP-7954 runtime-code ceiling.”
  • “Run the same deployment one byte above the new limit — how does it fail?”
  • “Is my deployment blocked by initcode size or deployed runtime-code size?”

These are inspiration prompts. The caller supplies the initcode; the MCP catalogue does not ship demo contracts.

What the server does

  1. Discover support — read the EIP-7954 limits, comparison forks, and transaction shape.
  2. Run transaction — omit to and pass caller-supplied initcode in data.
  3. Repeat on fusaka and glamsterdam; compare success, error, createdAddress, and deployedCodeSize.

Fork caveat

Glamsterdam is the combined-upgrade name; amsterdam is its execution-layer alias. The current spec limits are 65,536 bytes of runtime code and 131,072 bytes of initcode. Earlier discussion used smaller values, so use the current EIP rather than the historical thread title.

Large Glamsterdam deployments also pay EIP-8037 state gas. A 24,577-byte runtime needs about 37.8M transaction gas and the 65,536-byte ceiling about 100.5M; the transaction lab ceiling is 110M. Fusaka keeps its 16,777,216 EIP-7825 transaction cap, so a runtime-code comparison uses a sufficient fork-specific gas limit rather than identical gas limits.

Twins and spec

Changelog

EIP-7954 MCP Catalogue Changelog
  1. v0.22026-09-17Runnable contract creation; created address and deployed code size expose both EIP-7954 boundaries.
  2. v0.12026-09-17Planned contract-creation twin for Fusaka vs Glamsterdam deployment boundaries.

Use = end-user reference. Internals = architecture and operations. Each section carries its own micro-changelog.