ECIP 1112: Olympia Treasury Contract
| Author | Cody Burns, Chris Mercer |
|---|---|
| Discussions-To | https://github.com/orgs/ethereumclassic/discussions/530 |
| Status | Draft |
| Type | Meta |
| Created | 2025-07-04 |
| Requires | 1111 |
Simple Summary
Redirect all BASEFEE amounts introduced by ECIP-1111 to a deterministic, immutable smart contract — the Olympia Treasury — instead of burning them. The Treasury functions as a governance-isolated vault that can receive protocol-level revenue but cannot be modified or accessed except through a single, authorized execution entry point defined in a separate governance ECIP.
Abstract
This ECIP defines the deployment of the Olympia Treasury, a deterministic and immutable smart contract that receives all BASEFEE amounts redirected under ECIP-1111. The Treasury is deployed at a fixed address, derived deterministically, and is hardcoded as the canonical recipient of protocol-level revenue. It functions exclusively as a governance-isolated vault: it may receive funds, but it cannot be upgraded, modified, or accessed directly.
The Treasury exposes a minimal, restricted interface that accepts revenue transfers and permits withdrawals only from a single, authorized execution entry point defined in separate governance ECIPs. No governance logic, proposal processing, or allocation rules are implemented within this contract. Its sole purpose is to provide a transparent, auditable, and immutable custody layer for protocol-level funds.
This ECIP does not introduce consensus behavior beyond that defined in ECIP-1111, and it does not define how funds are allocated or governed. Those mechanisms are specified independently in downstream ECIPs.
Motivation
Ethereum Classic requires a transparent and protocol-native method to retain the BASEFEE amounts introduced under ECIP-1111. Because Ethereum Mainnet burns the BASEFEE, a deterministic mechanism is needed on Ethereum Classic to receive and hold this value at the protocol level without altering monetary policy or relying on discretionary off-chain actors.
A contract-based Treasury provides this functionality by:
- Offering an immutable, governance-isolated location for protocol revenue.
- Ensuring that accumulated funds are custodied transparently and audited on-chain.
- Providing a deterministic address that all upgraded clients can reference consistently.
- Enforcing strict separation between fund custody (this ECIP) and any governance or allocation logic (defined in separate ECIPs).
By deploying a minimal, immutable vault contract, Ethereum Classic gains a durable mechanism for securely accumulating protocol-level revenue while preserving consensus neutrality and avoiding any implicit trust in privileged intermediaries. This enables the network to adopt BASEFEE redirection under ECIP-1111 without introducing governance or execution semantics into the consensus layer.
Specification
Treasury Address
The Olympia Treasury contract SHALL be deployed at a fixed, deterministic address.
This address SHALL be derived using a reproducible method (e.g., CREATE2) and SHALL be publicly documented prior to testnet activation.
Upon activation of ECIP-1111, all BASEFEE amounts defined in that ECIP SHALL be transferred to this address at the consensus layer.
Client implementations MUST treat this address as the canonical recipient of protocol-level BASEFEE revenue.
Deterministic Deployment
The Treasury contract’s address derivation MUST be identical across all client implementations.
The derivation method SHALL:
- Use a fixed deployer address
- Use a fixed, published salt
- Use the
keccak256hash of the final Treasury contract bytecode
An implementation MAY use CREATE or CREATE2, but the resulting address MUST be predetermined and published in advance of deployment.
A reference derivation method is provided below:
address computedAddress = address(
uint160(uint256(
keccak256(
abi.encodePacked(
bytes1(0xff),
deployerAddress,
salt,
keccak256(bytecode)
)
)
))
);
This code is illustrative only; client implementations SHALL rely on the published final address.
Consensus-Layer Funding Source
Upon activation of ECIP-1111:
- The full
basefee-derived amount from each EIP-1559 transaction MUST be credited to the Treasury address at the consensus layer. - This transfer SHALL occur during block finalization. Clients that omit, alter, or redirect this behavior SHALL fork from the canonical chain.
ECIP-1112 defines:
- the immutable Treasury contract,
- the consensus-layer requirement that 100% of the
basefee-derived amount be deposited into it, and - the single authorized withdrawal entry point.
All allocation, smoothing, or redistribution of Treasury-held BASEFEE — including mechanisms defined in ECIP-1114 and ECIP-1115 — occurs strictly after deposit and must use the governance-controlled execution pathway defined in ECIP-1113. ECIP-1112 itself implements no allocation logic or distribution rules.
No additional revenue sources are defined in this ECIP.
Contract Requirements
The Olympia Treasury contract MUST satisfy the following constraints.
Immutability
The contract:
- MUST NOT contain upgrade mechanisms, proxy patterns,
delegatecall, orselfdestruct. - MUST be deployed exactly once.
- MUST NOT allow modification of authorization or upgrade-related state variables.
Minimal Responsibilities
The Treasury contract MUST:
- Accept incoming ETC transfers, including consensus-directed
BASEFEEredirection. - Expose its balance publicly through standard EVM semantics.
- Provide a single restricted withdrawal entry point callable only by the authorized governance executor defined in separate ECIPs.
The Treasury contract MUST NOT:
- Perform governance, voting, proposal validation, or metadata verification.
- Perform accounting logic beyond optional duplicate-execution prevention.
- Modify consensus-layer fee rules or participate in fee calculation.
- Emit governance-level events or track proposal metadata.
Access Control
The Treasury contract MUST:
- Restrict withdrawals to a single, authorized caller address.
- Reject all direct withdrawal attempts from EOAs.
- Reject calls from contracts other than the authorized governance executor.
This ECIP does not define the governance executor contract or its lifecycle; those are specified in ECIP-1113.
Minimal Reference Interface
A minimal Treasury interface MAY be expressed as:
interface ITreasury {
function release(address recipient, uint256 amount) external;
}
The release() function:
- MUST transfer the specified amount to
recipientonly ifmsg.senderis the authorized executor. - MAY internally track identifiers to prevent duplicate execution.
- MUST NOT implement proposal validation, metadata hashing, or governance logic.
No additional externally callable methods SHALL be exposed.
Event Emission
The Treasury contract MUST emit events sufficient for basic auditability.
At minimum:
FundsReleased(address indexed recipient, uint256 amount)Received(address indexed from, uint256 amount)
These events MUST NOT include governance metadata or proposal identifiers, which are defined in ECIP-1113 and ECIP-1114.
Out-of-Scope Elements
The Treasury contract MUST NOT implement:
- Proposal hashing or metadata binding
- ECFP lifecycle logic
- Governance decision-making
- Timelock, voting, queueing, or scheduling
- Role delegation or admin key models
- Off-chain integrations
- Legal entity handling
- Fee smoothing, escrow logic, or L-curve mechanics
These functions are defined exclusively in downstream ECIPs.
Rationale
Minimal, Immutable Architecture
The Olympia Treasury is intentionally designed as a minimal, immutable contract whose sole role is to receive and hold protocol-level BASEFEE revenue redirected under ECIP-1111. By excluding governance logic, proposal handling, or metadata processing, the Treasury remains simple, auditable, and resistant to operational or upgrade-related risks.
A minimal vault architecture provides:
- Safety at activation — No logic beyond accepting and releasing funds reduces the chance of deployment-time vulnerabilities.
- Long-term stability — With no upgrade paths or privileged roles, the Treasury remains reliable throughout the lifecycle of the protocol.
- Deterministic and verifiable behavior — All clients interact with the same immutable contract at a fixed address.
This approach limits the attack surface and ensures that the Treasury can safely begin accumulating funds before any governance mechanism is deployed.
Separation of Concerns
Strict separation between custody (ECIP-1112) and governance (ECIP-1113/1114) is a core design principle.
This separation ensures:
- The Treasury does not depend on the lifecycle, parameters, or implementation details of future governance systems.
- Governance upgrades or replacements can occur without modifying the Treasury contract.
- Consensus-layer behavior remains fully isolated from application-layer governance logic.
The Treasury exposes only one restricted withdrawal entry point, callable by an external executor defined in separate ECIPs. This creates a clear boundary between value custody and decision-making.
Deterministic Deployment and Client Consistency
A fixed, deterministic Treasury address is necessary for:
- Consensus-layer correctness — Clients must transfer
BASEFEErevenue to an identical address to maintain consensus. - Cross-client interoperability — Deterministic address derivation prevents divergence between implementations.
- Auditability — Participants can reliably verify inflows and contract behavior across all clients.
Using deterministic deployment via CREATE2 further guarantees that the published address can be reproduced independently.
Transparent, Protocol-Level Fund Custody
Redirecting the BASEFEE to a contract rather than burning it requires an on-chain location that is:
- Publicly visible
- Immutable
- Programmatically accessible
- Free of discretionary control
The Treasury contract satisfies these requirements by acting solely as a transparent ledger entry that accumulates protocol-level value without applying any discretionary logic to it.
Rationale Summary
The Treasury’s design emphasizes immutability, minimalism, and strict separation from governance.
This ensures that protocol-level revenue redirected under ECIP-1111 is held securely and transparently, while leaving all governance, allocation, and proposal processes to independently defined ECIPs.
By maintaining this separation, Ethereum Classic gains a durable and verifiable foundation for protocol-level fund custody without introducing dependencies, privileged roles, or upgradeable components into the vault itself.
Related Work
Several EVM-based networks use contract-based mechanisms to receive protocol-level fees or revenue at deterministic, on-chain addresses. These patterns demonstrate the viability of directing endogenous network value into immutable or minimally permissioned contracts for transparent custody.
Examples include:
-
Ronin Network
Implements EIP-1559-styleBASEFEEredirection into a contract-based treasury rather than burning the fee. -
Celo (Layer 1)
Routes gas fees to a fixed contract (Gas Fee Handler) that acts as an on-chain sink for protocol-level value. -
Mantle (Layer 2)
Directs sequencer revenue into a deterministic on-chain vault contract. -
Polygon (Layer 2)
Uses contract-based treasuries for receiving protocol-level revenue defined by network rules. -
Arbitrum
Sends sequencer revenue to a deterministic contract address for transparent custody. -
Optimism
Uses on-chain sinks for sequencer revenue prior to any governance or allocation logic.
Although these systems differ in governance structure and distribution logic—topics defined separately in ECIP-1113 and ECIP-1114—they share a common architectural pattern relevant to ECIP-1112:
protocol-level revenue is routed to a deterministic, immutable contract that serves as a transparent custody layer.
This approach has proven reliable across multiple EVM ecosystems and informs the design choice to implement the Olympia Treasury as a minimal, immutable vault contract with a fixed, reproducible address.
Implementation
The Olympia Treasury is implemented as a deterministic, immutable smart contract deployed at a fixed address.
Consensus-layer redirection of the BASEFEE amount is defined in ECIP-1111; this ECIP (1112) specifies only the contract that receives those funds.
Client Responsibilities
All Ethereum Classic client implementations MUST:
-
Hardcode the Treasury address
Clients MUST treat the published Treasury address as the canonical destination for protocol-levelBASEFEErevenue following activation of ECIP-1111. -
Apply consensus-layer redirection
During block finalization, clients MUST credit the fullBASEFEEamount to the Treasury address in accordance with ECIP-1111.
Clients MUST NOT expose alternative behaviors (e.g., burning). -
Maintain full EIP-1559 semantics
Clients MUST preserve all EIP-1559 rules for calculating thebasefeeand miner priority fees, with the only modification being the redirection of theBASEFEEcomponent to the Treasury address.
Failure to implement this behavior precisely SHALL result in a consensus fork.
Deployment Artifacts
Prior to activation on testnet and mainnet, the following SHALL be published:
- The Treasury contract’s bytecode
- The selected deployment method (
CREATEorCREATE2) - The fixed, deterministic address
- The derivation parameters (e.g., deployer address and salt), if using
CREATE2
Deterministic publication of these artifacts ensures cross-client reproducibility and enables consistent verification by implementers and auditors.
Test Coverage and Validation
Testing MUST validate the following behaviors:
-
Correct Consensus Redirection
Each client MUST correctly compute theBASEFEEamount and transfer it to the Treasury address in every post-activation block. -
Cross-Client Consistency
All upgraded clients MUST produce identical state transitions and balances for the Treasury address under shared test vectors. -
Event Emission
The Treasury contract MUST emit its defined events (FundsReleased,Received) during relevant operations and MUST NOT emit governance-related metadata. -
Access Control Behavior
The Treasury contract MUST accept incoming transfers from consensus-layer redirection and MUST reject unauthorized withdrawal attempts. -
Reproducible Deployment
The published deployment parameters MUST reproduce the exact Treasury address across all client implementations.
These tests ensure that the Olympia Treasury behaves as a minimal, deterministic vault compatible with ECIP-1111’s consensus-layer rules and suitable for integration with the governance executor defined in ECIP-1113.
Implementation Summary
This ECIP defines the immutable contract that receives protocol-level BASEFEE revenue.
Client software is responsible only for:
- redirecting
BASEFEEto this contract, and - ensuring consistent state-transition behavior across implementations.
All governance logic, proposal processing, and withdrawal authorization are defined outside this ECIP.
Modular Treasury Deployment
The Olympia Treasury is implemented as a standalone, immutable smart contract.
It MAY be deployed and activated independently of any downstream governance components defined in separate ECIPs.
This separation enables a phased rollout consistent with the modular activation strategy introduced in ECIP-1111.
Pre-Governance Activation
Upon activation of ECIP-1111, the Treasury SHALL begin passively accumulating BASEFEE revenue.
No governance contracts or auxiliary infrastructure are required for the Treasury to function as a secure, protocol-level vault during this phase.
Security During the Accumulation Phase
At deployment, the Treasury’s authorized executor address SHALL be configured to a value that cannot satisfy the contract’s access control checks.
Until a valid executor is established under a separate governance ECIP, the Treasury’s withdrawal entry point MUST NOT be callable by any account or contract.
Any attempted withdrawal from unauthorized addresses MUST revert.
This configuration ensures that all accumulated funds remain securely locked, regardless of the timing or readiness of governance systems.
Deployment Advantages
- Forward Compatibility — The Treasury can operate unchanged across future governance upgrades because it contains no governance logic of its own.
- Security Isolation — The Treasury’s immutability and minimalism reduce the attack surface during the period before governance deployment.
- Phased Rollout Support — ECIP-1111 and ECIP-1112 can be activated as soon as they are ready, while governance mechanisms defined in other ECIPs can be deployed, audited, and reviewed independently.
This modular deployment model ensures that protocol revenue capture can begin immediately once ECIP-1111 is active, without requiring simultaneous activation of governance or proposal systems.
Backwards Compatibility
ECIP-1112 introduces no changes to transaction formats, opcode behavior, or EVM semantics.
It defines only the immutable Treasury contract that receives the BASEFEE amounts redirected by ECIP-1111.
All consensus-layer changes related to BASEFEE handling are specified exclusively in ECIP-1111.
Node Behavior
- Upgraded Clients
Clients that implement ECIP-1111 and recognize the Treasury address defined in this ECIP will:- Process Type-0 (Legacy), Type-1 (Access List), and Type-2 (EIP-1559) transactions correctly.
- Redirect the computed
BASEFEEamount to the Treasury address during block finalization.
- Non-Upgraded Clients
Clients that do not implement ECIP-1111 and ECIP-1112 will:- Fail to process Type-2 transactions correctly.
- Continue burning or mishandling the
BASEFEE. - Remain unaware of the Treasury contract address.
Such clients will diverge at the activation block, forming a permanent consensus fork.
Contract and Tooling Compatibility
-
Legacy Transactions
Type-0 transactions remain valid and unaffected. -
Access List Transactions (Type-1)
Type-1 transactions introduced by ECIP-1103 remain valid and unaffected, as ECIP-1112 adds no new semantics for transaction execution. -
Existing Contracts
Smart contracts that do not reference theBASEFEEor the Treasury address continue to function unchanged. -
Tooling and dApps
Applications that do not rely on EIP-1559 semantics remain fully functional.
Tooling that supports Type-2 transactions (EIP-1559) MAY require updates to reflect that Ethereum Classic redirects theBASEFEEto the Treasury address rather than burning it, as defined in ECIP-1111.
No changes are required for transaction submission or execution semantics. -
Treasury Contract Independence
The Treasury contract can securely accumulate funds even if downstream governance contracts defined in other ECIPs are not yet deployed.
This ECIP preserves backward compatibility for all existing transaction types and smart contracts.
Only clients that fail to upgrade to support ECIP-1111 and recognize the Treasury address defined here will fork from the canonical chain at activation.
Security Considerations
The Olympia Treasury is designed as an immutable, governance-isolated vault whose only responsibilities are to receive protocol-level BASEFEE revenue and permit withdrawals from a single authorized executor defined in a separate ECIP. The following security considerations apply.
1. Contract Immutability
- The Treasury contract MUST be deployed exactly once and MUST NOT contain any upgrade mechanisms.
- No
delegatecall,selfdestruct, proxy patterns, or privileged administrative keys SHALL be present. - Immutability ensures that neither the contract’s authorization logic nor its withdrawal behavior can be modified after deployment.
2. Access Control
- Withdrawals MUST only succeed when initiated by the authorized executor address defined in a separate governance ECIP.
- Until such an executor is deployed and configured, the withdrawal entry point MUST NOT be callable by any account or contract.
- All unauthorized withdrawal attempts MUST revert.
This ensures that protocol-level funds remain securely locked during the accumulation phase and cannot be accessed prematurely.
3. Consensus Enforcement
- Clients MUST correctly redirect all
BASEFEEamounts to the Treasury address during block finalization as defined in ECIP-1111. - Any deviation from this rule SHALL cause a permanent consensus fork.
- The Treasury contract itself performs no consensus logic; it relies on client implementations to uphold the protocol rules strictly.
4. Minimal Attack Surface
- The Treasury MUST NOT implement governance logic, proposal validation, metadata hashing, or voting semantics.
- Its design SHALL remain minimal and predictable, reducing potential vulnerabilities arising from complex logic.
- The contract SHOULD track only what is necessary to prevent duplicate withdrawals, if applicable.
5. Deployment and Initialization Safety
- At deployment, the executor address MUST be set to a value that cannot satisfy the Treasury’s authorization checks until the designated governance executor is deployed under a separate ECIP.
- This ensures that all funds remain locked and inaccessible during the pre-governance accumulation period.
6. Audit and Testing Requirements
- The Treasury contract SHALL undergo third-party security audits prior to mainnet deployment.
- Formal verification and static-analysis tools SHOULD be used to validate invariants such as:
- Correct access control
- Absence of upgrade paths
- Safe handling of Ether transfers
- Testnet deployments MUST confirm:
- Accurate
BASEFEEaccumulation - Correct rejection of unauthorized withdrawal attempts
- Cross-client consistency under ECIP-1111 redirection
- Accurate
Security Considerations Summary
The Olympia Treasury provides a secure and immutable custody layer for protocol-level revenue. Its minimal design, strict access control, and reliance on consensus-layer enforcement ensure that funds are safely accumulated and remain inaccessible until governance becomes active under separate ECIPs.
Related ECIPs in the Olympia Upgrade
ECIP-1112 is one of four coordinated proposals that together define the Olympia framework for protocol-level funding on Ethereum Classic.
-
ECIP-1111 — Olympia EVM and Protocol Upgrades
Activates EIP-1559 and EIP-3198 on Ethereum Classic and redirects theBASEFEEamount to the Treasury address defined in this ECIP. -
ECIP-1112 — Olympia Treasury Contract
Defines the deterministic, immutable smart contract that receives and holds all redirectedBASEFEErevenue in a governance-isolated vault. -
ECIP-1113 — Olympia DAO Governance Framework
Specifies the governance architecture, including the authorized executor contract that is permitted to initiate Treasury withdrawals. -
ECIP-1114 — Ethereum Classic Funding Proposal Process
Defines the standardized proposal format and lifecycle used by the governance system to authorize Treasury disbursements.
Interdependency Summary
- ECIP-1111 provides the protocol-level
BASEFEErevenue source. - ECIP-1112 defines the immutable contract that stores this revenue.
- ECIP-1113 establishes the governance executor permitted to withdraw funds.
- ECIP-1114 defines the proposal structure and lifecycle used by governance to authorize withdrawals.
These ECIPs are designed for modular activation:
- ECIP-1111 and ECIP-1112 MAY be activated first to begin revenue accumulation.
- ECIP-1113 and ECIP-1114 MAY be deployed later to enable controlled, on-chain authorization of Treasury withdrawals.
Copyright
Copyright and related rights waived via
CC0
Appendix: EVM Precedents for Treasury Design
Several EVM-based networks use deterministic, contract-based mechanisms for receiving protocol-level fees or revenue. These designs demonstrate established patterns for routing endogenous network value into transparent, on-chain custody locations that operate independently of execution or governance logic.
Treasury Design Precedents
| Network | Mechanism | Notes |
|---|---|---|
| Ronin | Redirects EIP-1559 BASEFEE to a fixed contract |
Demonstrates contract-based receipt of protocol-level fees |
| Celo | Gas fees sent to a contract-based fee handler | Illustrates transparent custody of on-chain revenue |
| Mantle | Sequencer revenue accumulated at a known contract | Shows deterministic contract endpoints for protocol-level inflows |
| Polygon CDK | Optional fee hooks directing value to contracts | Supports contract-level receipt of network fees in modular rollups |
| OP Stack | Sequencer revenue forwarded to fixed contract sinks | Example of predictable programmatic fee routing |
| Arbitrum | Sequencer fees accumulated at a contract address | Illustrates transparent on-chain fund accumulation |
| Optimism | Revenue routed to designated on-chain custody | Reinforces patterns for deterministic fee sinks |
| Avalanche Subnets | Transaction fees routed to subnet contracts | Demonstrates per-subnet contract-level custody |
| Gitcoin DAO | Uses contract-based treasuries for on-chain funds | Relevant for transparent custody rather than governance mechanics |
Design Principles Relevant to ECIP-1112
-
Immutable Contract Custody
Several networks use contracts with no upgrade mechanisms to provide predictable, tamper-resistant storage of protocol-level value. -
Deterministic Addresses
Many systems deploy fee-receiving contracts at fixed or precomputed addresses to ensure consistent cross-client behavior. -
Automatic Revenue Routing
Protocol-defined flows (e.g.,BASEFEE, gas fees, sequencer revenue) are commonly forwarded directly into a contract without discretionary control. -
Transparent On-Chain Accounting
Contract-based treasuries allow all inflows to be observed and audited directly on-chain.
ECIP-1112 adopts these proven design patterns by defining an immutable, deterministic Treasury contract that receives protocol-level BASEFEE revenue redirected under ECIP-1111, while leaving governance and allocation mechanics to separate ECIPs.