Mantle logoMantle

Value Locked

$88.39 M

0.41%

Canonically Bridged
$88.39 M (100%)
Externally Bridged
$0.00 (0%)
Natively Minted
$0.00 (0%)
  • Breakdown
  • Daily TPS
    2.9723.36%
  • 30D tx count
    6.79 M
  • Technology
    Optimium
  • Purpose
    Universal

  • ...

    View tokens

    Choose a token

    Canonically Bridged Tokens (Top 15)

    Can't find a token?

    Request it here

    Milestones

    Mainnet launch

    2023 Jul 14th

    Mantle is live on mainnet.

    Learn more
    Show more

    Description

    Fraud proof system is currently disabled. Slashing conditions for MantleDA are currently disabled. Users need to trust block Proposer to submit correct L1 state roots.

    Mantle is an EVM compatible Optimium that has been designed for use on the Ethereum network, based on the Optimism OVM architecture. It has a modular architecture trying to leverage EigenDA as Data Availability layer and Specular Network fraud proof system for fraud proofs. Note that as currently both of these technologies are yet to be fully launched on mainnet, Mantle needs to be considered “under development”. Additionally Mantle uses a set of nodes that are required to co-sign state roots via TSS (Threshold Signature Scheme). This component is intended to be eventually run by third parties, and act as an independent check on state validity prior to batch submission.

    If you find something wrong on this page you can submit an issue or edit the information.

    Risk Analysis

    Sequencer failureState validationData availabilityUpgradeabilityProposer failure

    State validation

    In development

    Currently the system permits invalid state roots. More details in project overview.

    Data availability

    External

    Proof construction and state derivation rely fully on data that is NOT published on chain. MantleDA contracts are forked from EigenDA with significant modifications, most importantly removal of slashing conditions. DA fraud proof mechanism is not live yet.

    Upgradeability

    Yes

    The code that secures the system can be changed arbitrarily and without notice.

    Sequencer failure

    Enqueue via L1

    Users can submit transactions to an L1 queue, but can’t force them. The sequencer cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencer censors or is down, it is so for everyone. The operators can also reset the batch index, effectively removing transactions from the chain from a certain point onwards.

    Proposer failure

    Cannot withdraw

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

    Technology

    Fraud proofs are in development

    Ultimately Mantle will use fraud proofs to enforce state correctness. This feature is currently in development and the system permits invalid state roots. Deriving the chain is based on data held externally by team, so it might not be possible to detect frauds, even offchain.

    • Funds can be stolen if an invalid state root is submitted to the system (CRITICAL).

    1. StateCommitmentChain.sol#L140 - Etherscan source code, permissioned state root deletion function without fraud proof
    2. Fraud proofs are not live - Mantle documentation

    Operator

    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.

    1. CanonicalTransactionChain.sol#L302 - Etherscan source code, appendSequencerBatch function: permissioned sequencer check
    2. StateCommitmentChain.sol#L111 - Etherscan source code, isCollateralized function: permissioned proposer check
    3. BondManager.sol#L31 - Etherscan source code, dummy isCollateralized function

    Users can enqueue transactions

    Users can submit transactions to an L1 queue, but can’t force them. The sequencer cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencer censors or is down, it is so for everyone. The operators can also reset the batch index, effectively removing transactions from the chain from a certain point onwards.

    • Users can be censored if the operator is offline or refuses to process the queue.

    1. CanonicalTransactionChain.sol#L210 - Etherscan source code, enqueue function
    2. CanonicalTransactionChain.sol#L539 - Etherscan source code, resetIndex function

    Withdrawals

    Regular exit

    The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is finalized the funds become available for withdrawal on L1. The process of block finalization usually takes several days to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.

    • 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. BondManager.sol#L31 - Etherscan source code, dummy isCollateralized function

    Other considerations

    EVM compatible smart contracts are supported

    Mantle is EVM compatible. 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 Mantle. Some opcodes behave differently.

    1. Solidity support - Mantle documentation

    Permissions

    The system uses the following set of permissioned addresses:

    OwnerMultisig 0x4e59…D40f

    This address can upgrade the following contracts: L1CrossDomainMessenger, L1StandardBridge, AddressManager, L1MantleToken, TssGroupManager, TssStakingSlashing, TssDelegationSlasher, TssDelegationManager, TssDelegation, EigenDataLayerChain, Rollup, AssertionMap, VerifierEntry. This is a Gnosis Safe with 6 / 13 threshold.

    Owner2Multisig 0x2F44…daC9

    This address is the owner of the following contracts: TssGroupManager, VerifierEntry, EigenDataLayerChain, L1CrossDomainMessenger, TssStakingSlashing, TssDelegationSlasher, TssDelegationManager, TssDelegation. It is also designated as the FraudVerifier, meaning it can delete state roots. This is a Gnosis Safe with 3 / 7 threshold.

    Those are the participants of the Owner2Multisig.

    Sequencer 0x2F6A…8376

    Central actor allowed to commit Mantle transactions to L1.

    Tss group

    Group of addresses that sign state updates usign a threshold signature scheme. Members of the group can be slashed by the group itself. It is managed by the TssGroupManager contract. It is equivalent to a 2 / 10 multisig.

    Addresses that can initiate a state root update and challenge them. They currently sit behind a whitelist.

    Addresses that stake on the Rollup contract. They are not in use yet.

    Smart Contracts

    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    The system consists of the following smart contracts:

    CanonicalTransactionChain 0x291d…aE93

    The Canonical Transaction Chain (CTC) contract is an append-only log of transactions which must be applied to the OVM state. It defines the ordering of transactions by writing them to the batches instance of the ChainStorageContainerCTC. CTC batches can only be submitted by OVM_Sequencer. The CTC also allows any account to enqueue a transaction, which the Sequencer must eventually append to the rollup state.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    StateCommitmentChain 0x89E9…D7fa

    The State Commitment Chain (SCC) contract contains a list of proposed state roots which Proposers assert to be a result of each transaction in the Canonical Transaction Chain (CTC). Elements here have a 1:1 correspondence with transactions in the CTC, and should be the unique state root calculated off-chain by applying the canonical transactions one by one. Only the BVM_Proposer (which currently resolves to the Rollup contract) is allowed to submit new state roots.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    ChainStorageContainerCTC 0x5Dd4…7F3E

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    ChainStorageContainerSCC 0xd3f0…b3bD

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    BondManager 0x31aB…B650

    Mock implementation of the contract supposed to handle deposits from proposers. The contract only allows the BVM_Proposer to publish state roots.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    The L1 Cross Domain Messenger (L1xDM) contract sends messages from L1 to Mantle, and relays messages from Mantle onto L1. In the event that a message sent from L1 to Mantle is rejected for exceeding the Mantle epoch gas limit, it can be resubmitted via this contract’s replay function. The contract is pausable by Owner.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    Main entry point for users depositing ERC20 tokens and ETH that do not require custom gateway. This contract can store any token. This contract can store any token.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    AddressManager 0x6968…5a42

    This is a library that stores the mappings between names and their addresses. Changing the values effectively upgrades the system. It is controlled by the OwnerMultisig.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    This contract controls the TSS group. It can update the public key, add and remove members, and check signed messages. Proposer’s state updates are signed by the TSS group.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    This contract handles staking and slashing of TSS group members. Only whitelisted actors can stake.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    Contract that manages different investing strategies related to delegation.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    Primary delegation contract.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    This contract is used to add or remove slashing contracts related to delegation.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    Main contract related to fraud proofs (not live yet). It is designated as the BVM_Proposer, meaning it can publish state roots. It is inspired by the Specular proof system.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    Contains the list of verifiers for the different EVM operations. Currently they are all set to the zero address.

    Can be upgraded by: OwnerMultisig

    Upgrade delay: No delay

    Extension of Rollup, contains the listst of assertions.

    Main contract related to data availability. The proof of custody mechanism is not live.

    Contract managing different investment strategies, forked from EigenLayer StrategyManager.

    Basic do-nothing investment strategy.

    Basic do-nothing investment strategy.

    PauserRegistry 0x075a…A86f
    PauserRegistry2 0x4ca7…92D0

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