Skip to main content
This page lists all configuration options for op-proposer. The op-proposer posts output roots (proposals) to L1, making them available for verifiers. Withdrawals to L1 must reference an output root. If the chain is running permissioned fault proofs, only the designated proposer can submit output roots. With permissionless fault proofs, anyone can make a proposal.

Proposer policy

The proposer policy defines high-level constraints and responsibilities regarding how L2 output roots are posted to L1. Below are the standard guidelines for configuring the proposer within the OP Stack.
ParameterDescriptionAdministratorRequirementNotes
Output FrequencyDefines how frequently L2 output roots are submitted to L1 (via the output oracle).L1 Proxy Admin43,200 L2 blocks (24 hours at 2s block times) or lowerIt cannot be set to 0 (there must be some cadence for outputs).

Example configuration

OP_PROPOSER_L1_ETH_RPC: YOUR_L1_RPC_URL_HERE
OP_PROPOSER_ROLLUP_RPC: YOUR_CHAINS_RPC_URL_HERE
OP_PROPOSER_GAME_FACTORY_ADDRESS: YOUR_CHAINS_GAME_FACTORY_ADDRESS_HERE
OP_PROPOSER_PROPOSAL_INTERVAL: 5h
OP_PROPOSER_WAIT_NODE_SYNC: true
OP_PROPOSER_ALLOW_NON_FINALIZED: "false"
OP_PROPOSER_POLL_INTERVAL: "20s"
OP_PROPOSER_NUM_CONFIRMATIONS: "1"
OP_PROPOSER_SAFE_ABORT_NONCE_TOO_LOW_COUNT: "3"
OP_PROPOSER_RESUBMISSION_TIMEOUT: "30s"
OP_PROPOSER_METRICS_ENABLED: "true"
OP_PROPOSER_METRICS_ADDR: 0.0.0.0
OP_PROPOSER_METRICS_PORT: 7300
Higher throughput chains can decrease the proposal-interval to allow users submit withdrawals more often.

All configuration variables

Output root generation

poll-interval

Delay between periodic checks on whether it is time to load an output root and propose it. The default value is 6s.

    active-sequencer-check-duration

    The duration between checks to determine the active sequencer endpoint from which output roots will be derived. The default value is 2m0s.

      Output root submission

      proposal-interval

      Interval between submitting L2 output proposals when the dispute game factory address is set. The default value is 0s.

        allow-non-finalized

        Allow the proposer to submit proposals for L2 blocks from non-finalized L1 blocks. The default value is false.

          game-factory-address

          Address of the DisputeGameFactory contract. This is where the proposer will submit output roots.

            game-type

            Dispute game type to create via the configured DisputeGameFactory. The default value is 0.

              Proposer startup

              wait-node-sync

              Indicates if, during startup, the proposer should wait for the rollup node to sync to the current L1 tip before proceeding with its driver loop. The default value is false.

                Transaction manager

                fee-limit-multiplier

                The multiplier applied to fee suggestions to limit fee increases. The default value is 5.

                  num-confirmations

                  Number of confirmations to wait after sending a transaction. The default value is 10.

                    resubmission-timeout

                    Duration we will wait before resubmitting a transaction to L1. The default value is 48s.

                      safe-abort-nonce-too-low-count

                      Number of ErrNonceTooLow observations required to give up on a tx at a particular nonce without receiving confirmation. The default value is 3.

                        txmgr.fee-limit-threshold

                        The minimum threshold (in GWei) at which fee bumping starts to be capped. The default value is 100.

                          txmgr.min-basefee

                          Enforces a minimum base fee (in GWei) to assume when determining tx fees. The default value is 1.

                            txmgr.min-tip-cap

                            Enforces a minimum tip cap (in GWei) to use when determining tx fees. The default value is 1.

                              txmgr.not-in-mempool-timeout

                              Timeout for aborting a tx send if the tx does not make it to the mempool. The default value is 2m0s.

                                txmgr.receipt-query-interval

                                Frequency to poll for receipts. The default value is 12s.

                                  txmgr.send-timeout

                                  Timeout for sending transactions. If 0 it is disabled. The default value is 0s.

                                    Wallet

                                    hd-path

                                    The HD path used to derive the sequencer wallet from the mnemonic.

                                      mnemonic

                                      The mnemonic used to derive the wallets for the service.

                                        RPC

                                        l1-eth-rpc

                                        HTTP provider URL for L1.

                                          rollup-rpc

                                          HTTP provider URL for the rollup node. A comma-separated list enables the active rollup provider.

                                            rpc.addr

                                            rpc listening address. The default value is “0.0.0.0”.

                                              rpc.enable-admin

                                              Enable the admin API. The default value is false.

                                                rpc.port

                                                rpc listening port. The default value is 8545.

                                                  Logging

                                                  log.color

                                                  Color the log output if in terminal mode. The default value is false.

                                                    log.format

                                                    Format the log output. Supported formats: ‘text’, ‘terminal’, ‘logfmt’, ‘json’, ‘json-pretty’. The default value is text.

                                                      log.level

                                                      The lowest log level that will be output. The default value is INFO.

                                                        Metrics

                                                        metrics.addr

                                                        Metrics listening address. The default value is “0.0.0.0”.

                                                          metrics.enabled

                                                          Enable the metrics server. The default value is false.

                                                            metrics.port

                                                            Metrics listening port. The default value is 7300.

                                                              pprof

                                                              pprof.addr

                                                              pprof listening address. The default value is “0.0.0.0”.

                                                                pprof.enabled

                                                                Enable the pprof server. The default value is false.

                                                                  pprof.path

                                                                  The pprof file path. If it is a directory, the path is {dir}/{profileType}.prof

                                                                    pprof.port

                                                                    pprof listening port. The default value is 6060.

                                                                      pprof.type

                                                                      pprof profile type. One of cpu, heap, goroutine, threadcreate, block, mutex, allocs

                                                                        Signer

                                                                        signer.address

                                                                        Address the signer is signing transactions for.

                                                                          signer.endpoint

                                                                          Signer endpoint the client will connect to.

                                                                            signer.tls.ca

                                                                            tls ca cert path. The default value is “tls/ca.crt”.

                                                                              signer.tls.cert

                                                                              tls cert path. The default value is “tls/tls.crt”.

                                                                                signer.tls.key

                                                                                tls key. The default value is “tls/tls.key”.

                                                                                  Miscellaneous

                                                                                  network-timeout

                                                                                  Timeout for all network operations. The default value is 10s.

                                                                                    help

                                                                                    Show help. The default value is false.

                                                                                      version

                                                                                      Print the version. The default value is false.
                                                                                        I