Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Welcome to the Metis Decentralized Sequencer Operation Guide.
This document serves as a comprehensive resource to understand the principles, functionalities, and operations of sequencer nodes in the Metis Layer 2 network.
With the introduction of Decentralized Sequencers, Metis aims to achieve full decentralization of its Layer 2 networks, overcoming the limitations of traditional centralized sequencers. This system is designed to enhance security, scalability, and transparency while ensuring fault tolerance and efficient transaction ordering.
Decentralized Sequencers are key entities within the Metis Layer 2 ecosystem, responsible for:
Sequencing transactions and assembling blocks on the Metis Layer 2 chain.
Submitting batched transactions to Ethereum Layer 1 for security and finality.
Ensuring seamless rotation and fault tolerance through decentralized governance.
Unlike centralized systems, Metis leverages a pool of decentralized sequencers to distribute responsibilities and eliminate single points of failure. This model enhances the resilience of the network while fostering community-driven participation.\
The transition to decentralized sequencers is a critical milestone for Metis. The primary objectives include:
Resilience and Security: Elimination of single points of failure by distributing the sequencing process across multiple nodes.
Fair Participation: Introducing a weighted voting mechanism based on staked METIS tokens, ensuring fairness in sequencer selection.
Governance and Accountability: Establishing governance mechanisms to penalize malicious behavior and reward contributors.
Efficiency and Scalability: Ensuring efficient transaction processing and block production across the Layer 2 network.
Sequencer Rotation
Ensures fair distribution of block production roles.
Utilizes a rotation mechanism managed by the Proof-of-Stake (PoS) consensus layer and smart contracts.
Fault Tolerance
Automatic reselection of sequencers in case of failure or malicious activity.
Guarantees network stability by replacing inactive or misbehaving sequencers.
Community Governance
Decentralized governance ensures community participation in decision-making.
Slashing mechanisms to penalize malicious behavior and reward honest participants.
Transparency
Publicly auditable sequencer operations and rotation records.
All sequencer-related actions are stored on-chain, ensuring transparency.
To become a Sequencer during the first year of the trial operation phase, you must join the whitelist (Please check out whitelist page for more information). To apply, please submit a proposal to become a sequencer on the Metis Governance forum. A team member will contact you.
Anyone can become a sequencer by meeting the technical and staking requirements. The process includes:
Locking a minimum amount of METIS tokens.
Setting up and running a sequencer node with the required technical specifications.
Complying with governance rules and participating in community voting.
Detailed guides for both Mainnet and Testnet are available:
To become a Sequencer during the first year of the trial operation phase, you must join the whitelist. To apply, please submit a proposal to become a sequencer on the . A team member will contact you.
We hope you can contribute to the Metis ecosystem by:
Having experience in operating blockchain nodes.
Possessing servers and network environments that meet the requirements (see below).
Holding and locking a certain amount of METIS. The current lock-up threshold is 20,000 METIS, with a maximum of 100,000 METIS allowed for lock-up.
We will adjust the threshold and cap through governance based on how the pool operates. You can acquire METIS through the open market or by participating in the Sequencer pool's mining activity by locking up METIS.
We will gradually increase the number of Sequencers and phase out the whitelist mechanism, allowing more flexible and free joining of the Metis Sequencer Pool through governance.
METIS is the utility token of the Metis Andromeda network, the same way that Ether is to Ethereum. To use the Metis network, you need METIS tokens to pay for gas fees. Locking Metis benefits the whole network, increasing its security while also reducing the circulating supply of tokens.
All activities related to locking, rewards, and additional locking operations for Sequencers are executed on the Ethereum L1 mainnet (chainid: 1). These smart contracts form the backbone of Sequencer lifecycle management, enabling seamless integration into the Metis ecosystem.
The following contracts are critical for Sequencer operations:
Sequencers can interact directly with these contracts to manage rewards, lock-ups, and related activities without requiring frontend tools.
Review Technical Documentation Thoroughly review all technical documentation to understand the operational and technical requirements for running a Sequencer.
Apply for Whitelist Submit an application to join the Sequencer whitelist, which is required to begin operations.
Set Up and Run Your Sequencer Deploy your Sequencer node, configure it correctly, and securely back up your private keys. Detailed setup instructions are available in the README.md file.
Submit Sequencer Information Provide your Sequencer details via a pull request to the GitHub repository. This should include:
name: Your Sequencer's name.
avatar: URL for your Sequencer's logo or avatar.
url: Website or social profile link (must start with https://
).
address: Whitelist address for Sequencer lock-up.
seq_addr: Sequencer address generated by the node.
pubkey: Uncompressed public key generated by your server (ensure to remove any extra 04
characters).
desc: A brief description of your organization or individual setup.
Approve Locking Tokens
Approve the desired amount of METIS tokens to be locked using the LockingInfo
contract as the spender.
Lock METIS Tokens
Use the LockPool contract to lock METIS tokens by calling either the lockFor
or lockWithRewardRecipient
method, depending on whether you are assigning a reward recipient.
Check Sequencer Status
Use the sequencers
method in the LockingPool contract to verify your Sequencer's status and rewards.
Claim Mining Rewards
Retrieve accrued mining rewards using the withdrawRewards
method. If you have not assigned a reward recipient, use the setSequencerRewardRecipient
method to configure one before claiming rewards.
The LockingPool contract provides key methods to efficiently manage Sequencer operations, including querying status, locking tokens, and handling rewards.
Reading Contract Information
seqOwners
Retrieves comprehensive Sequencer status using the owner's address.
Parameter: seqId (uint256)
- The Sequencer ID.
Response: Returns details of the Sequencer's operational state.
seqSigners
Retrieves Sequencer information using the signer's address.
Parameter: seqId (uint256)
- The Sequencer ID.
Response: Returns details of the Sequencer's operational state.
sequencers
Accesses all detailed information about a Sequencer using its ID.
Parameter: seqId (uint256)
- The Sequencer ID.
Response:
Writing Contract Information
lockFor
Locks METIS tokens and assigns Sequencer ownership.
Parameters:
_signer (address)
: Sequencer signer address.
_amount (uint256)
: Amount of METIS tokens to lock.
_signerPubkey (bytes)
: Uncompressed public key of the signer.
lockWithRewardRecipient
Similar to lockFor
, but includes an additional parameter to specify a reward recipient.
Parameters:
_signer (address)
: Sequencer signer address.
_rewardRecipient (address)
: Reward recipient address.
_amount (uint256)
: Amount of METIS tokens to lock.
_signerPubkey (bytes)
: Uncompressed public key.
relock
Adds more tokens to an existing lock or locks accrued rewards.
Parameters:
_seqId (uint256)
: Sequencer ID.
_amount (uint256)
: Additional tokens to lock (can be 0
if relocking rewards).
_lockReward (bool)
: Whether to lock current rewards.
setSequencerRewardRecipient
Updates or assigns a reward recipient address.
Parameters:
_seqId (uint256)
: Sequencer ID.
_recipient (address)
: New reward recipient address.
withdrawRewards
Withdraws accrued rewards to the specified address.
Parameters:
_seqId (uint256)
: Sequencer ID.
_l2Gas (uint32)
: Gas limit for the operation.
unlock
Initiates the unlocking process for METIS tokens.
Parameters:
_seqId (uint256)
: Sequencer ID.
_l2Gas (uint32)
: Gas limit for the bridge operation.
unlockClaim
Claims unlocked tokens after the mandatory 21-day waiting period.
Parameters:
_seqId (uint256)
: Sequencer ID.
_l2Gas (uint32)
: Gas limit.
withdraw
Partially withdraws locked tokens while maintaining the minimum lock balance.
Parameters:
_amount (uint256)
: Amount to withdraw.
_seqId (uint256)
: Sequencer ID.
Always verify recipient addresses before submitting transactions, especially for rewards or withdrawals.
Securely manage and back up private keys for long-term Sequencer integrity.
Monitor gas parameters closely to avoid transaction failures.
Contract
Address
LockingInfo
0x0fe382b74c3894b65c10e5c12ae60bbd8faf5b48
LockingPool
0xd54c868362c2098e0e46f12e7d924c6a332952dd
To become a Sequencer during the first year of the trial operation phase, you must join the whitelist. To apply, please submit a proposal to become a sequencer on the Metis Governance forum. A team member will contact you.
We hope you can contribute to the Metis ecosystem by:
Having experience in operating blockchain nodes.
Possessing servers and network environments that meet the requirements (see below).
Holding and locking a certain amount of METIS. The current lock-up threshold is 20,000 METIS, with a maximum of 100,000 METIS allowed for lock-up or pairing with a partner (such as an LST or an investor) that holds 20K-100K tokens.
We will adjust the threshold and cap through governance based on how the pool operates. You can acquire METIS through the open market or by participating in the Sequencer pool's mining activity by locking up METIS.
We will gradually increase the number of Sequencers and phase out the whitelist mechanism, allowing more flexible and free joining of the Metis Sequencer Pool through governance.
METIS is the utility token of the Metis Andromeda network, the same way that Ether is to Ethereum. To use the Metis network, you need METIS tokens to pay for gas fees. Locking Metis benefits the whole network, increasing its security while also reducing the circulating supply of tokens.
The Metis Sequencer Operation page provides comprehensive resources for understanding and managing the operations of Sequencers on both the Mainnet and Testnet environments. This documentation is designed to guide developers, operators, and participants in efficiently running and maintaining Sequencer nodes while ensuring a seamless experience in supporting the decentralized Metis Layer 2 network.
To streamline your journey, we have divided the guides into two sections:
Mainnet Sequencer Operation Guide: A detailed walkthrough for setting up and maintaining Sequencer nodes on the Metis Mainnet. This guide includes specific steps for locking METIS tokens, node synchronization, and managing mining rewards.
Testnet Sequencer Operation Guide: A preparatory guide for deploying Sequencers in the Testnet environment. This guide helps you familiarize yourself with the Sequencer workflow, enabling you to test operations and configurations in a sandboxed environment before transitioning to the Mainnet.
What is a Sequencer?
Sequencers are integral components of the Metis Layer 2 network, responsible for:
Transaction validation: Ensuring that user transactions are received, validated, and packaged into blocks.
Block production: Sequentially producing blocks and submitting them to the Layer 1 Ethereum network.
Network security: Contributing to the decentralization and security of the Metis blockchain by participating in multi-party computation (MPC) and staking METIS tokens.
By participating as a Sequencer, you directly support the reliability, scalability, and decentralization of the Metis network.
Where to Start?
For new operators:
Begin with the Testnet Sequencer Operation Guide to understand the process and test your setup in a controlled environment.
For experienced operators:
Proceed to the Mainnet Sequencer Operation Guide for detailed instructions on participating in the live Metis network.
Smart Contracts play a critical role in the Metis Layer 2 ecosystem, enabling secure and decentralized management of Sequencer operations and network activities. This section provides detailed natSpec (Ethereum Natural Specification Format) documentation for both Mainnet and Testnet contracts. By adhering to natSpec standards, we ensure clarity and transparency for developers and auditors alike.
The Smart Contract (natSpec) section is split into two key guides:
Mainnet Smart Contract (natSpec): Detailed documentation for contracts deployed on Ethereum Mainnet, covering production-grade operations and locking mechanisms for METIS tokens.
Testnet Smart Contract (natSpec): Documentation for contracts deployed on Sepolia Testnet, offering a sandbox environment for testing and experimentation.
Why is the Whitelist Required?
The whitelist mechanism helps maintain the stability and security of the network by allowing only approved entities to become Sequencers. Over time, the whitelist will be phased out to enable open and flexible participation governed by community governance.
To participate in the initial phases of the Metis Decentralized Sequencer Pool, prospective Sequencers need to apply for the Whitelist. This ensures that only qualified and committed participants join the network during its early operations.
Submit an Application:
Visit the Metis Governance Forum and submit a proposal to become a Sequencer.
Provide details about your experience with blockchain nodes, your infrastructure, and why you want to participate in the Sequencer Pool.
Example Proposal:
Experience operating blockchain nodes like Ethereum, Polygon, Cosmos, etc.
Description of server and network environment meeting the required specifications.
METIS holdings available for the required lock-up.
Review by Governance:
Your proposal will be reviewed by the Metis governance team or community. This ensures that participants align with the network’s decentralization goals and technical standards.
Team Contact:
A team member from Metis will contact you regarding your application status and next steps.
Whitelist Requirements
To qualify for the whitelist:
Technical Experience: Experience operating blockchain nodes and maintaining infrastructure.
Infrastructure Readiness: Servers and network configurations that meet the technical requirements, such as:
CPU: c5.2xlarge or equivalent
Storage: 500Gi ebs gp3 with 200 MB/s throughput
P2P Port Configuration as specified in Metis technical documents.
Token Lock-Up: Ability to lock a minimum of 20,000 METIS tokens on Ethereum L1 (chainid:1). The maximum lock-up is 100,000 METIS.
All locking, reward distribution, and additional locking operations for Sequencers are executed on the Sepolia Testnet. These contracts are integral to managing the Sequencer lifecycle and ensuring smooth participation in the network.
Key Contracts
The following contracts are essential for Sequencer operations:
Contract
Address
LockingInfo
0x390A6fE63385522E87e248BC5200f7d3a02F994b
LockingPool
0x7591940125cC0344a65D60319d1ADcD463B2D4c3
Sequencers can perform all operations, including managing rewards and lock-ups, directly through these contracts without needing frontend access.
The following methods are provided to manage Sequencers efficiently. These include querying and updating your Sequencer's status, locking tokens, and handling rewards.
Read Contract Information
seqOwners
Retrieves all operational details of a Sequencer using the owner address.
Parameter:
seqId (uint256)
: Sequencer ID.
Response: Detailed Sequencer operational state.
seqSigners
Retrieves Sequencer information using the signer address.
Parameter:
seqId (uint256)
: Sequencer ID.
Response: Detailed Sequencer operational state.
sequencers
Accesses all relevant details of a Sequencer using its ID.
Parameter:
seqId (uint256)
: Sequencer ID.
Response:
Write Contract Information
lockFor
Locks METIS tokens and assigns Sequencer ownership.
Parameters:
_signer (address)
: Sequencer signer address.
_amount (uint256)
: Amount of METIS to lock.
_signerPubkey (bytes)
: Uncompressed public key of the signer.
lockWithRewardRecipient
Similar to lockFor
, but allows specifying a reward recipient at the outset.
Parameters:
_signer (address)
: Sequencer signer address.
_rewardRecipient (address)
: Reward recipient address.
_amount (uint256)
: Amount of METIS to lock.
_signerPubkey (bytes)
: Uncompressed public key.
relock
Adds additional tokens to an existing lock or locks accrued rewards.
Parameters:
_seqId (uint256)
: Sequencer ID.
_amount (uint256)
: Amount to relock.
_lockReward (bool)
: Whether to lock rewards.
setSequencerRewardRecipient
Updates or assigns a reward recipient for a Sequencer.
Parameters:
_seqId (uint256)
: Sequencer ID.
_recipient (address)
: New reward recipient address.
withdrawRewards
Withdraws accrued rewards to the specified address.
Parameters:
_seqId (uint256)
: Sequencer ID.
_l2Gas (uint32)
: Gas limit for the operation.
unlock
Initiates the unlocking process for METIS tokens.
Parameters:
_seqId (uint256)
: Sequencer ID.
_l2Gas (uint32)
: Gas limit for the bridge operation.
unlockClaim
Claims unlocked tokens after the 21-day waiting period.
Parameters:
_seqId (uint256)
: Sequencer ID.
_l2Gas (uint32)
: Gas limit.
withdraw
Partially withdraws locked tokens, ensuring the remaining balance meets the minimum lock requirement.
Parameters:
_amount (uint256)
: Amount to withdraw.
_seqId (uint256)
: Sequencer ID.
What are the risks associated with sequencer mining?
In case of bad performance or malicious acting, the particular sequencer pool participant’s locked tokens would be slashed.
In what cases a particular sequencer is considered malicious?
Cases would include but not limited to:
Transaction manipulation (MEV or sandwiching)
Malicious Execution Result Modification: If a node modifies the execution result of a block, it will fail validation by other sequencers. This will cause other sequencers to stop producing blocks. The node will then be forced to produce a new block with the correct execution result.
How is “bad performance” defined? Cases would include but not limited to:
Failing to produce a block during a certain period of time
Slow performance: if the sequencer fails to produce the blocks vastly behind the average timing of other sequencers
Multiple Node Outages: If multiple nodes go offline at the same time, and they are all malicious, they should be punished more severely. This includes nodes that represent more than 1/3 of the total number of sequencers
Accumulated Unpacked Blocks:
If a node does not pack a block for a certain number of transactions, other sequencers can vote to slash it.
The Decentralized Sequencer Pool is a critical step towards complete decentralization of Metis’ Layer 2 network, eliminating single points of failure associated with centralized sequencers. By combining existing decentralized P2P validators and block producers, it enhances stability, scalability, and fault tolerance.
Prerequisites to running a sequencer: Need to be approved by governance. See How to become a sequencer for more details.
Follow the provided technical documentation to deploy and initialize your Sequencer node:
Initialization:
Install and configure Docker Compose or Kubernetes on your server.
Run the Sequencer node setup script:
Generate the Sequencer address, private key, and public key during initialization.
Back up your private key securely. Loss of the key may result in irrecoverable consequences.
Configuration:
Deploy your node as instructed in the README file using Docker Compose or Kubernetes.
Ensure your private key address is backed up, and generate a local private key file for secure storage.
Submit your node's details via a GitHub pull request for inclusion in the Metis Decentralized Sequencer Dashboard:
Refer to Metis-Sequencer-Resources /sequencers/1088
to submit your sequencer information:
Required Information:
Name: Name of your Sequencer.
Avatar: A profile image/logo.
URL: Your organization's website or profile link (e.g., X.com link).
Address: The whitelist address for sequencer lock-up.
Seq_addr: The sequencer address provided by the server after you run the Sequencer.
Pubkey: The public key provided by the server after you run the Sequencer. Please remove the extra ‘04’ characters from the generated pubkey..
Description: Brief introduction about you or your organization.
Submission Steps:
Fork the Metis-Sequencer-Resources Repository.
Create a new branch and add your Sequencer details.
Submit a pull request for approval.
Run the node and wait for block synchronization to complete:
Check the logs of the bridge container. Wait until the “Waiting for themis to be synced
” message disappears, indicating that themis is synchronized to the latest height.
Query eth_getBlockByNumber
via the l2geth RPC to confirm the block height if it is synchronized to the latest.
Once both the Bridge and L2geth are fully synchronized, you can proceed with the lock operation.
Note: Ensure synchronization is complete before proceeding. Continuing operations before synchronization is finished may result in lock events not being recognized.
You can complete the locking process through the Sequencer Mining page. Alternatively, you can interact directly with the contract to bypass the frontend operations. Please refer to the “Contract” section for more details.
Locking Options
You can lock METIS tokens using one of the following methods:
Via Sequencer Mining Page:
Access the user-friendly interface to complete the locking process directly through the Sequencer Mining page.
Direct Contract Interaction:
For advanced users, bypass the frontend and interact directly with the smart contract. Refer to the "Contract" section for detailed instructions and required method calls.
\
Wallet Whitelisting
Once your wallet address is added to the whitelist, you'll notice a "Become a Sequencer" button after connecting your MetaMask wallet. To initiate the process:
Connect Your Wallet: Ensure your MetaMask is connected to the Ethereum network.
Start the Process: Click the "Become a Sequencer" button to begin.
Pre-Requisites
Before proceeding:
Minimum METIS Tokens: Ensure your wallet holds at least 20,000 METIS on the Ethereum Sepolia Test tokens.
Node Setup
Set up your Sequencer node using Metis Kubernetes Helm charts. While Kubernetes is the recommended method for deployment, additional deployment options will be introduced in the future.
Token Lock-Up
The lock-up process is a critical step for participating in the Sequencer Pool:
Lock-Up Amount:
Enter the amount of METIS tokens you want to lock, ensuring a minimum of 20,000 METIS and a maximum of 100,000 METIS.
Confirm Transaction:
Click "CONFIRM" to execute the lock-up transaction and confirm it in your wallet.
Important Considerations
Lock-Up Cap: The maximum lock-up amount is 100,000 METIS. Transactions exceeding this cap will still execute; however, rewards will be calculated based on the capped amount of 100,000 METIS.
Partial Withdrawals: The functionality to partially withdraw locked tokens is not available yet. If you accidentally lock more than intended, you will need to exit and rejoin the Sequencer Pool. Note that there is a 21-day exit period, during which rewards will not accrue.
Plan Carefully: Only lock the amount of METIS you are comfortable with, keeping in mind the operational limits and restrictions.
Completion
Once the lock-up process is complete and you see the "Complete" confirmation page, congratulations—your Sequencer setup is now successful, and you are ready to operate as part of the Metis Decentralized Sequencer Pool.
Important:
Rewards are capped at 100,000 METIS lock-up.
Withdrawals before the 21-day exit period are not allowed.
Once your Sequencer node is successfully running, proceed to the Sequencer Dashboard to monitor and manage your node.
What You Can Do on the Dashboard:
View Operational Metrics: Access real-time data about your Sequencer's performance, such as block production status and synchronization progress.
Check Rewards: Monitor your earned mining rewards and track reward distribution details.
Node Health Status: Ensure your node is operational and meeting network requirements.
This centralized dashboard provides you with a streamlined view of all essential metrics, making it easier to manage and optimize your Sequencer operations.
To ensure your Sequencer operates efficiently and generates consistent earnings, follow these guidelines:
Server and Network Health:
Maintain a stable server environment and network connection.
Regularly monitor your node’s performance metrics to ensure proper block packaging and production.
Log Monitoring:
Review system logs frequently to detect and resolve any issues promptly.
Software Updates:
Keep your Sequencer node software updated to the latest version to avoid compatibility issues and ensure optimal performance.
If you encounter any issues or need assistance:
Join the Community: Connect with other Sequencer operators on the Metis Sequencer group via:
Discord
Telegram
Get Quick Help: These groups provide real-time communication and a platform to share solutions and receive technical support from the Metis team and the community.
Efficient daily operations and active engagement with the community will help you maintain your node's uptime and maximize your earnings.
Once your Sequencer starts earning rewards, you can claim them through the Sequencer Dashboard:
Please double-check your wallet address before submitting. If you are using a contract address, make sure it is the correct contract address on Metis Sepolia. Entering an incorrect address could result in the loss of rewards.
Steps to Claim Rewards:
View Unclaimed Rewards:
Navigate to the Dashboard to check your current unclaimed rewards.
Initiate Claim Transaction:
Click the "Claim" button to begin the reward distribution process.
Confirm or Modify Wallet Address:
Verify your wallet address in the popup window.
If needed, modify the address before submitting the transaction.
Rewards Distribution:
The rewards will be transferred to your specified address on the Metis Sepolia network.
Important Notes:
Double-check your wallet address to avoid errors.
For contract addresses, ensure the address is correct and active on the Metis Sepolia network to prevent the loss of rewards.
Increasing Your Lock-Up Amount
Dashboard Update:
On the Sequencer Dashboard, view the current amount of locked METIS.
Increase Lock-Up:
Enter the additional METIS amount in the "Increase" field and confirm the transaction.
Maximum Cap:
The lock-up cap remains at 100,000 METIS. Attempts to lock more will not yield additional rewards.
Partial Withdrawals
Eligibility:
You can withdraw any amount exceeding the 20,000 tMETIS minimum lock-up.
The withdrawable amount is calculated as: &#xNAN;Total locked tokens – 20,000 tMETIS.
Initiate Withdrawal:
On the Dashboard, click "Partial Withdraw."
Enter the desired amount, confirm the transaction in the popup, and validate it in MetaMask.
Token Transfer:
The withdrawn tMETIS will be sent to your Owner address.
1
Exiting the Sequencer Pool
Initiate Unlock:
Click the "Unlock" button on the Dashboard and confirm the exit transaction in MetaMask.
21-Day Exit Period:
Your Sequencer will enter a 21-day waiting period during which:
Rewards will not be earned.
Block production will stop.
Final Withdrawal:
After 21 days, return to the Dashboard to withdraw your locked tMETIS.
Penalties for Malicious Behavior or Poor Performance:
The Sequencer Pool enforces penalties to maintain network security and reliability. Actions that may lead to penalties include:
Malicious Behavior:
Transaction manipulation (e.g., MEV, sandwich attacks).
Altering block execution results, causing block validation failures.
Poor Performance:
Failing to produce blocks within the required time frame.
Frequent node outages or delays.
Accumulating unprocessed transactions.
Mining Reward Rate (MRR):
The Estimated MRR is 20%, designed to incentivize Sequencer participation.
Rewards are calculated per block and updated every two weeks to maintain the target MRR.
By following these guidelines, Sequencers can efficiently claim rewards, increase or withdraw their lock-up amounts, and avoid penalties while contributing to the security and stability of the Metis network.
The Decentralized Sequencer Pool is a critical step towards complete decentralization of Metis’ Layer 2 network, eliminating single points of failure associated with centralized sequencers. By combining existing decentralized P2P validators and block producers, it enhances stability, scalability, and fault tolerance.
Prerequisites to running a sequencer: Need to be approved by governance. See How to become a sequencer for more details.
Follow the provided technical documentation to deploy and initialize your Sequencer node:
Initialization:
Install and configure Docker Compose or Kubernetes on your server.
Run the Sequencer node setup script:
Generate the Sequencer address, private key, and public key during initialization.
Back up your private key securely. Loss of the key may result in irrecoverable consequences.
Configuration:
Deploy your node as instructed in the README file using Docker Compose or Kubernetes.
Ensure your private key address is backed up, and generate a local private key file for secure storage.
Submit your node's details via a GitHub pull request for inclusion in the Metis Decentralized Sequencer Dashboard:
Refer to Metis-Sequencer-Resources to submit your sequencer information:
Required Information:
Name: Name of your Sequencer.
Avatar: A profile image/logo.
URL: Your organization's website or profile link (e.g., X.com link).
Address: The whitelist address for sequencer lock-up.
Seq_addr: The sequencer address provided by the server after you run the Sequencer
Pubkey: The public key provided by the server after you run the Sequencer. Please remove the extra ‘04’ characters from the generated pubkey..
Description: Brief introduction about you or your organization.
Submission Steps:
Fork the Metis-Sequencer-Resources Repository.
Create a new branch and add your Sequencer details.
Submit a pull request for approval.
Run the node and wait for block synchronization to complete:
Check the logs of the bridge container. Wait until the “Waiting for themis to be synced
” message disappears, indicating that themis is synchronized to the latest height.
Query eth_getBlockByNumber
via the l2geth RPC to confirm the block height if it is synchronized to the latest.
Once both the Bridge and L2geth are fully synchronized, you can proceed with the lock operation.
Note: Ensure synchronization is complete before proceeding. Continuing operations before synchronization is finished may result in lock events not being recognized.
You can complete the locking process through the Sequencer Mining page. Alternatively, you can interact directly with the contract to bypass the frontend operations. Please refer to the “Contract” section for more details.
Locking Options
You can lock METIS tokens using one of the following methods:
Via Sequencer Mining Page:
Access the user-friendly interface to complete the locking process directly through the Sequencer Mining page.
Direct Contract Interaction:
For advanced users, bypass the frontend and interact directly with the smart contract. Refer to the "Contract" section for detailed instructions and required method calls.
\
Wallet Whitelisting
Once your wallet address is added to the whitelist, you'll notice a "Become a Sequencer" button after connecting your MetaMask wallet. To initiate the process:
Connect Your Wallet: Ensure your MetaMask is connected to the Ethereum network.
Start the Process: Click the "Become a Sequencer" button to begin.
Pre-Requisites
Before proceeding:
Minimum METIS Tokens: Ensure your wallet holds at least 20,000 METIS on the Ethereum mainnet.
Node Setup
Set up your Sequencer node using Kubernetes for deployment. While Kubernetes is the recommended method for deployment, additional deployment options will be introduced in the future.
Token Lock-Up
The lock-up process is a critical step for participating in the Sequencer Pool:
Lock-Up Amount:
Enter the amount of METIS tokens you want to lock, ensuring a minimum of 20,000 METIS and a maximum of 100,000 METIS.
Confirm Transaction:
Click "CONFIRM" to execute the lock-up transaction and confirm it in your wallet.
Important Considerations
Lock-Up Cap: The maximum lock-up amount is 100,000 METIS. Transactions exceeding this cap will still execute; however, rewards will be calculated based on the capped amount of 100,000 METIS.
Partial Withdrawals: The functionality to partially withdraw locked tokens is not available yet. If you accidentally lock more than intended, you will need to exit and rejoin the Sequencer Pool. Note that there is a 21-day exit period, during which rewards will not accrue.
Plan Carefully: Only lock the amount of METIS you are comfortable with, keeping in mind the operational limits and restrictions.
Completion
Once the lock-up process is complete and you see the "Complete" confirmation page, congratulations—your Sequencer setup is now successful, and you are ready to operate as part of the Metis Decentralized Sequencer Pool.
Important:
Rewards are capped at 100,000 METIS lock-up.
Withdrawals before the 21-day exit period are not allowed.
Once your Sequencer node is successfully running, proceed to the Sequencer Dashboard to monitor and manage your node.
What You Can Do on the Dashboard:
View Operational Metrics: Access real-time data about your Sequencer's performance, such as block production status and synchronization progress.
Check Rewards: Monitor your earned mining rewards and track reward distribution details.
Node Health Status: Ensure your node is operational and meeting network requirements.
This centralized dashboard provides you with a streamlined view of all essential metrics, making it easier to manage and optimize your Sequencer operations.
To ensure your Sequencer operates efficiently and generates consistent earnings, follow these guidelines:
Server and Network Health:
Maintain a stable server environment and network connection.
Regularly monitor your node’s performance metrics to ensure proper block packaging and production.
Log Monitoring:
Review system logs frequently to detect and resolve any issues promptly.
Software Updates:
Keep your Sequencer node software updated to the latest version to avoid compatibility issues and ensure optimal performance.
If you encounter any issues or need assistance:
Join the Community: Connect with other Sequencer operators on the Metis Sequencer group via:
Discord
Telegram
Get Quick Help: These groups provide real-time communication and a platform to share solutions and receive technical support from the Metis team and the community.
Efficient daily operations and active engagement with the community will help you maintain your node's uptime and maximize your earnings.
Once your Sequencer starts earning rewards, you can claim them through the Sequencer Dashboard:
Please double-check your wallet address before submitting. If you are using a contract address, make sure it is the correct contract address on Metis Andromeda. Entering an incorrect address could result in the loss of rewards.
Steps to Claim Rewards:
View Unclaimed Rewards:
Navigate to the Dashboard to check your current unclaimed rewards.
Initiate Claim Transaction:
Click the "Claim" button to begin the reward distribution process.
Confirm or Modify Wallet Address:
Verify your wallet address in the popup window.
If needed, modify the address before submitting the transaction.
Rewards Distribution:
The rewards will be transferred to your specified address on the Metis Andromeda network.
Important Notes:
Double-check your wallet address to avoid errors.
For contract addresses, ensure the address is correct and active on the Metis Andromeda network to prevent the loss of rewards.
Increasing Your Lock-Up Amount
Dashboard Update:
On the Sequencer Dashboard, view the current amount of locked METIS.
Increase Lock-Up:
Enter the additional METIS amount in the "Increase" field and confirm the transaction.
Maximum Cap:
The lock-up cap remains at 100,000 METIS. Attempts to lock more will not yield additional rewards.
Partial Withdrawals
Eligibility:
You can withdraw any amount exceeding the 20,000 METIS minimum lock-up.
The withdrawable amount is calculated as: &#xNAN;Total locked tokens – 20,000 METIS.
Initiate Withdrawal:
On the Dashboard, click "Partial Withdraw."
Enter the desired amount, confirm the transaction in the popup, and validate it in MetaMask.
Token Transfer:
The withdrawn METIS will be sent to your Owner address.
1
Exiting the Sequencer Pool
Initiate Unlock:
Click the "Unlock" button on the Dashboard and confirm the exit transaction in MetaMask.
21-Day Exit Period:
Your Sequencer will enter a 21-day waiting period during which:
Rewards will not be earned.
Block production will stop.
Final Withdrawal:
After 21 days, return to the Dashboard to withdraw your locked METIS.
Mining Reward Rate (MRR):
The Estimated MRR is 20%, designed to incentivize Sequencer participation.
Rewards are calculated per block and updated every two weeks to maintain the target MRR.
By following these guidelines, Sequencers can efficiently claim rewards, increase or withdraw their lock-up amounts, and avoid penalties while contributing to the security and stability of the Metis network.
The architecture of the Metis Decentralized Sequencer system is designed to achieve full decentralization and security for the Layer 2 network.
Tokenomics
The Metis Decentralized Sequencer architecture is designed to provide a fully decentralized, secure, and scalable solution for the Layer 2 (L2) network. By introducing a decentralized sequencer pool, Metis eliminates the risks associated with centralized systems, such as single points of failure, while ensuring fair participation and fault tolerance.
The system operates with seamless coordination between sequencers, validators, and block producers, leveraging decentralized infrastructure and community governance.
Decentralization: Every network role is distributed, ensuring fairness and security.
Fault Tolerance: Automatic rotation and reselection of sequencers in the event of failures or malicious activity.
Efficiency and Scalability: Transactions are processed in batches for optimized throughput, while finalization happens on Ethereum Layer 1 (L1).
Transparency and Governance: Governed by community voting power based on METIS token staking.
This document provides a detailed breakdown of the system components, workflows, governance mechanisms, technical requirements, and participation processes.
The architecture of the Metis Decentralized Sequencer system is designed to achieve full decentralization, fault tolerance, and scalability for the Layer 2 network. It integrates three key layers that coordinate to ensure efficient transaction processing and secure block production.
Ethereum Layer (L1):
Smart Contracts: Responsible for locking METIS tokens, managing sequencer staking, and storing critical data for sequencer rotation.
Finality: Provides security and finality by anchoring transaction batches on Ethereum.
Consensus Layer (PoS):
Tendermint-based Nodes: Handles consensus on sequencer rotation and election processes.
MPC (Multi-Party Computation): Enables secure and decentralized batch signing by sequencer nodes.
Metis Layer (L2):
Sequencer Nodes: Processes user transactions, assembles blocks, and submits them to Ethereum L1.
Bridge & Adapter Module: Facilitates communication between the PoS layer and the Metis layer. It ensures synchronization and updates sequencer information.
Transaction Processing:
Users send transactions to the Metis RPC nodes.
The current sequencer validates, assembles, and executes the transactions.
Batch Submission:
The sequencer forms transaction batches and signs them through MPC.
Signed batches are submitted to Ethereum Layer 1 for finality.
Sequencer Rotation:
The PoS layer manages periodic sequencer rotations using a weighted random algorithm.
The active sequencer is replaced according to the staking weights, ensuring fairness and fault tolerance.
Fair Sequencer Rotation: Sequencer rotation is controlled by staking weights and governed by community consensus. Each sequencer's participation is validated through smart contracts on the Ethereum Layer.
Fault Tolerance and Recovery: If a sequencer fails or acts maliciously, the PoS layer reselects a new sequencer to maintain uninterrupted block production.
Transparent Operations: Sequencer rotations, staking data, and governance votes are fully transparent and auditable on-chain.
Security and Finality: By anchoring transaction batches to Ethereum, the system ensures robust security and immutable finality.
\
Works on 3 layers (LockingPool.sol)
Ethereum layer:
A set of smart contracts on the Ethereum network responsible for locking and rewards for sequencers.\
Consensus (PoS) layer:
A set of PoS Nodes based on Tendermint
When started, it detects the MPC addresses and calls the MPC module (see below) to trigger the keys generation if they do not exist;
When the sequencer submits L2BatchTxs to L1, the signature needs to be generated by multiple existing sequencers (more than 2/3 of the Sequencer nodes participate in MPC signing);
When the new sequencer node joins or exits, it performs the MPC resharing of private key shards without updating the mpc address in the locking contract (the mpc address can also be generated if needed);
Provides a variety of data query interfaces for Metis layer;
Metis layer:
On this layer, for every new epoch another entity called sequencer is getting selected and/or rotated according to the information generated by the consensus layer;
The transaction flow within the Metis Decentralized Sequencer system ensures efficient, secure, and decentralized processing. The flow is designed to handle transactions from users and produce finalized blocks on Layer 1 (Ethereum) with fault tolerance and scalability.
Step-by-Step Transaction Flow
User Transaction Submission:
Users interact with Metis dApps or wallets to send transactions via an RPC interface.
The transaction is received and validated by the current sequencer node.
Transaction Validation and Inclusion:
The sequencer checks the validity of the transaction, ensuring it adheres to protocol rules.
Valid transactions are assembled into a block for Layer 2.
Block Execution and Confirmation:
The sequencer node executes the transactions in the block.
A transaction hash and block number are returned to the user as confirmation.
Batch Formation:
The sequencer groups multiple Layer 2 blocks into a single batch.
This batch contains Merkle proofs for all transactions, ensuring tamper-proof validation.
Multi-Party Computation (MPC) Signature:
The batch is signed using an MPC mechanism, requiring signatures from a majority of active sequencers.
This process ensures decentralization and security for the batch submission.
Batch Submission to Ethereum (L1):
The signed batch is submitted to the Ethereum Layer 1 via the Bridge & Adapter module.
This ensures the finality of transactions by anchoring them on Ethereum.
Sequencer Rotation (if applicable):
At periodic intervals or upon fault detection, the PoS layer rotates the sequencer role to a new node.
The new sequencer takes over transaction processing seamlessly.
The process of becoming a sequencer in the Metis Decentralized Sequencer system is essential for contributing to the network's decentralization and earning rewards. It involves meeting technical requirements, locking METIS tokens, and maintaining operational reliability.
For a detailed, step-by-step guide on becoming a sequencer, including prerequisites, application process, and governance mechanisms, visit the dedicated page:
System Specifications:
CPU
16-core
RAM
32 GB
STORAGE
1 TB SSD
Network Configuration: Please ensure these ports are exposed for P2P connection. Refer to metis-node for the details.