---
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).
