Configuration
There are four categories of Base configuration:
- Consensus Parameters: Fixed at genesis or changeable through privileged accounts or protocol upgrades.
- Policy Parameters: Changeable without breaking consensus, within protocol-imposed constraints.
- Admin Roles: Accounts that can upgrade contracts, change role owners, or update protocol parameters. Typically cold/multisig wallets.
- Service Roles: Accounts used for day-to-day operations. Typically hot wallets.
Consensus Parameters
| Parameter | Description | Administrator |
|---|---|---|
| Batch Inbox Address | L1 address where batcher transactions are posted | Static |
| Batcher Hash | Versioned hash of the authorized batcher sender(s) | System Config Owner |
| Chain ID | Unique chain ID for transaction signature validation | Static |
| Proof Maturity Delay | Time between proving and finalizing a withdrawal. 7 days. | L1 Proxy Admin |
| Dispute Game Finality | Time for Guardian to blacklist a game before withdrawals finalize. 3.5 days. | L1 Proxy Admin |
| Respected Game Type | Game type OptimismPortal accepts for withdrawal finalization. CANNON (0); may fall back to PERMISSIONED_CANNON (1). | Guardian |
| Fault Game Max Depth | Maximum depth of fault dispute game trees. 73. | Static |
| Fault Game Split Depth | Depth after which claims correspond to VM state commitments. 30. | Static |
| Max Game Clock Duration | Maximum time on a dispute game team's chess clock. 3.5 days. | Static |
| Game Clock Extension | Clock credit when a team's remaining time falls below CLOCK_EXTENSION. 3 hours. | Static |
| Bond Withdrawal Delay | Time before dispute game bonds can be withdrawn. 7 days. | Static |
| Min Large Preimage Size | Minimum preimage size for the PreimageOracle large proposal process. 126,000 bytes. | Static |
| Large Preimage Challenge Period | Challenge window before large preimage proposals are published. 24 hours. | Static |
| Fault Game Absolute Prestate | VM state commitment used as the fault proof VM starting point | Static |
| Fault Game Genesis Block | Initial anchor state block number. Any finalized block between bedrock and fault proof activation; 0 from genesis. | Static |
| Fault Game Genesis Output Root | Output root at the Fault Game Genesis Block | Static |
| Fee Scalar | Markup on transactions relative to raw L1 data cost. Fee margin between 0%–50%. | System Config Owner |
| Gas Limit | L2 block gas limit. ≤ 200,000,000 gas. | System Config Owner |
| Genesis State | Initial chain state including all predeploy code and storage. Standard predeploys and preinstalls only. | Static |
| L2 Block Time | Interval at which L2 blocks are produced via derivation. 1 or 2 seconds. | L1 Proxy Admin |
| Sequencing Window Size | Max batch submission gap before L1 fallback triggers. 3,600 L1 blocks (12 hours at 12s L1 block time). | Static |
| Start Block | L1 block where SystemConfig was first initialized | L1 Proxy Admin |
| Superchain Target | SuperchainConfig and ProtocolVersions addresses for cross-L2 config. Mainnet or Sepolia. | Static |
| Governance Token | OP governance token. Disabled. | n/a |
| Operator Fee Params | Operator fee scalar and constant for fee calculation. Standard values are 0; non-zero for non-standard configurations such as op-succinct. | System Config Owner |
| DA Footprint Gas Scalar | Scalar for DA footprint calculation | System Config Owner |
| Minimum Base Fee | Minimum base fee on L2 | System Config Owner |
Policy Parameters
| Parameter | Description | Administrator |
|---|---|---|
| Data Availability Type | Whether the batcher posts data as blobs or calldata. Ethereum (Blobs or Calldata); Alt-DA not supported. | Batch Submitter |
| Batch Submission Frequency | Frequency of batcher transaction submissions to L1. ≤ 1,800 L1 blocks (6 hours at 12s L1 block time). | Batch Submitter |
| Output Frequency | Frequency of output root submissions to L1. ≤ 43,200 L2 blocks (24 hours at 2s L2 block time); must be non-zero. Deprecated once fault proofs are enabled. | L1 Proxy Admin |
Admin Roles
| Role | Description | Administers |
|---|---|---|
| L1 Proxy Admin | ProxyAdmin from the latest op-contracts release, authorized to upgrade L1 contracts | L1 contracts |
| L1 ProxyAdmin Owner | Authorized to update the L1 Proxy Admin. 0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A | L1 Proxy Admin |
| L2 Proxy Admin | ProxyAdmin at 0x4200000000000000000000000000000000000018, authorized to upgrade L2 contracts | Predeploys |
| L2 ProxyAdmin Owner | Aliased L1 ProxyAdmin Owner; upgrades L2 contracts via ProxyAdmin. 0x6B1BAE59D09fCcbdDB6C6cceb07B7279367C4E3b | L2 Proxy Admin |
| System Config Owner | Authorized to change values in the SystemConfig contract | Batch Submitter, Sequencer P2P Signer, Fee Scalar, Gas Limit |
Service Roles
| Role | Description | Administrator |
|---|---|---|
| Batch Submitter | Authenticates batches submitted to L1 | System Config Owner |
| Challenger | Interacts with permissioned dispute games. Active only when respected game type is PERMISSIONED_CANNON. 0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A | L1 Proxy Admin |
| Guardian | Pauses L1 withdrawals, blacklists dispute games, sets respected game type in OptimismPortal. 0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2 | L1 Proxy Admin |
| Proposer | Creates permissioned dispute games on L1. Active only when respected game type is PERMISSIONED_CANNON. | L1 Proxy Admin |
| Sequencer P2P Signer | Signs unsafe/pre-submitted blocks at the P2P layer | System Config Owner |