HomeEIPsNewsletter
EIPsEIP-7954
EIP-7954

Increase Maximum Contract Size

Raise the maximum contract code size from 24KiB to 32KiB and initcode size from 48KiB to 64KiB.
DraftStandards Track: Core
Created: 2025-06-09
Requires: EIP-170, EIP-3860
Giulio Rebuffo (@Giulio2002), Ben Adams (@badams)
Discussions ForumOriginal Proposal LinkEdit
1 min read
Anyone may contribute to propose contents.
Go propose
Video
Anyone may contribute to propose contents.
Go propose
Original

Abstract

This EIP proposes to raise the maximum allowed size for contract code deployed on Ethereum from 24,576 bytes to 32,768 bytes.

Motivation

The current 24KiB contract size limit can be restrictive for complex contracts and applications. Increasing the limit to 32KiB allows for more feature-rich contracts while maintaining reasonable constraints on block and state growth.

Specification

  1. Update the EIP-170 contract code size limit of 24KiB (0x6000 bytes) to 32KiB (0x8000 bytes).
  2. Update the EIP-3860 initcode size limit of 48KiB (0xC000 bytes) to 64KiB (0x10000 bytes).

Rationale

  • Developer Flexibility: Enables more complex contracts and features.
  • Backward Compatibility: Existing contracts are unaffected.
  • Simplicity: Only the size limit is changed, with no other protocol modifications.

Backwards Compatibility

This change is not backwards compatible and must be activated via a network upgrade (hard fork). Contracts larger than 24KiB, up to 32KiB, will be deployable after activation.

Security Considerations

A higher contract size limit may marginally increase the risk of denial-of-service attacks via large contracts, but the new limit remains conservative.

Copyright and related rights waived via CC0.

Further reading
Anyone may contribute to propose contents.
Go propose

Not miss a beat of EIPs' update?

Subscribe EIPs Fun to receive the latest updates of EIPs Good for Buidlers to follow up.

View all
Serve Ethereum Builders, Scale the Community.
Resources
GitHub