Overview
op-proposer queries its rollup node for an output root (a commitment to the L2 state at a given block) and submits it to L1 on a configured interval. On a chain running fault proofs, each proposal is a transaction to theDisputeGameFactory that creates a new dispute game: a claim that stands
unless successfully challenged. By default op-proposer proposes only
finalized L2 state, because a proposal of state that does not hold true later
is an invalid claim that carries dispute game penalties. (A pre-fault-proof
proposal path still exists in the code but is effectively unused.)
It exists because proposals are how L1 learns about L2 state: withdrawals are
authenticated against resolved proposals, so a user proves a withdrawal
against a proposed output root and finalizes it once that proposal’s dispute
game resolves in its favor. Without op-proposer, no new output roots reach L1
and withdrawals cannot be proven.
Who runs it: the chain operator, as one of the chain’s core services. On
chains with permissioned fault proofs, only the designated
proposer role can submit proposals;
with permissionless fault proofs anyone
can propose, but the operator still runs op-proposer so proposals land
regularly.
Get started
- Spin up proposer: set up and configure op-proposer as part of standing up an OP Stack chain.
How-tos
- Migrating to permissionless fault proofs: configure the dispute components and switch the respected game type.
- Switch to Kona proofs: move a chain to Kona-based fault proofs, including updating the game type op-proposer creates.
Configuration & flags reference
- Proposer configuration: every configuration option and environment variable, plus the proposer policy constraints that govern what gets proposed and when.
Releases
Source & spec links
- Source:
op-proposer/in the Optimism monorepo; its README documents the proposal flow (with a sequence diagram), design principles, and failure modes. - L2 output root proposals specification: the normative definition of output-root proposals.
- Withdrawals specification: how withdrawals are proven against proposals.