Search

Search for projects by name or address

Mantle logo
Mantle

Badges

About

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...


  • Total Value SecuredTVS
    $1.36 B1.21%
  • Past day UOPSDaily UOPS
    0.3530.9%
  • Stage
  • Gas token
    MNT

  • Type
    ZK Rollup
  • Purpose
    Universal
  • Chain ID
    5000

  • Tokens breakdown

    Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    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...


    Total
    Canonically BridgedCanonically Bridged ValueCanonical
    Natively MintedNatively Minted TokensNative
    Externally BridgedExternally Bridged ValueExternal

    ETH & derivatives
    Stablecoins
    BTC & derivatives
    Other

    2025 Jun 11 — 2026 Jun 11

    Past Day UOPS
    0.3530.9%
    Past Day Ops count
    30.52 K
    Max. UOPS
    25.47
    2023 Dec 27
    Past day UOPS/TPS Ratio
    <1.01

    The section shows the operating costs that L2s pay to Ethereum.


    2025 Jun 11 — 2026 Jun 11


    Total cost
    $7.82 K
    Avg cost per L2 UOP
    $0.000232
    Avg cost per day
    $21.43

    This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data toEthereumEthereum.


    2025 Jun 11 — 2026 Jun 11


    Data posted
    3.37 GiB
    Avg size per day
    9.47 MiB
    Avg size per L2 UOP
    108.47 B

    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.

    No ongoing anomalies detected

    2026 May 12 — Jun 11

    Avg. tx data subs. interval
    7 minutes
    Avg. state updates interval
    1 hour
    Past 30 days anomalies
    96% normal uptime

    Last 30 day anomalies

    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 36s 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 36s 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.

    Learn more

    Upgrade to OP Succinct

    2025 Sep 16th

    Mantle upgrades to OP Succinct, integrating ZK proofs for state validation.

    Learn more
    Sequencer failureState validationData availabilityExit windowProposer failure
    Sequencer failure
    Self sequence

    In the event of a sequencer failure, users can force transactions to be included in the project’s chain by sending them to L1. There can be up to a 12h delay on this operation.

    State validation
    Validity proofs (ST, SN)

    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.

    Data availability
    Onchain

    All of the data needed for proof construction is published on Ethereum L1.

    Exit window
    None

    There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.

    Proposer failure
    Cannot withdraw

    Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.

    Mantle
    Mantle is a
    Stage 0
    ZK Rollup.

    Learn more about Stages
    Please keep in mind that these stages do not reflect project security, this is an opinionated assessment of project maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal.

    All data required for proofs is published on chain

    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.

    1. Derivation: Batch submission - OP Mainnet specs
    2. BatchInbox - address
    3. OptimismPortal.sol - source code, depositTransaction function
    Learn more about the DA layer here: Ethereum logoEthereum
    Validity proofs

    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.

    1. Op-Succinct architecture

    Trusted Setups

    Onchain verifier

    Used in

    Mantle logoCelo logoMorph logoVector logoSophon logo

    Projects used in

    Search for projects used in

    Onchain verifier

    Used in

    Mantle logoCelo logoMorph logoVector logoSophon logo

    Projects used in

    Search for projects used in

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x0006...81cf
    Mantle logo
    0x1d1e...6004
    Mantle logo

    Past upgrades

    The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.

    Count of upgrades
    4
    Last upgrade
    1mo 26d ago
    Avg upgrade interval
    1y
    2026 May 15, 07:41 UTC
    4changes

    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"
    }
    2026 May 05, 17:15 UTC
    10changes

    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).

    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
    2026 April 24, 13:44 UTC
    18changes

    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
    }
    2026 April 16, 21:37 UTC
    High severity
    34changes

    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.

    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`."
    }
    2026 January 27, 17:03 UTC
    2changes

    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"
    }

    The system has a centralized operator

    The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.

    • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

    Users can force any transaction

    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.

    1. Sequencing Window - OP Mainnet Specs
    2. OptimismPortal.sol - source code, depositTransaction function

    Regular messaging

    The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks.

    • Funds can be frozen if the centralized validator goes down. Users cannot produce blocks themselves and exiting the system requires new block production (CRITICAL).

    1. OptimismPortal.sol - source code, proveWithdrawalTransaction function
    2. OptimismPortal.sol - source code, finalizeWithdrawalTransaction function

    Forced messaging

    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.

    1. Forced withdrawal from an OP Stack blockchain

    EVM compatible smart contracts are supported

    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.

    1. Introducing EVM Equivalence
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    MantleSecurityMultisig0x4e59…D40f

    A Multisig with 6/14 threshold.

    • Can upgrade with no delay
      • OPSuccinctL2OutputOracle
      • SystemConfig
      • L1CrossDomainMessenger
      • L1StandardBridge
      • OptimismPortal
    • Can upgrade with 1d delay
      • L1MantleToken
    • Can interact with OPSuccinctL2OutputOracle
      • can toggle between the optimistic mode and not optimistic (ZK) mode
    • Can interact with SystemConfig
      • 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
    • Can interact with TimelockController
      • cancel queued transactions
      • execute transactions that are ready
      • manage all access control roles with 1d delay or with no delay
      • propose transactions
    • Can interact with AddressManager
      • set and change address mappings
    MantleEngineeringMultisig0x2F44…daC9

    A Multisig with 3/7 threshold.

    • Can interact with OptimismPortal
      • Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless)
    SP1VerifierGatewayMultisig0xCafE…6878

    A Multisig with 2/3 threshold.

    • Can interact with SP1VerifierGateway
      • affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes
    Used in:
    • Can interact with SystemConfig
      • Allowed to commit transactions from the current layer to the host chain
    • Can interact with OPSuccinctL2OutputOracle
      • Allowed to post new state roots of the current layer to the host chain
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    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).

    • Roles:
      • admin: ProxyAdmin; ultimately MantleSecurityMultisig
      • batcherHash: EOA 1
      • owner: MantleSecurityMultisig

    The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.

    • Roles:
      • admin: ProxyAdmin; ultimately MantleSecurityMultisig
      • guardian: MantleEngineeringMultisig
    The following tokens are included in the value secured calculation:
    ETH token logoMNT token logo

    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.

    • Roles:
      • admin: ProxyAdmin; ultimately MantleSecurityMultisig

    The main entry point to deposit ERC20 tokens from host chain to this chain.

    • Roles:
      • admin: ProxyAdmin; ultimately MantleSecurityMultisig

    All supported tokens in this escrow are included in the value secured calculation.

    SP1Verifier0x0459…C459

    Verifier contract for SP1 proofs (v5.0.0).

    Implementation used in:
    MantleTokenProxyAdmin0x0cac…9ADd
    • Roles:
      • owner: TimelockController

    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.

    • Roles:
      • admin: ProxyAdmin; ultimately MantleSecurityMultisig
      • initialProposer: EOA 2
      • owner: MantleSecurityMultisig
    SP1VerifierGateway0x3B60…185e

    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.

    • Roles:
      • owner: SP1VerifierGatewayMultisig
    Implementation used in:

    MNT token contract: Mantle uses Mantle (MNT) as the designated gas token, allowing users pay for gas in MNT.

    • Roles:
      • admin: MantleTokenProxyAdmin; ultimately MantleSecurityMultisig
    TimelockController0x6533…447F

    A timelock with access control. The current minimum delay is 1d.

    • Roles:
      • canceller: MantleSecurityMultisig
      • defaultAdmin: MantleSecurityMultisig, TimelockController; ultimately MantleSecurityMultisig
      • executor: MantleSecurityMultisig
      • proposer: MantleSecurityMultisig
    SP1Verifier0x8a0f…Fc5C

    Verifier contract for SP1 proofs (v6.0.0).

    Implementation used in:
    SP1Verifier0xc3c6…AF2A
    Implementation used in:
    ProxyAdmin0xca35…7794
    • Roles:
      • owner: MantleSecurityMultisig

    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).

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x0006...81cf
    Mantle logo
    0x1d1e...6004
    Mantle logo