Overview

MegaETH system contract registry — addresses, whitelisting rules, and protocol-level execution constraints.

This page specifies the system-contract registry and the protocol-level rules that apply to system contracts in MegaETH. It defines the system-contract set.

Specification

Distinction from Precompiles

Both precompiles and system contracts reside at fixed addresses and provide protocol-level functionality, but they differ in a fundamental way:

  • Precompiles are stateless and pure. They perform a deterministic computation on their input and return output without reading or writing on-chain state. The EVM handles precompile calls entirely outside normal bytecode execution.

  • System contracts are stateful. They have deployed bytecode, maintain persistent storage, and participate in normal EVM state access (including SLOAD, SSTORE, and account balance). Some of their functions are subject to call interception for protocol-level side effects, but the contracts themselves exist as ordinary accounts with code and storage.

Stable Registry

A node MUST recognize the following contracts as system contracts:

Contract
Address
Since
Purpose

ORACLE_CONTRACT_ADDRESS

Off-chain data key-value storage

HIGH_PRECISION_TIMESTAMP_ADDRESS

Sub-second timestamp oracle service

KEYLESS_DEPLOY_ADDRESS

Deterministic cross-chain deployment

MEGA_ACCESS_CONTROL_ADDRESS

Volatile-data access control

MEGA_LIMIT_CONTROL_ADDRESS

Query remaining compute-gas budget

SEQUENCER_REGISTRY_ADDRESS

System address and sequencer role registry

Unstable — Rex5 entries (SequencerRegistry, Oracle v2.0.0) are under active development and may change before network activation.

Deployment Semantics

System contracts MUST be available at their specified addresses when the corresponding spec is active. Their availability is gated by spec activation.

Call Interception

Some system-contract functions are handled at the EVM level rather than exclusively by contract bytecode. The generic interception mechanism — when it fires, how selectors are matched, how calls that do not match fall through to bytecode, and the gas and call-scheme rules — is specified on the Call Interception page.

Each system-contract page defines which of its functions are intercepted and what each interception does:

Backward Compatibility Rule

Any change to system-contract semantics, bytecode-visible interface behavior, or interception rules MUST be introduced by a new spec. Stable behavior for an already-activated spec MUST remain unchanged.

Constants

Constant
Value
Description

ORACLE_CONTRACT_ADDRESS

0x6342000000000000000000000000000000000001

Stable Oracle system-contract address

HIGH_PRECISION_TIMESTAMP_ADDRESS

0x6342000000000000000000000000000000000002

Stable high-precision timestamp wrapper address

KEYLESS_DEPLOY_ADDRESS

0x6342000000000000000000000000000000000003

Stable KeylessDeploy system-contract address

MEGA_ACCESS_CONTROL_ADDRESS

0x6342000000000000000000000000000000000004

MegaAccessControl address

MEGA_LIMIT_CONTROL_ADDRESS

0x6342000000000000000000000000000000000005

MegaLimitControl address

SEQUENCER_REGISTRY_ADDRESS

0x6342000000000000000000000000000000000006

SequencerRegistry address

Spec History

  • MiniRex introduced the Oracle and High-Precision Timestamp contracts.

  • Rex2 introduced KeylessDeploy.

  • Rex4 — added MegaAccessControl and MegaLimitControl contracts.

  • Rex5 — added SequencerRegistry; upgraded Oracle to v2.0.0 (dynamic authority).

Last updated