Search

Search for projects by name

Metis Andromeda logoMetis Andromeda

Badges

About

Metis Andromeda is an EVM-equivalent solution originally forked from Optimism OVM. It uses a decentralized Sequencer pool running Tendermint consensus and MPC module to sign transaction batches.


Value secured
$156.30 M2.35%
Canonically Bridged
$156.30 M
Natively Minted
$0.00
Externally Bridged
$0.00

  • Tokens
  • Past day UOPS
    0.88173%
  • 30D ops count
    1.05 M
  • Gas token
    METIS

  • Stage
  • Type
    Optimistic Rollup
  • Purpose
    Universal
  • Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    Metis Andromeda is an EVM-equivalent solution originally forked from Optimism OVM. It uses a decentralized Sequencer pool running Tendermint consensus and MPC module to sign transaction batches.

    Recategorisation

    23d
    21h
    46m
    39s

    The project will be classified as "Other" due to its specific risks that set it apart from the standard classifications.

    The project will move to Others because:

    The proof system isn't fully functional

    Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds.

    Learn more about the recategorisation
    Value Secured

    2024 May 25 — 2025 May 25


    Total value securedTotal
    $156.30 M2.35%
    Canonically BridgedCanonically Bridged ValueCanonical
    $156.30 M2.35%
    Natively MintedNatively Minted TokensNative
    $0.000.00%
    Externally BridgedExternally Bridged ValueExternal
    $0.000.00%
    Activity

    2024 May 26 — 2025 May 25

    Milestones & Incidents

    Metis starts using blobs

    2025 May 13th

    Permissioned batcher is posting blobs to the inbox.

    Learn more

    Data hashes posted to EOA

    2023 Mar 15th

    Hashes to data blobs are now posted to EOA address instead of CanonicalTransactionChain contract.

    Learn more
    Risk summary
    Risk analysis
    Sequencer failureState validationData availabilityExit windowProposer failure
    Sequencer failure
    Enqueue via L1

    Users can submit transactions to an L1 queue, but can’t force them. The sequencers cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencers censor or are down, they are so for everyone.

    State validation
    None

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

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

    Rollup stageMetis AndromedaMetis Andromeda is a
    Stage 0
    Optimistic Rollup.
    The requirement for available node software is under review

    Learn more about Rollup stages
    Please keep in mind that these stages do not reflect rollup security, this is an opinionated assessment of rollup 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.
    Data availability

    All data required for proofs is published on chain

    Transaction data is posted to Ethereum using blobs. Initially, data was posted to the CanonicalTransactionChain contract, then it moved to just posting hashes to an EOA address, and as of May 2025, the system uses blobs for data availability.

    1. Blobs batcher - Metis source code
    Learn more about the DA layer here: Ethereum logoEthereum
    State validation
    No state validation

    Dispute game contracts for state validation are deployed but not used. In theory, disputed state batches can be marked as such in the StateCommitmentChain. Then, these flagged batches could be deleted (within the fraud proof window). Currenly, batches can only be deleted from the MVM_Verifier contract address, which currently corresponds to the Metis Multisig.

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

    1. DisputeGameFactory - No games are currently created
    Operator

    The system has a decentralized sequencer set

    As of April 2024 Metis uses a permissioned sequencer pool running a Tendermint consensus. Once consensus is reached on a block, an MPC address is used to submit a block hash to Ethereum. The infrastructure to manage the MPC is offchain and not trustless because Ethereum does not verify the validity of MPC address.

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

    1. Decentralized Sequencer - Metis documentation

    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.

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

    1. CanonicalTransactionChain - Etherscan source code
    Withdrawals

    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. The process of block finalization usually takes several days to complete.

    • 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. Withdrawing from Metis - Metis documentation

    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 from L1, including all forced withdrawals and deposits. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.

    Other considerations

    EVM compatible smart contracts are supported

    Metis uses the Optimistic Virtual Machine (OVM) 2.0 to execute transactions.

    • Funds can be lost if there are mistakes in the highly complex OVM implementation.

    1. MVM repository - Metis source code
    Permissions
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    Metis Multisig 0x48fE…cF21
    • A Multisig with 4/9 threshold. Can pause, censor, instantly upgrade the bridge and upgrade other critical contracts in the system.
    • Can upgrade with no delay
      • LockingInfo
        via - acting via ProxyAdmin
      • L1StandardBridge
      • MVM_CanonicalTransaction
      • StateCommitmentChain
      • LockingPool
        via - acting via ProxyAdmin
      • MVM_Verifier
      • MVM_L2ChainManagerOnL1
    RewardEscrowerMultisig 0x6247…0947
    • A Multisig with 2/4 threshold. Escrows staking rewards for Sequencers.
    • Can upgrade with no delay
      • DisputeGameFactory
        via - acting via ProxyAdmin
      • DelayedWMetis
        via - acting via ProxyAdmin
    Smart contracts
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    Ethereum

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

    CanonicalTransactionChain 0x56a7…e1C9

    The Canonical Transaction Chain (CTC) contract is an append-only log of transactions which must be applied to the OVM state. Given that transactions batch hashes are sent to an EOA address, it allows any account to enqueue() a transaction, which the Sequencer must eventually append to the rollup state.

    The State Commitment Chain (SCC) stores a list of proposed state roots in a linked ChainStorageContainer contract. Only a permissioned state root proposer (MVM_Proposer) can submit new state roots.

    • Roles:
      • admin: Metis Multisig
    Can be upgraded by:

    Contract acting as an escrow for METIS tokens managed by LockingPool.

    • Roles:
      • admin: ProxyAdmin; ultimately Metis Multisig
    Can be upgraded by:
    ChainStorageContainer-SCC-batches 0x1073…d6f9

    Storage container for SCC batches.

    Factory contract for creating dispute games. Currently not used, no games are created.

    • Roles:
      • admin: ProxyAdmin; ultimately EOA 1
    Can be upgraded by:
    ProxyAdmin 0x280f…6a21
    • Roles:
      • owner: EOA 1
    MetisConfig 0x2aA4…57Ff

    Contract used to manage configuration of global Metis values.

    ChainStorageContainer-CTC-batches 0x3847…16B7

    Storage container for CTC batches.

    Main entry point for users depositing ERC20 tokens and ETH that do not require custom gateway.

    • Roles:
      • admin: Metis Multisig
    • This contract can store any token.
    Can be upgraded by:
    FaultDisputeGame 0x477f…6235

    Contract for handling fault disputes (should games be created). Successfully disputed batches are marked as disputed to the StateCommitmentChain.

    BondManager 0x5958…0528

    The Bond Manager contract will handle deposits in the form of an ERC20 token from bonded Proposers. It will also handle the accounting of gas costs spent by a Verifier during the course of a challenge. In the event of a successful challenge, the faulty Proposer’s bond will be slashed, and the Verifier’s gas costs will be refunded. Current mock implementation allows only OVM_Proposer to propose new state roots. No slashing is implemented.

    MVM CanonicalTransaction is a wrapper of Canonical Transaction Chain that implements optimistic data availability scheme L1. If Sequencer is not malicious, it simply forwards appendSequencerBatch() calls to CanonicalTransactionChain.

    • Roles:
      • admin: Metis Multisig
    Can be upgraded by:
    PreimageOracle 0x789a…BBbC

    Oracle for providing preimages.

    MVM_DiscountOracle 0x7f6B…7063

    Oracle specifying user fees for sending L1 -> Metis messages and other parameters for cross-chain communication.

    ProxyAdmin 0x8FbB…D5C8
    • Roles:
      • owner: Metis Multisig
    Lib_AddressManager 0x9187…867d

    Contract used to manage a mapping of string names to addresses. Modern OP stack uses a different standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.

    Metis Token 0x9E32…ed8e

    Metis token contract.

    ChainStorageContainer-CTC-queue 0xA91E…2E57

    Storage container for CTC queue.

    Contract allowing users to lock tokens to apply to become a sequencer, receive rewards, unlock tokens to exit the sequencer, reward distribution.

    • Roles:
      • admin: ProxyAdmin; ultimately Metis Multisig
    Can be upgraded by:

    The MVM Verifier contract is responsible for verifying the state of the MVM.

    • Roles:
      • admin: Metis Multisig
    Can be upgraded by:

    Contract that allows METIS_MANAGER to switch Sequencer.

    • Roles:
      • admin: Metis Multisig
    Can be upgraded by:

    Delayed wrapped Metis token contract.

    • Roles:
      • admin: ProxyAdmin; ultimately EOA 1
    Can be upgraded by:

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