Skip to content

Add EIP: Increase Maximum Contract Size to 64KiB#11462

Open
Giulio2002 wants to merge 9 commits intoethereum:masterfrom
Giulio2002:eip-increase-code-size-64kb
Open

Add EIP: Increase Maximum Contract Size to 64KiB#11462
Giulio2002 wants to merge 9 commits intoethereum:masterfrom
Giulio2002:eip-increase-code-size-64kb

Conversation

@Giulio2002
Copy link
Copy Markdown
Contributor

Summary

Proposes raising the maximum contract code size from 24KiB to 64KiB and the initcode size from 48KiB to 128KiB.

  • Code size: 24KiB (0x6000) → 64KiB (0x10000)
  • Initcode: 48KiB (0xC000) → 128KiB (0x20000)
  • Preserves the 2:1 initcode-to-runtime ratio from EIP-3860
  • INITCODE_WORD_COST remains unchanged at 2 gas per 32-byte word

The 64KiB boundary (2^16) is a natural power-of-two that aligns with common memory page sizes. The economic cost of deploying larger contracts scales proportionally via calldata and initcode word costs, acting as a natural deterrent against abuse.

Modifies: EIP-170, EIP-3860

@Giulio2002 Giulio2002 requested a review from eth-bot as a code owner March 28, 2026 18:03
@github-actions github-actions bot added c-new Creates a brand new proposal s-draft This EIP is a Draft t-core labels Mar 28, 2026
@eth-bot
Copy link
Copy Markdown
Collaborator

eth-bot commented Mar 28, 2026

File EIPS/eip-8208.md

Requires 1 more reviewers from @g11tech, @jochem-brouwer, @lightclient, @samwilsn

@github-actions github-actions bot added the w-ci Waiting on CI to pass label Mar 28, 2026
@eth-bot eth-bot added e-consensus Waiting on editor consensus e-review Waiting on editor to review labels Mar 28, 2026
Assumes EIP-7954 is merged. Beyond the 32KiB threshold:
- Standard region (0-32KiB): 200 gas/byte (unchanged)
- Extended region (32-64KiB): 500 gas/byte (per EIP-2926)
- Max deploy cost: ~23M gas for 64KiB contract
- Initcode limit: 128KiB (2:1 ratio preserved)
Extended region surcharge is per 31-byte chunk, not per byte:
- Standard deposit (200/byte) applies to ALL code
- Beyond 32KiB: additional ceil((N-32768)/31) * 500 surcharge
- 64KiB deploy: ~13.6M gas (6.5M standard + 529K chunk surcharge)
- Constants from EIP-2926: CHUNK_SIZE=31, 500 gas/chunk
@CPerezz
Copy link
Copy Markdown
Contributor

CPerezz commented Mar 28, 2026

Wait. It was already agreed to bump to Glamsterdam to 32KBs (basically relying on the data I provided and presented in https://ethresear.ch/t/data-driven-analysis-on-eip-7907/23850 and in ACD).

So as from Glamsterdam, the "baseline" is 32kBs.

Wasn't at the end your EIP the one that was included directly?

@github-actions
Copy link
Copy Markdown

The commit dfb002d (as a parent of 2fe18b1) contains errors.
Please inspect the Run Summary for details.

@iownducks
Copy link
Copy Markdown

big

Giulio2002 and others added 3 commits March 30, 2026 09:42
Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com>
Co-authored-by: Andrew B Coathup <28278242+abcoathup@users.noreply.github.com>
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Mar 30, 2026
@Giulio2002
Copy link
Copy Markdown
Contributor Author

big

that's what she said

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c-new Creates a brand new proposal e-consensus Waiting on editor consensus e-review Waiting on editor to review s-draft This EIP is a Draft t-core

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants