Operator Guide
This guide contains the steps needed to set up and register your node for Xterio MACH AVS (testnet/mainnet).
Minimal system requirements
4 CPU
16GB Memory
50GB SSD
Ubuntu 22.04 LTS
Docker v24 and above
EigenLayer CLI
Full node with RPC service or managed RPC services for the target rollup
Minimal stake requirements
💡 For smooth onboarding of operators, we will set the initial stake requirement to be 0.
Xterio MACH AVS Mainnet - 0 ETH
Xterio MACH AVS Testnet - 1 ETH
Supported token strategy
Beacon Chain Ether and all LSTs supported by EigenLayer are supported by our AVS.
Currently active AVS
Xterio MACH AVS Mainnet - Fast finality AVS for Xterio Mainnet
Xterio MACH AVS Testnet - Fast finality AVS for Xterio Testnet
Operator setup
Key generation and wallet funding
Follow EigenLayer guide and Install EigenLayer CLI
Generate ECDSA and BLS keypair using the following command
💡 Please ensure you backup your private keys to a safe location. By default, the encrypted keys will be stored in ~/.eigenlayer/operator_keys/
Fund at least 0.3 ETH to the ECDSA address generated. It will be required for node registration in the later steps.
Please submit the ECDSA address via MACH AVS interest form https://forms.gle/3A6xNWwRf9ip9CnN9.
Register on EigenLayer as an operator
💡 You may skip the following steps if you are already a registered operator on the EigenLayer testnet and mainnet.
You will need to do it once for testnet and once for mainnet.
Create the configuration files needed for operator registration using the following commands. Follow the step-by-step prompt. Once completed,
operator.yaml
andmetadata.json
will be created.
Edit
metadata.json
and fill in your operator's details.
Upload
metadata.json
to a public URL. Then update theoperator.yaml
file with the url (metadata_url
). If you need hosting service to host the metadata, you can consider uploading the metadata gist and get theraw
url.If this is your first time registering this operator, run the following command to register and update your operator
Upon successful registration, you should see
✅ Operator is registered successfully to EigenLayer
If you need to edit the metadata in the future, simply update
metadata.json
and run the following commandAfter your operator has been registered, it will be reflected on the EigenLayer operator page.
Testnet: https://holesky.eigenlayer.xyz/operator
Mainnet: https://app.eigenlayer.xyz/operator
You can also check the operator registration status using the following command.
Joining MACH AVS
💡 Training wheels Xterio Mach AVS will initially launch in operator allowlist mode. Interested operators can register their interest with us using this form: https://forms.gle/LmPABTNQcwJhw4UB7
Mach AVS Setup
Clone the Mach AVS repository
Run the following command to clone the MACH AVS operator repository
Inside this repository, we have configurations for various MACH AVS. Select the AVS you would like to run
💡 You can be an operator of different MACH AVS. Repeat the following steps for each MACH AVS
Change the directory to the network and MACH AVS you would like to run
Xterio MACH AVS Mainnet (Powered by AltLayer)
cd mach-avs-operator-setup/ethereum/mach-avs/xterio
Xterio MACH AVS Testnet (Powered by AltLayer)
cd mach-avs-operator-setup/holesky/mach-avs/xterio-testnet
Opt-in and out of MACH AVS
For opt-in and out, copy the following env
Update the TODO
sections in the .env.opt
To opt-in
💡 Before you opt-in to MACH AVS, please ensure that
You have the right infrastructure (e.g., cloud hosting) to keep the operator up and running. Non-performing AVS operators may be subjected to ejection out of MACH AVS.
You have already been whitelisted as an operator for MACH AVS.
If you no longer want to run the AVS, you can opt out by running
💡 It may take a few minutes for EigenLayer AVS and operator page to be updated This is an automatic process.
Running MACH AVS
Create the environment file
Configuring MACH AVS operator
Update the TODO
sections in the .env
💡 The default path where your generated keys are stored in ~/.eigenlayer/operator_keys/
Configuring rollup endpoint
We have pre-configured mach-config.toml
with RPC hosted by AltLayer. Alternately, you can reach out to the AltLayer team members on the Slack working group for instruction on how to host your own RPC node.
Running MACH AVS
To run MACH AVS, you may launch it using docker compose.
Helm chart
To run MACH AVS within your Kubernetes cluster, you can use the reference Helm chart available in the MACH AVS Operator Setup repository. You can find the Helm chart at the following link: MACH Operator Helm Chart.
Facing issues?
Please feel free to reach out to us via the Slack working group.
Frequently ask questions
How do I know whether my operator is running?
First, check whether your operator docker container is running, by running docker compose ps
.
Next, you can check the logs to see whether the services has been started or not
Finally, to determine whether your AVS is actively validating the target rollup, you can look for logs of the verifier container to see whether there is block validation activities
Who is running the aggregator and doing BLS signature aggregator?
AltLayer will provide an aggregator where your MACH AVS can connect to and submit the signatures for aggregation. Aggregator endpoint has been pre-configured in the configuration file.
How can I run an RPC node for various rollups for MACH AVS?
Xterio Testnet
Contact AltLayer team on the Slack working group (subjected to approval)
How do I know when I do not meet sufficient minimal stake requirements during registration? You will encounter
execution reverted: StakeRegistry.registerOperator: Operator does not meet minimum stake
Will there be token rewards?
There will be rewards for mainnet MACH AVS in the future. More details will be announced in the future.
Xterio MACH AVS - XTER tokens
I am unable to opt in and encounter
Unable to register operator with avs registry coordinator
Please check that your ECDSA address is sufficiently funded. We recommend to maintain at least 0.3 ETH to ensure you have sufficient gas tokens for AVS registering, opt-in and de-registering operation.
Last updated