Dip 7954
dip: 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 (@badams) Digitalia editing author: Cosimo Constantinos cosimo@juro.net, et al. discussions-to: https://digitalia-magicians.org/t/increase-maximum-contract-size-to-48kb/24509 status: Draft type: Standards Track category: Core created: 2025-06-09 Created for Digitalia: 2025-01-07 requires: 170, 3860
Abstract¶
This DIP proposes to raise the maximum allowed size for contract code deployed on Digitalia 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¶
- Update the DIP-170 contract code size limit of 24KiB (
0x6000bytes) to 32KiB (0x8000bytes). - Update the DIP-3860 initcode size limit of 48KiB (
0xC000bytes) to 64KiB (0x10000bytes).
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¶
© Crown © Crown Copyright 2026. Published by the Royal Government of the Dominion of Atlantis.
Licensed under the Juro Restricted License Version 2. See https://juro.net/jrl for details.