Production Guidelines
Production AVS Deployment Guide
Last updated
Production AVS Deployment Guide
Last updated
When launching an AVS on mainnet, it is essential to ensure it is fully prepared for production. This structured checklist covers key deployment steps, including multisig governance, EigenLayer registration, and infrastructure best practices, to ensure a seamless deployment and operation.
This guide references the in the Simple Price Oracle Repository.
AVS MultiSig Governance: Use a Multisig Account () --avs-governance-multisig-owner
to designate the AVS owner when deploying the contracts.
: Deploy AVSLogic, AVSGovernance or FeeCalculator Hook contracts if applicable.
Please make sure to follow this order when registering the operator. This specific order ensures correct Voting Power sync. Depositing funds after AVS registration requires manual voting power syncing.
to the strategy: The operator must deposit funds into their chosen Eigen Layer strategy before registering with the AVS.
to the AVS: This step also syncs the voting power internally
Make sure to use
Make sure to set Rewards Receiver Address (Not applicable when using Rewards v2)
Add --l1-chain mainnet
flag
Update the Operator commands in the Docker file to include production chains using --l1-chain <>
and --l2-chain <>
.
Ensure that Operators holding at least 2/3 of total voting power are connected to the network and running both the Attester node and Validation Service.
Create Task Definitions on production chains (If applicable)
Strategy Multipliers: Determine and set multipliers to incentivize desired staking behaviors.
Configure chain Ids in the .env
file
Use paid, highly reliable RPCs for L1/L2 chains to avoid any errors. Configure in .env
Configure comprehensive logging (File-based or Elastic Search) to capture relevant events and debug logs.
Configure persistent storage for critical data to prevent data loss in case of restarts/ failures and avoid reconnection issues.
Set up robust metrics and monitoring systems.
The MessageHandler
contracts manage LayerZero fees. AVS developers are responsible for funding the MessageHandler contracts (deployed during AVS setup) with sufficient funds to cover cross-chain communication costs. Regularly monitor the balance and replenish as needed.
For Docker ensure that the required ports are open and properly mapped.
For ISP-hosted nodes, confirm that the port is open and accessible from outside. (Configuration of security groups, firewall rules, etc...)
For DNS-based configurations, ensure dnsaddr
is correctly set and publicly resolvable.
If the key was not set correctly or needs to be changed, update it using BLS Update.
Ensure the addresses specified in ANNOUNCED_ADDRESSES are publicly accessible.
If using a domain name service (DNS), Its recommended to explicitly add /ip4/ multiaddresses alongside /dnsaddr/ to ensure compatibility across different discovery mechanisms.
Thoroughly test the documentation with new operators to identify any gaps or areas for improvement.
It is highly advised to use a different key for signing purposes. By utilizing a separate signing key, the Operator's private key (controller key) does not need to be stored in the .env
file, significantly reducing the risk of hacks.
Using the same key for both functions could expose Operator funds to potential security threats.
Set the to to cap voting power per operator and prevent any single operator from gaining disproportionate influence over consensus.
Configure the r if required.
If using , enable the --json-rpc.custom-message-enabled
flag in the Aggregator command.
Verify that are running by checking transactions in the attestation center contract (Look for task definition IDs 10001, 10002
). For example , transactions.
Ensure Task definition specific logic is implemented within the .
: Configure the available staking strategies within the AVS.
Deposit the reward tokens into the AVS Treasury for distribution.
to enable rewards distribution. By default, its paused.
Establish a consistent schedule based on the rewards distribution mechanism.
:
Ensure that the private key provided in .env
or via CLI option is a valid .
Create comprehensive onboarding documentation for operators, covering all aspects of registration, and best practices. For reference check .
It is strongly recommended to use a multisig account () when deploying AVS contracts to enhance security.