Search for projects by name or address
Mantle is a modular general-purpose Ethereum rollup. Transaction data is posted to Ethereum blobs and state transitions are validated onchain via OP Succinct ZK validity proofs (SP1). Its design philosophy aims to offer users a less costly and more... user-friendly experience, provide developers with a simpler and more flexible development environment, and deliver a comprehensive set of infrastructure for the next wave of mass-adopted dApps.
Mantle is a modular general-purpose Ethereum rollup. Transaction data is posted to Ethereum blobs and state transitions are validated onchain via OP Succinct ZK validity proofs (SP1). Its design philosophy aims to offer users a less costly and more... user-friendly experience, provide developers with a simpler and more flexible development environment, and deliver a comprehensive set of infrastructure for the next wave of mass-adopted dApps.
2025 Jun 11 — 2026 Jun 11
The section shows the operating costs that L2s pay to Ethereum.
2025 Jun 11 — 2026 Jun 11
This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data to
Ethereum.
2025 Jun 11 — 2026 Jun 11
This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule.
2026 May 12 — Jun 11
All liveness anomalies detected for this project in the last 30 days, helping you review recent downtime and availability issues.
No State updates were performed for 18h 15m (from 2026 Jun 09, 14:29 UTC until 2026 Jun 10, 08:44 UTC). These typically occur every 1h 35s on average.
No State updates were performed for 8h 1m 48s (from 2026 Jun 05, 13:19 UTC until 2026 Jun 05, 21:21 UTC). These typically occur every 1h 35s on average.
No Tx data submissions were performed for 7h 7m 24s (from 2026 Jun 05, 13:57 UTC until 2026 Jun 05, 21:04 UTC). These typically occur every 7min 31s on average.
Arsia upgrade: full Ethereum DA
2026 Apr 16th
EigenDA code path removed; DA is Ethereum only. Mantle reclassified as a rollup.
Upgrade to OP Succinct
2025 Sep 16th
Mantle upgrades to OP Succinct, integrating ZK proofs for state validation.
STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup.
All of the data needed for proof construction is published on Ethereum L1.
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.
All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.
Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract. Through the SuccinctL2OutputOracle, the system also allows to switch to an optimistic mode, in which no proofs are required and a challenger can challenge the proposed output state root within the finalization period.
Funds can be stolen if in non-optimistic mode, the validity proof cryptography is broken or implemented incorrectly.
Funds can be stolen if optimistic mode is enabled and no challenger checks the published state.
Funds can be stolen if the proposer routes proof verification through a malicious or faulty verifier by specifying an unsafe route id.
Funds can be frozen if the permissioned proposer fails to publish state roots to the L1.
Funds can be frozen if in non-optimistic mode, the SP1VerifierGateway is unable to route proof verification to a valid verifier.
Onchain verifier
Onchain verifier |
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
MantleEngineeringMultisig: Two members rotated. No threshold or permission changes.
MantleEngineeringMultisig: Two members rotated. No threshold or permission changes.
| contract MantleEngineeringMultisig (eth:0x2F44BD2a54aC3fB20cd7783cF94334069641daC9) [GnosisSafe] { | |
| +++ description: None | |
| values.$members.3: | |
| - | "eth:0x00da2F87c56C3a19BD863613995705095F55b524" |
| + | "eth:0xAAc91F5766905cE034FE9f650d067a236E845c45" |
| values.$members.4: | |
| - | "eth:0xbE73dea9c8DcDdB6b03F7e5797b85982065fe34e" |
| + | "eth:0xE8Da2d2381500E863dE1d8396c86C947c8E3Fd3a" |
| } |
Mantle SP1 prover upgrade — moved from a single SP1Verifier to a gateway-based verification system. - OPSuccinctL2OutputOracle vkey rotation: aggregationVkey 0x002237... → 0x0006e0a9... and rangeVkeyCommitment 0x08666b... → 0x1d1e0ac7... . New entries added to programHashes.ts as notVerified (sp1hypercube prover system, exact mantle-xyz/op-succinct tag not yet identified). - New SP1VerifierGateway ( 0x3B604117... ) replaces the previous direct SP1Verifier reference. The gateway routes proofs to underlying verifier contracts by program identifier. - New SP1Verifier (v6.0.0) at 0x8a0fd5e8... and a second SP1Verifier at 0xc3c6dDDA... registered via the gateway. - New SP1VerifierGatewayMultisig ( 0xCafEf00d... ) — Gnosis Safe controlling the gateway's verifier route registry. - zkCatalogId flipped from sp1turbo to sp1hypercube to reflect the new SP1Verifier v6.0.0 routes wired into the gateway. The legacy sp1turbo verifier ( 0x0459d576... , selector 0xd4e8ecd2 ) is still registered in the gateway's activeVerifiers , so mantle remains listed in sp1turbo.tvsProjects (no untilTimestamp set).
Mantle SP1 prover upgrade — moved from a single SP1Verifier to a gateway-based verification system.
aggregationVkey 0x002237... → 0x0006e0a9... and rangeVkeyCommitment 0x08666b... → 0x1d1e0ac7.... New entries added to programHashes.ts as notVerified (sp1hypercube prover system, exact mantle-xyz/op-succinct tag not yet identified).0x3B604117...) replaces the previous direct SP1Verifier reference. The gateway routes proofs to underlying verifier contracts by program identifier.0x8a0fd5e8... and a second SP1Verifier at 0xc3c6dDDA... registered via the gateway.0xCafEf00d...) — Gnosis Safe controlling the gateway’s verifier route registry.zkCatalogId flipped from sp1turbo to sp1hypercube to reflect the new SP1Verifier v6.0.0 routes wired into the gateway. The legacy sp1turbo verifier (0x0459d576..., selector 0xd4e8ecd2) is still registered in the gateway’s activeVerifiers, so mantle remains listed in sp1turbo.tvsProjects (no untilTimestamp set).| contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) { | |
| +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function. | |
| values.aggregationVkey: | |
| - | "0x0022379400ea3157fae440ae7a8101e8bb01ca58e6a5f132c66751513aa58f08" |
| + | "0x0006e0a9f37edc912bb269856518599d61689c78300c23615b2f90868d0181cf" |
| values.rangeVkeyCommitment: | |
| - | "0x08666bcf03c2240b14b399040abdc4aa2fe934535315fd3c158f010926d1e4a5" |
| + | "0x1d1e0ac74bb66ded0388062e779adae47925fd572a49a3424e2684f83d776004" |
| values.verifier: | |
| - | "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459" |
| + | "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e" |
| } |
| + | Status: CREATED |
| contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) | |
| +++ description: This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract. |
| + | Status: CREATED |
| contract SP1Verifier (eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C) | |
| +++ description: Verifier contract for SP1 proofs (v6.0.0). |
| + | Status: CREATED |
| contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A) | |
| +++ description: None |
| + | Status: CREATED |
| contract SP1VerifierGatewayMultisig (eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878) | |
| +++ description: None |
Arsia fee mechanics activated: owner populated the Arsia-era SystemConfig fields that had been zero since the v1.4.0 upgrade. basefeeScalar set to 169019, daFootprintGasScalar to 400, eip1559Denominator to 50, eip1559Elasticity to 4, minBaseFee to 50 gwei, operatorFeeScalar to 100000000. gasLimit decreased from 200B (a pre-Arsia placeholder above the 500M cap) to a normal 60M. OPSuccinctL2OutputOracle rotated SP1 verification keys: aggregationVkey → 0x0022379400ea3157... , rangeVkeyCommitment → 0x08666bcf03c2240b... . Program hashes regenerated from mantle-xyz/[email protected] (commit 8542b244fac50b3db2cb027c6282b9f42fd81af9 ) and added to programHashes.ts as successful .
Arsia fee mechanics activated: owner populated the Arsia-era SystemConfig fields that had been zero since the v1.4.0 upgrade. basefeeScalar set to 169019, daFootprintGasScalar to 400, eip1559Denominator to 50, eip1559Elasticity to 4, minBaseFee to 50 gwei, operatorFeeScalar to 100000000. gasLimit decreased from 200B (a pre-Arsia placeholder above the 500M cap) to a normal 60M.
OPSuccinctL2OutputOracle rotated SP1 verification keys: aggregationVkey → 0x0022379400ea3157..., rangeVkeyCommitment → 0x08666bcf03c2240b.... Program hashes regenerated from mantle-xyz/[email protected] (commit 8542b244fac50b3db2cb027c6282b9f42fd81af9) and added to programHashes.ts as successful.
| contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) { | |
| +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function. | |
| values.aggregationVkey: | |
| - | "0x00767dc6943b07bd7c57755dad9156b5e89c23d714f8475d5b7a207f74360654" |
| + | "0x0022379400ea3157fae440ae7a8101e8bb01ca58e6a5f132c66751513aa58f08" |
| values.rangeVkeyCommitment: | |
| - | "0x47fd478c5b2111934c7a233c409f16553d0f67d5701e58fa76c77339764bfd7a" |
| + | "0x08666bcf03c2240b14b399040abdc4aa2fe934535315fd3c158f010926d1e4a5" |
| } |
| contract SystemConfig (eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf) { | |
| +++ description: Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee). | |
| values.basefeeScalar: | |
| - | 0 |
| + | 169019 |
| values.daFootprintGasScalar: | |
| - | 0 |
| + | 400 |
| +++ description: volatility param: lower denominator -> quicker fee changes on L2 | |
| values.eip1559Denominator: | |
| - | 0 |
| + | 50 |
| values.eip1559Elasticity: | |
| - | 0 |
| + | 4 |
| +++ description: Gas limit for blocks on L2. Future `setGasLimit` calls are bounded by `maximumGasLimit()` (500,000,000 in this implementation); the currently stored value is a pre-Arsia configuration above that bound and is retained as-is in storage. | |
| +++ severity: LOW | |
| values.gasLimit: | |
| - | 200000000000 |
| + | 60000000 |
| values.minBaseFee: | |
| - | 0 |
| + | 50000000000 |
| values.operatorFeeScalar: | |
| - | 0 |
| + | 100000000 |
| } |
SystemConfig upgraded to v1.4.0 (Arsia upgrade), new implementation at 0x9CA047689261E35c9e507b1BB0B7443C2A436310 (diff). The owner (MantleSecurityMultisig) keeps onlyOwner control but the setter surface changes significantly: - Removed setPreconfer , setBatchInbox , and the preconfer / batchInbox storage fields. The shape is moved to a new dedicated opstack/SystemConfig v1 4 0 mantle template (restricted by validAddresses to the Mantle SystemConfig proxy) so the owner-permission description matches the actual v1.4.0 setter surface instead of the shared template's stale "preconfer/batch submitter" wording. - Added separate base/blob fee scalars via setGasConfigArsia(basefeeScalar, blobbasefeeScalar) ; the legacy setGasConfig(overhead, scalar) is still callable and marked deprecated. - Added setEIP1559Params(denominator, elasticity) , setMinBaseFee , setDAFootprintGasScalar , setBaseFee , and an EIP-7706-style setOperatorFeeScalars(operatorFeeScalar, operatorFeeConstant) . - Added maximumGasLimit() pure getter returning 500 000 000 . The currently stored gasLimit is 200 000 000 000 — i.e. 400× the new cap — and is retained as-is in storage (the cap is enforced on initialize and setGasLimit , not on existing storage). As a consequence, any future owner-initiated setGasLimit call must reduce the limit to ≤ 500 000 000 ; raising it back above that ceiling would require another implementation upgrade. batcherHash now returns a raw bytes32 from the new ABI (the template's view override casts it back to an address). The new Arsia-era fields ( basefeeScalar , blobbasefeeScalar , daFootprintGasScalar , eip1559Denominator , eip1559Elasticity , minBaseFee , operatorFeeConstant , operatorFeeScalar ) all initialize to zero, so the new fee mechanics are not yet activated onchain. The legacy baseFee , overhead , scalar , and resourceConfig values remain populated as before. sequencerInbox is still derived by the template from batcherHash and continues to track the same batch inbox address. OPSuccinctL2OutputOracle rotated its SP1 verification keys ( aggregationVkey 0x00767dc6... , rangeVkeyCommitment 0x47fd478c... ) and the rollupConfigHash . The Mantle team confirmed the ELFs were produced from mantle-xyz/[email protected] (commit c269e9b792d762889f869c4526bba1bfe016036e ), and that the EigenDA code path has been removed entirely in the Arsia build — programs/range/eigenda/ and the EIGENDA RANGE ELF EMBEDDED constant are gone, only programs/range/ethereum/ remains. The entries in programHashes.ts are labeled OP SUCCINCT AGG BLOBS / OP SUCCINCT RANGE BLOBS with programUrl and verificationSteps pinned to the v2.2.0-beta.5 tag.
SystemConfig upgraded to v1.4.0 (Arsia upgrade), new implementation at 0x9CA047689261E35c9e507b1BB0B7443C2A436310 (diff). The owner (MantleSecurityMultisig) keeps onlyOwner control but the setter surface changes significantly:
setPreconfer, setBatchInbox, and the preconfer / batchInbox storage fields. The shape is moved to a new dedicated opstack/SystemConfig_v1_4_0_mantle template (restricted by validAddresses to the Mantle SystemConfig proxy) so the owner-permission description matches the actual v1.4.0 setter surface instead of the shared template’s stale “preconfer/batch submitter” wording.setGasConfigArsia(basefeeScalar, blobbasefeeScalar); the legacy setGasConfig(overhead, scalar) is still callable and marked deprecated.setEIP1559Params(denominator, elasticity), setMinBaseFee, setDAFootprintGasScalar, setBaseFee, and an EIP-7706-style setOperatorFeeScalars(operatorFeeScalar, operatorFeeConstant).maximumGasLimit() pure getter returning 500_000_000. The currently stored gasLimit is 200_000_000_000 — i.e. 400× the new cap — and is retained as-is in storage (the cap is enforced on initialize and setGasLimit, not on existing storage). As a consequence, any future owner-initiated setGasLimit call must reduce the limit to ≤ 500_000_000; raising it back above that ceiling would require another implementation upgrade. batcherHash now returns a raw bytes32 from the new ABI (the template’s view override casts it back to an address).The new Arsia-era fields (basefeeScalar, blobbasefeeScalar, daFootprintGasScalar, eip1559Denominator, eip1559Elasticity, minBaseFee, operatorFeeConstant, operatorFeeScalar) all initialize to zero, so the new fee mechanics are not yet activated onchain. The legacy baseFee, overhead, scalar, and resourceConfig values remain populated as before. sequencerInbox is still derived by the template from batcherHash and continues to track the same batch inbox address.
OPSuccinctL2OutputOracle rotated its SP1 verification keys (aggregationVkey 0x00767dc6..., rangeVkeyCommitment 0x47fd478c...) and the rollupConfigHash. The Mantle team confirmed the ELFs were produced from mantle-xyz/[email protected] (commit c269e9b792d762889f869c4526bba1bfe016036e), and that the EigenDA code path has been removed entirely in the Arsia build — programs/range/eigenda/ and the EIGENDA_RANGE_ELF_EMBEDDED constant are gone, only programs/range/ethereum/ remains. The entries in programHashes.ts are labeled OP_SUCCINCT_AGG_BLOBS / OP_SUCCINCT_RANGE_BLOBS with programUrl and verificationSteps pinned to the v2.2.0-beta.5 tag.
| contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) { | |
| +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function. | |
| values.aggregationVkey: | |
| - | "0x006110a295396036ad8df48c333e2b99b11624799138fbc18e10181551e29eb1" |
| + | "0x00767dc6943b07bd7c57755dad9156b5e89c23d714f8475d5b7a207f74360654" |
| values.rangeVkeyCommitment: | |
| - | "0x05044f60230e1ea664a43fa92e27735e3bbc97736c2e7ab961a5115a732a6da5" |
| + | "0x47fd478c5b2111934c7a233c409f16553d0f67d5701e58fa76c77339764bfd7a" |
| values.rollupConfigHash: | |
| - | "0x7e7ac4e2e568c2b6cc18427820fa07f8d1e1bd2c360058db04b1bf4b7e775bcd" |
| + | "0x6681c11eccf96068a081bbb888fd64ce72aa83bd1ccda5bbb53b4c43368cf87f" |
| } |
| contract SystemConfig (eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf) { | |
| +++ description: Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee). | |
| template: | |
| - | "opstack/SystemConfig" |
| + | "opstack/SystemConfig_v1_4_0_mantle" |
| sourceHashes.1: | |
| - | "0xb2a3bda11c08328ecb46ec5789f3264be5d816bc218a5024a4cafd1c59017160" |
| + | "0x7ccc5496582a9154f67199e39a3b2e8f330f1acf0fe0b80d8f151067e7e9fa14" |
| description: | |
| - | "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address." |
| + | "Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee)." |
| values.$implementation: | |
| - | "eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3" |
| + | "eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310" |
| values.$pastUpgrades.1: | |
| + | ["2026-04-16T06:58:35.000Z","0xa9f65671c6b80206db6f058626a8702cf9171dc5d5ab7e382bf124d2b0e1e55a",["eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310"]] |
| values.$upgradeCount: | |
| - | 1 |
| + | 2 |
| values.version: | |
| - | "1.3.0" |
| + | "1.4.0" |
| values.basefeeScalar: | |
| + | 0 |
| values.blobbasefeeScalar: | |
| + | 0 |
| values.daFootprintGasScalar: | |
| + | 0 |
| +++ description: volatility param: lower denominator -> quicker fee changes on L2 | |
| values.eip1559Denominator: | |
| + | 0 |
| values.eip1559Elasticity: | |
| + | 0 |
| values.maximumGasLimit: | |
| + | 500000000 |
| values.minBaseFee: | |
| + | 0 |
| values.operatorFeeConstant: | |
| + | 0 |
| values.operatorFeeScalar: | |
| + | 0 |
| fieldMeta.gasLimit.description: | |
| - | "Gas limit for blocks on L2." |
| + | "Gas limit for blocks on L2. Future `setGasLimit` calls are bounded by `maximumGasLimit()` (500,000,000 in this implementation); the currently stored value is a pre-Arsia configuration above that bound and is retained as-is in storage." |
| implementationNames.eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3: | |
| - | "SystemConfig" |
| implementationNames.eth:0x9CA047689261E35c9e507b1BB0B7443C2A436310: | |
| + | "SystemConfig" |
| } |
| contract MantleSecurityMultisig (eth:0x4e59e778a0fb77fBb305637435C62FaeD9aED40f) { | |
| +++ description: None | |
| receivedPermissions.1.description: | |
| - | "it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system." |
| + | "it can update the batch submitter (Sequencer) address, the unsafe block signer, the L2 gas limit (bounded by `maximumGasLimit()`), the resource metering config, and all fee/gas parameters: legacy `setGasConfig(overhead, scalar)`, Arsia `setGasConfigArsia(basefeeScalar, blobbasefeeScalar)`, `setBaseFee`, `setEIP1559Params`, `setMinBaseFee`, `setDAFootprintGasScalar` and `setOperatorFeeScalars`." |
| } |
OPSuccinctL2OutputOracle updated rangeVkeyCommitment verification key (0x5d15e8...→0x05044f...). This is a hotfix addressing an issue where Mantle logic in revm was inconsistent with geth, which prevented the generation of the corresponding ZKP.
OPSuccinctL2OutputOracle updated rangeVkeyCommitment verification key (0x5d15e8…→0x05044f…). This is a hotfix addressing an issue where Mantle logic in revm was inconsistent with geth, which prevented the generation of the corresponding ZKP.
| contract OPSuccinctL2OutputOracle (eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481) { | |
| +++ description: Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function. | |
| values.rangeVkeyCommitment: | |
| - | "0x5d15e85151cc8f4b68d2721f675b0b8665a7a2752fa34ff935d5adbc3c8acab8" |
| + | "0x05044f60230e1ea664a43fa92e27735e3bbc97736c2e7ab961a5115a732a6da5" |
| } |
MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.
Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.
Funds can be frozen if the centralized validator goes down. Users cannot produce blocks themselves and exiting the system requires new block production (CRITICAL).
If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.
OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.

A Multisig with 6/14 threshold.
maximumGasLimit()), the resource metering config, and all fee/gas parameters: legacy setGasConfig(overhead, scalar), Arsia setGasConfigArsia(basefeeScalar, blobbasefeeScalar), setBaseFee, setEIP1559Params, setMinBaseFee, setDAFootprintGasScalar and setOperatorFeeScalarsA Multisig with 3/7 threshold.

Contains configuration parameters such as the batch submitter (Sequencer) address, the L2 gas limit, the unsafe block signer address and the Arsia fee/gas mechanics (base/blob scalars, EIP-1559 params, minimum base fee, DA footprint gas scalar and EIP-7706-style operator fee).
The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.


Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain’s epoch gas limit, it can be resubmitted via this contract’s replay function.
The main entry point to deposit ERC20 tokens from host chain to this chain.
All supported tokens in this escrow are included in the value secured calculation.
Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.
A timelock with access control. The current minimum delay is 1d.
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).