Skip to main content

Additional configuration parameters: Orbit chains

The following configuration parameters can be used when deploying or managing your Orbit chain:

ParameterDescriptionHow to set
Extra challenge period blocksAmount of time to wait before a challenge period expires. Like the challenge period parameter, this is measured in blocks on the underlying L1 chain, not the base (L2) chain. The default for this parameter is 200 blocks, or roughly 40 minutes.Either in the extraChallengeTimeBlocks field in the RollupCreator config, or by calling Rollup.setExtraChallengePeriodBlocks().
Loser stake escrowThe address where funds staked by a validator that has lost a challenge are sent to be escrowed. It is recommended that this be set to an address that is controlled by the chain owners or to the burn address if the desire is for escrowed funds to be lost.Either in the loserStakeEscrow field in the RollupCreator config, or by calling Rollup.setLoserStakeEscrow().
WASM module rootHash of the WASM module root to be used when validating. The WASM module root is a 32 byte hash usually expressed in hexadecimal which is a merkelization of the replay binary, which is too large to be posted on-chain. This hash is set in the L1 rollup contract to determine the correct replay binary during fraud proofs. Unless the STF has been customized, the default WASM module root in the latest consensus release should be used.Either in the wasmModuleRoot field in the RollupCreator confid, or by calling Rollup.setWasmModuleRoot().
Gas speed limitTarget gas usage per second, over which the congestion mechanism activates. This parameter is set to 7 million on Arbitrum One and Nova, and alterations to this should be considered carefully, as setting it too high may resuly in state bloat that impacts the performance of the chain.Call ArbOwner.setSpeedLimit() passing in the maximum number of gas units to be executed per second.
Block gas limitMaximum amount of gas that can be consumed by all of the transactions within a block. On Arbitrum One this is set to 30 million. It can comfortably be set higher, but may harm UX as the processing time of a block will increase correspondingly.Call ArbOwner.setMaxTxGasLimit() passing in the maximum number of gas units to be executed per block and transaction.
Gas price floorMinimum gas price and is defaulted to 0.1 gwei. This can be set lower or higher as needed, and will impact the willingness of users to transact on the network.Either in the minL2BaseFee field in the orbit setup script config or by calling ArbOwner.setMinimumL2BaseFee() passing in the minimum base fee in wei.
Network fee accountAccount that will receive the L2 surplus fees. It is recommended this is set to an address controlled by the chain owners, or the burn address if fees are intended to be burned. If set to zero, this defaults to the owner address.Either in the networkFeeReceiver field in the orbit setup script config or by calling ArbOwner.setNetworkFeeAccount().
Infrastructure fee accountAccount that will receive the L2 base fees. It is recommended this is set to an address controlled by the chain owners, or the burn address if fees are intended to be burned. If set to zero, this defaults to the owner address.Either in the infrastructureFeeCollector field in the orbit setup script config or by calling ArbOwner.setInfraFeeAccount().
L1 pricing reward recipientAddress that will receive the rewards from the L1 fees. It is recommended this is set to an address controlled by the chain owners, or the burn address if fees are intended to be burned. By default, this is set to the owner address.Call ArbOwner.setL1PricingRewardRecipient().
L1 pricing reward per unit (rate)Amount of rewards per unit to send to the L1 pricing reward recipient (multiplied by the unitsAllocated). The default for this parameter is 15 wei.Call ArbOwner.setL1PricingRewardRate() passing in the amount of wei per unit to reward.
Sequencer inbox maximum time variationBoundaries of the sequencer to manipulate blocks and timestamps. The default values are as follows, and are set as such on Arbitrum One:
  • delayBlocks: 5760
  • futureBlocks: 12
  • delaySeconds: 86400
  • futureSeconds: 3600
Either in the sequencerInboxMaxTimeVariation field in the RollupCreator config or by calling SequencerInbox.setMaxTimeVariation on the parent chain.
Force-include periodLength of the period after which a delayed message can be included into the inbox without any action from the sequencer, measured in L1 block time.Corresponds to delayBlocks and delaySeconds in the sequencer inbox maximum time variation above.
Batch posting minimum frequencyMaximum time to wait after a transaction is sent to post a batch containing it. Note that if no transactions are sent, no batches will be posted, regardless of this setting. The default setting is 1 hour, and can be set lower but may reduce efficiency in the case of low activity on the Orbit chain.--node.batch-poster.max-delay in the batch poster config.
Validator node (branch) creation frequencyMinimum time to wait since the last assertion to post a new assertion, if configured to post new assertions (”MakeNodes”). This is bypassed if there is an incorrect assertion and a dispute needs to be made by making a new assertion. Note that if no new batches are posted (and no force inclusion happens), no new assertions will be posted, regardless of this setting. The default setting is 1 hour and is alterable but should always be greater than the rollup contract's minimumAssertionPeriod, which is measured in L1 blocks and is defaulted to 75 blocks, or roughly 15 minutes.--node.staker.make-assertion-interval in the validator config.