Metis supports Berlin + PUSH0 of Shanghai (Solidity v0.8.23 and lower)
Metis Docs
Faucet
MiscPredeploy

Core Predeploys

The Metis protocol consists of several contracts that are deployed on some specific addresses. The contracts have been deployed on L2, L1, Andromeda, and Metis Sepolia testnet. The Metis Github page shows all the core predeployed contracts addresses.

NetworkAndromeda (Mainnet)Sepolia (Testnet)
BondManager10x595801b85628ec6979C420988b8843A40F8505280xE0cDbb071144489b52Af578BDdea84dBDFd85576
CanonicalTransactionChain20x56a76bcC92361f6DF8D75476feD8843EdC70e1C90x5435d351e0aCc874579eC67Ba46440ee6AC892b8
ChainStorageContainer-CTC-batches30x38473Feb3A6366757A249dB2cA4fBB2C663416B70x92F90779986C294A22DC43C8f6aE1F5d8B2728E4
ChainStorageContainer-CTC-queue40xA91Ea6F5d1EDA8e6686639d6C88b309cF35D2E570x10A493fFAc17DCc6Ea70d8c3BD19160ea0d3822B
ChainStorageContainer-SCC-batches50x10739F09f6e62689c0aA8A1878816de9e166d6f90x185AB4701DBf521B44838fa72af99880730d5CE6
L1StandardBridge_for_verification_only60x101500214981e7A5Ad2334D8404eaF365C2c31130xd41bc137120BFcEd907093741ea402631d7616BE
Lib_AddressManager70x918778e825747a892b17C66fe7D24C618262867d0xa66Fa1eD0f1C1ee300893B4eb5493FeAD9a7e9c3
MVM_CanonicalTransaction_for_verification_only80x431e877E216714647a4DCcEFFC03d7B4Fd4B825E0xFD98b95ad84f459697c29aFA75229e93F6D2B8A2
MVM_DiscountOracle90xC8953ca384b4AdC8B1b11B030Afe2F05471664b00x4fd947DfF05a255F78E355C23c8B2E98bf029126
MVM_L2ChainManagerOnL1_for_verification_only100x9E2E3be85df5Ca63DE7674BA64ffD564075f3B480x8c52c668A23970759F21Cbc274fd63C8e4Bdfd4D
MVM_StateCommitmentChain_for_verification_only110x4549292213D41CB62E94e7E2DDC4b468a4CDD16d0xfaAd7fFe832775c66Fb3586f0AF3Ffc09B173ff2
MVM_Verifier120x9Ed4739afd706122591E75F215208ecF522C0Fd3
MVM_Verifier_for_verification_only130xB2e2060A179e67cA4299Cc79fA337B98791DE0690x88d98AfC2344F9554478C1CDf8062c7F32145176
OVM_L1CrossDomainMessenger140x8bF439ef7167023F009E24b21719Ca5f768Ecb360x22796245e27190cAFD7b50a93585f30f60a03f46
Proxy__MVM_CanonicalTransaction0x6A1DB7d799FBA381F2a518cA859ED30cB8E1d41a0x6281F34652359cfBa1781D84DAb939f99aaa0e29
Proxy__MVM_ChainManager0xf3d58D1794f2634d6649a978f2dc093898FEEBc00xEf3375Fc36007a585Ee6e73BF95797273f4F9b49
Proxy__MVM_StateCommitmentChain0xA2FaAAC9120c1Ff75814F0c6DdB119496a12eEA60x9DCC53737FcB3E86a17CF435ca3c15390D4FC7Ed
Proxy__MVM_Verifier0xe70DD4dE81D282B3fa92A6700FEE8339d2d9b5cb0x1B9B31E637278c207991F6e96074928728359A10
Proxy__OVM_L1CrossDomainMessenger0x081D1101855bD523bA69A9794e0217F0DB6323ff0x4542c621eEe9fC533c2e6bd80880C89990EE10cD
Proxy__OVM_L1StandardBridge0x3980c9ed79d2c191A89E02Fa3529C60eD6e9c04b0x9848dE505e6Aa301cEecfCf23A0a150140fc996e
StateCommitmentChain150xf209815E595Cdf3ed0aAF9665b1772e608AB93800xA059B3307f534943Ee6c710D9582B42543847Eb1

Footnotes

  1. BondManager is a component responsible for managing and maintaining bonds or collateral deposits that are used to secure the network.

  2. The CanonicalTransactionChain is essentially the ordered list of transactions that have been submitted to the Layer 2 chain. It serves as the official record of all transactions that have been processed and included in the chain.

  3. The ChainStorageContainer-CTC-batches is a data structure that holds batches of transactions which are part of the CanonicalTransactionChain in Layer 2 solutions like Optimistic Rollups.

  4. The ChainStorageContainer-CTC-queue is a data structure designed to manage and temporarily store transactions that are waiting to be included in the next batch of the CanonicalTransactionChain (CTC).

  5. The ChainStorageContainer-SCC-batches is a data structure that holds batches of state commitments within a state commitment chain (SCC). These commitments represent the state of the Layer 2 chain at various points in time.

  6. The L1StandardBridge is a smart contract deployed on Layer 1 (Ethereum mainnet) that handles the transfer of assets (such as ETH and ERC20 tokens) and messages between Layer 1 and Layer 2. The "for verification only" aspect indicates that this bridge is also responsible for verifying the correctness of state transitions and transactions that occur on Layer 2.

  7. The Lib_AddressManager is a smart contract utility that serves as a registry for storing and managing addresses of key contracts and components in a Layer 2 solution. This central address management helps ensure that all components can easily locate and interact with each other.

  8. The MVM_CanonicalTransaction_for_verification_only is a specialized component or function designed to handle the verification of transactions within a CanonicalTransactionChain. This component ensures that transactions are valid and adhere to the rules and protocols established by the Layer 2 (L2) solution.

  9. The MVM_DiscountOracle is a service or smart contract that provides information about discounts or reduced transaction fees within the MetaMask Virtual Machine (MVM) or another blockchain-based ecosystem. This oracle supplies data that can be used to adjust the cost of operations dynamically.

  10. The MVM_L2ChainManagerOnL1_for_verification_only is a smart contract or a set of smart contracts on the Ethereum mainnet (Layer 1) that manages and verifies the state and transactions of the Layer 2 chain. This component is focused solely on verification tasks to ensure the integrity and correctness of the L2 chain from the L1 perspective.

  11. The MVM_StateCommitmentChain_for_verification_only is a specialized module or smart contract that manages and verifies state commitments on the Metis Layer 2 (L2) chain. It is responsible for recording cryptographic commitments to the state of the L2 chain and ensuring these commitments are valid and secure.

  12. The MVM_Verifier is a smart contract or a module within the Metis Virtual Machine (MVM) dedicated to verifying the accuracy and integrity of transactions, state transitions, and other operations within the Layer 2 (L2) chain.

  13. The MVM_Verifier_for_verification_only is a component within the Metis Virtual Machine that exclusively handles the verification of transactions and state transitions. Its purpose is to ensure the validity and integrity of these operations, playing a crucial role in the security and reliability of the Metis Layer 2 chain.

  14. The OVM_L1CrossDomainMessenger is a smart contract deployed on the Ethereum mainnet (L1) that handles the sending and receiving of messages between Layer 1 and Layer 2. This component is essential for enabling cross-domain interactions, allowing contracts and users on L1 to communicate with contracts and users on L2.

  15. The SCC contract is a smart contract deployed on the L1 blockchain that records and manages cryptographic commitments to the state of the L2 chain. It plays a vital role in anchoring the L2 state to L1, ensuring security and verifiability.

On this page