--- eip: 7954 title: Increase Maximum Contract Size description: Raise the maximum contract code size from 24KiB to 32KiB and initcode size from 48KiB to 64KiB. author: Giulio Rebuffo (@Giulio2002), Ben Adams (@benaadams) discussions-to: https://ethereum-magicians.org/t/increase-maximum-contract-size-to-48kb/24509 status: Draft type: Standards Track category: Core created: 2025-06-09 requires: 170, 3860 --- ## 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](./eip-170.md) contract code size limit of 24KiB (`0x6000` bytes) to 32KiB (`0x8000` bytes). 2. Update the [EIP-3860](./eip-3860.md) 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 Copyright and related rights waived via [CC0](../LICENSE.md).