--additional-bond-claimants | List of addresses to claim bonds for, in addition to the configured transaction sender | — | OP_CHALLENGER_ADDITIONAL_BOND_CLAIMANTS |
--cannon-bin | Path to cannon executable to use when generating trace data (cannon game type only) | — | OP_CHALLENGER_CANNON_BIN |
--cannon-depset-config | Interop dependency set config file (cannon game type only) | — | OP_CHALLENGER_CANNON_DEPSET_CONFIG |
--cannon-info-freq | Frequency of cannon info log messages to generate in VM steps (cannon game type only) | 10000000 | OP_CHALLENGER_CANNON_INFO_FREQ |
--cannon-kona-depset-config | Interop dependency set config file (cannon-kona game type only) | — | OP_CHALLENGER_CANNON_KONA_DEPSET_CONFIG |
--cannon-kona-l1-genesis | Path to the L1 genesis file. Only required if the L1 is not mainnet, sepolia, holesky, or hoodi. | — | OP_CHALLENGER_CANNON_KONA_L1_GENESIS |
--cannon-kona-l2-genesis | Paths to the op-geth genesis file (cannon-kona game type only) | — | OP_CHALLENGER_CANNON_KONA_L2_GENESIS |
--cannon-kona-prestate | Path to absolute prestate to use when generating trace data (cannon-kona game type only) | — | OP_CHALLENGER_CANNON_KONA_PRESTATE |
--cannon-kona-prestates-url | Base URL to absolute prestates to use when generating trace data. Prestates in this directory should be name as <commitment>.bin.gz <commitment>.json.gz or <commitment>.json (cannon-kona game type only) | — | OP_CHALLENGER_CANNON_KONA_PRESTATES_URL |
--cannon-kona-rollup-config | Rollup chain parameters (cannon-kona game type only) | — | OP_CHALLENGER_CANNON_KONA_ROLLUP_CONFIG |
--cannon-kona-server | Path to kona executable to use as pre-image oracle server when generating trace data (cannon-kona game type only) | — | OP_CHALLENGER_CANNON_KONA_SERVER |
--cannon-l1-genesis | Path to the L1 genesis file. Only required if the L1 is not mainnet, sepolia, holesky, or hoodi. | — | OP_CHALLENGER_CANNON_L1_GENESIS |
--cannon-l2-genesis | Paths to the op-geth genesis file (cannon game type only) | — | OP_CHALLENGER_CANNON_L2_GENESIS |
--cannon-prestate | Path to absolute prestate to use when generating trace data (cannon game type only) | — | OP_CHALLENGER_CANNON_PRESTATE |
--cannon-prestates-url | Base URL to absolute prestates to use when generating trace data. Prestates in this directory should be name as <commitment>.bin.gz <commitment>.json.gz or <commitment>.json (cannon game type only) | — | OP_CHALLENGER_CANNON_PRESTATES_URL |
--cannon-rollup-config | Rollup chain parameters (cannon game type only) | — | OP_CHALLENGER_CANNON_ROLLUP_CONFIG |
--cannon-server | Path to executable to use as pre-image oracle server when generating trace data (cannon game type only) | — | OP_CHALLENGER_CANNON_SERVER |
--cannon-snapshot-freq | Frequency of cannon snapshots to generate in VM steps (cannon game type only) | 1000000000 | OP_CHALLENGER_CANNON_SNAPSHOT_FREQ |
--depset-config | Interop dependency set config file | — | OP_CHALLENGER_DEPSET_CONFIG |
--fee-limit-multiplier | The multiplier applied to fee suggestions to put a hard limit on fee increases | 5 | OP_CHALLENGER_TXMGR_FEE_LIMIT_MULTIPLIER |
--game-allowlist | List of Fault Game contract addresses the challenger is allowed to play. If empty, the challenger will play all games. | — | OP_CHALLENGER_GAME_ALLOWLIST |
--game-factory-address | Address of the fault game factory contract. | — | OP_CHALLENGER_GAME_FACTORY_ADDRESS |
--game-types | The game types to support. Valid options: alphabet, cannon, cannon-kona, permissioned, fast, super-cannon-kona, super-permissioned, zk | "cannon", "cannon-kona" | OP_CHALLENGER_GAME_TYPES |
--game-window | The time window which the challenger will look for games to progress and claim bonds. This should include a buffer for the challenger to claim bonds for games outside the maximum game duration. | 672h0m0s | OP_CHALLENGER_GAME_WINDOW |
--hd-path | The HD path used to derive the sequencer wallet from the mnemonic. The mnemonic flag must also be set. | — | OP_CHALLENGER_HD_PATH |
--http-poll-interval | Polling interval for latest-block subscription when using an HTTP RPC provider. | 12s | OP_CHALLENGER_HTTP_POLL_INTERVAL |
--l1-genesis | Path to the L1 genesis file. Only required if the L1 is not mainnet, sepolia, holesky, or hoodi. | — | OP_CHALLENGER_L1_GENESIS |
--l1-rpc-kind | The kind of RPC provider, used to inform optimal transactions receipts fetching, and thus reduce costs. Valid options: alchemy, quicknode, infura, parity, nethermind, debug_geth, erigon, basic, any, standard | standard | OP_CHALLENGER_L1_RPC_KIND |
--l2-experimental-eth-rpc | L2 Address of L2 JSON-RPC endpoint to use (eth and debug namespace required with execution witness support) (cannon game type only) | — | OP_CHALLENGER_L2_EXPERIMENTAL_ETH_RPC |
--l2-genesis | Paths to the op-geth genesis file | — | OP_CHALLENGER_L2_GENESIS |
--log.color | Color the log output if in terminal mode | false | OP_CHALLENGER_LOG_COLOR |
--log.format | Format the log output. Supported formats: text, terminal, logfmt, logfmtms, json, jsonms | text | OP_CHALLENGER_LOG_FORMAT |
--log.level | The lowest log level that will be output | INFO | OP_CHALLENGER_LOG_LEVEL |
--log.pid | Show pid in the log | false | OP_CHALLENGER_LOG_PID |
--max-concurrency | Maximum number of threads to use when progressing games | 4 | OP_CHALLENGER_MAX_CONCURRENCY |
--max-pending-tx | The maximum number of pending transactions. 0 for no limit. | 10 | OP_CHALLENGER_MAX_PENDING_TX |
--metrics.addr | Metrics listening address | "0.0.0.0" | OP_CHALLENGER_METRICS_ADDR |
--metrics.enabled | Enable the metrics server | false | OP_CHALLENGER_METRICS_ENABLED |
--metrics.port | Metrics listening port | 7300 | OP_CHALLENGER_METRICS_PORT |
--min-update-interval | Minimum time between scheduling update cycles based on the L1 block time. | 0s | OP_CHALLENGER_MIN_UPDATE_INTERVAL |
--mnemonic | The mnemonic used to derive the wallets for either the service | — | OP_CHALLENGER_MNEMONIC |
--network | Predefined network selection. Available networks: every chain bundled from the superchain-registry at the release; run op-challenger --help for the exact list | — | OP_CHALLENGER_NETWORK |
--network-timeout | Timeout for all network operations | 10s | OP_CHALLENGER_NETWORK_TIMEOUT |
--num-confirmations | Number of confirmations which we will wait after sending a transaction | 3 | OP_CHALLENGER_NUM_CONFIRMATIONS |
--pprof.addr | pprof listening address | "0.0.0.0" | OP_CHALLENGER_PPROF_ADDR |
--pprof.enabled | Enable the pprof server | false | OP_CHALLENGER_PPROF_ENABLED |
--pprof.path | pprof file path. If it is a directory, the path is {dir}/{profileType}.prof | — | OP_CHALLENGER_PPROF_PATH |
--pprof.port | pprof listening port | 6060 | OP_CHALLENGER_PPROF_PORT |
--pprof.type | pprof profile type. One of cpu, heap, goroutine, threadcreate, block, mutex, allocs | — | OP_CHALLENGER_PPROF_TYPE |
--prestates-url | Base URL to absolute prestates to use when generating trace data. Prestates in this directory should be name as <commitment>.bin.gz <commitment>.json.gz or <commitment>.json | — | OP_CHALLENGER_PRESTATES_URL |
--private-key | The private key to use with the service. Must not be used with mnemonic. | — | OP_CHALLENGER_PRIVATE_KEY |
--response-delay | Delay before responding to game actions to slow down game progression. | 0s | OP_CHALLENGER_RESPONSE_DELAY |
--response-delay-after | Number of responses after which to start applying the delay (0 = from first response). | 0 | OP_CHALLENGER_RESPONSE_DELAY_AFTER |
--resubmission-timeout | Duration we will wait before resubmitting a transaction to L1 | 24s | OP_CHALLENGER_RESUBMISSION_TIMEOUT |
--rollup-config | Rollup chain parameters | — | OP_CHALLENGER_ROLLUP_CONFIG |
--rollup-rpc | HTTP provider URL for the rollup node | — | OP_CHALLENGER_ROLLUP_RPC |
--safe-abort-nonce-too-low-count | Number of ErrNonceTooLow observations required to give up on a tx at a particular nonce without receiving confirmation | 3 | OP_CHALLENGER_SAFE_ABORT_NONCE_TOO_LOW_COUNT |
--selective-claim-resolution | Only resolve claims for the configured claimants | false | OP_CHALLENGER_SELECTIVE_CLAIM_RESOLUTION |
--signer.address | Address the signer is signing requests for | — | OP_CHALLENGER_SIGNER_ADDRESS |
--signer.endpoint | Signer endpoint the client will connect to | — | OP_CHALLENGER_SIGNER_ENDPOINT |
--signer.header | Headers to pass to the remote signer. Format key=value. Value can contain any character allowed in a HTTP header. When using env vars, split with commas. When using flags one key value pair per flag. | — | OP_CHALLENGER_SIGNER_HEADER |
--signer.tls.ca | tls ca cert path | "tls/ca.crt" | OP_CHALLENGER_SIGNER_TLS_CA |
--signer.tls.cert | tls cert path | "tls/tls.crt" | OP_CHALLENGER_SIGNER_TLS_CERT |
--signer.tls.enabled | Enable or disable TLS client authentication for the signer | true | OP_CHALLENGER_SIGNER_TLS_ENABLED |
--signer.tls.key | tls key | "tls/tls.key" | OP_CHALLENGER_SIGNER_TLS_KEY |
--super-cannon-kona-depset-config | Interop dependency set config file (super-cannon-kona game type only) | — | OP_CHALLENGER_SUPER_CANNON_KONA_DEPSET_CONFIG |
--super-cannon-kona-l1-genesis | Path to the L1 genesis file. Only required if the L1 is not mainnet, sepolia, holesky, or hoodi. | — | OP_CHALLENGER_SUPER_CANNON_KONA_L1_GENESIS |
--super-cannon-kona-l2-genesis | Paths to the op-geth genesis file (super-cannon-kona game type only) | — | OP_CHALLENGER_SUPER_CANNON_KONA_L2_GENESIS |
--super-cannon-kona-prestates-url | Base URL to absolute prestates to use when generating trace data. Prestates in this directory should be name as <commitment>.bin.gz <commitment>.json.gz or <commitment>.json (super-cannon-kona game type only) | — | OP_CHALLENGER_SUPER_CANNON_KONA_PRESTATES_URL |
--super-cannon-kona-rollup-config | Rollup chain parameters (super-cannon-kona game type only) | — | OP_CHALLENGER_SUPER_CANNON_KONA_ROLLUP_CONFIG |
--supernode-rpc | Provider URL for supernode roots | — | OP_CHALLENGER_SUPERNODE_RPC |
--txmgr.already-published-custom-errs | List of custom RPC error messages that indicate that a transaction has already been published. | — | OP_CHALLENGER_TXMGR_ALREADY_PUBLISHED_CUSTOM_ERRS |
--txmgr.cell-proof-time | Enables cell proofs in blob transactions for Fusaka (EIP-7742) compatibility from the provided unix timestamp. Should be set to the L1 Fusaka time. May be left blank for Ethereum Mainnet, Sepolia, Holesky, or Hoodi L1s. | 18446744073709551615 | OP_CHALLENGER_TXMGR_CELL_PROOF_TIME |
--txmgr.fee-limit-threshold | The minimum threshold (in GWei) at which fee bumping starts to be capped. Allows arbitrary fee bumps below this threshold. | 100 | OP_CHALLENGER_TXMGR_FEE_LIMIT_THRESHOLD |
--txmgr.max-basefee | Enforces a maximum base fee (in GWei) to assume when determining tx fees, TxMgr returns an error when exceeded. Disabled by default. | 0 | OP_CHALLENGER_TXMGR_MAX_BASEFEE |
--txmgr.max-retries | Maximum number of times to resubmit a transaction to L1 on a transient error. Set to 0 to disable retries. | 10 | OP_CHALLENGER_TXMGR_MAX_RETRIES |
--txmgr.max-tip-cap | Enforces a maximum tip cap (in GWei) to use when determining tx fees, TxMgr returns an error when exceeded. Disabled by default. | 0 | OP_CHALLENGER_TXMGR_MAX_TIP_CAP |
--txmgr.min-basefee | Enforces a minimum base fee (in GWei) to assume when determining tx fees. 1 GWei by default. | 1 | OP_CHALLENGER_TXMGR_MIN_BASEFEE |
--txmgr.min-tip-cap | Enforces a minimum tip cap (in GWei) to use when determining tx fees. 1 GWei by default. | 1 | OP_CHALLENGER_TXMGR_MIN_TIP_CAP |
--txmgr.not-in-mempool-timeout | Timeout for aborting a tx send if the tx does not make it to the mempool. | 1m0s | OP_CHALLENGER_TXMGR_TX_NOT_IN_MEMPOOL_TIMEOUT |
--txmgr.rebroadcast-interval | Interval at which a published transaction will be rebroadcasted if it has not yet been mined. Should be less than ResubmissionTimeout to have an effect. | 0s | OP_CHALLENGER_TXMGR_REBROADCAST_INTERVAL |
--txmgr.receipt-query-interval | Frequency to poll for receipts | 12s | OP_CHALLENGER_TXMGR_RECEIPT_QUERY_INTERVAL |
--txmgr.retry-interval | Duration we will wait before resubmitting a transaction to L1 on a transient error. Values <= 0 will result in retrying immediately. Should be less than ResubmissionTimeout to have an effect. | 1s | OP_CHALLENGER_TXMGR_RETRY_INTERVAL |
--txmgr.send-timeout | Timeout for sending transactions. If 0 it is disabled. | 2m0s | OP_CHALLENGER_TXMGR_TX_SEND_TIMEOUT |