Skip to content

EIP-7954 — Contract size limits ​

EIP-7954Contract size limits

Runnable

Live on the hosted MCP — contract-creation limits on Amsterdam via transaction runs, free.

Amsterdam (Glamsterdam) vs FusakaRuns withrun_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.

Try asking your agent ​

The hosted MCP is live (Connect). Copy a prompt into your agent — each quote is self-contained. You supply initcode; the catalogue does not ship demo contracts.

Job

Fusaka vs Amsterdam

Deploy contract-creation initcode whose runtime code is exactly 24,577 bytes — does it succeed on Fusaka and on Glamsterdam?

Look forsuccess on Glamsterdam, a size failure on Fusaka

Agent will likely call run_transaction

Lesson

Amsterdam

Deploy contract-creation initcode whose runtime code is exactly 65,536 bytes on Amsterdam — does it succeed at the EIP-7954 ceiling?

Look fordeployedCodeSize of 65,536

Agent will likely call run_transaction

Check

Amsterdam

Deploy contract-creation initcode whose runtime code is 65,537 bytes on Amsterdam — how does it fail?

Look forsuccess false and an error naming the limit

Agent will likely call run_transaction

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 ​

Canonical spec
EIP-7954
Spec date
2026-05-21
Coverage index
MCP coverage index
EIP-7954 MCP Catalogue 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.

Get started = connect and ask questions. Reference = catalogues and tool schemas. Internals = for builders.