Getting Started as Keepers
Last updated
Last updated
To become active Keepers in the system, operators must register on EigenLayer and TriggerX. This process involves setting up a secure environment, generating necessary cryptographic keys, creating configuration files, and completing registration on both platforms.
Whitelist Form: If you are interested in joining us Keepers, you need to get whitelisted first by filling out this form: (currently on pause, will resume in Phase 2).
Holesky ETH and LSTs: You must have some Holesky ETH in your wallet to complete the registration process. You need voting power among keepers to participate in our AVS validation activities. LSTs provide this power. A guide to obtaining LSTs on testnet can be found .
Keeper Setup Repo: Clone our keeper setup repo using the command:
Othentic CLI:
Node v22.6.0 - Must be exactly v22.6.0.
Install using the command:
Verify the CLI installation with othentic-cli -v
.
Ethereum RPC URL (e.g., Alchemy API Key or your URL if running an Ethereum node)
Docker Compose: We ship our keeper nodes as Docker images, which you are required to run. Install Docker Compose by following the instructions here: or .
The following specifications represent the hardware required to operate a Keeper node:
CPU
1 vCPU
Memory (RAM)
1 GB
Storage
10 GB
Copy the .env
file using:
Ethereum (Holesky) and Base (Sepolia) networks are required. Please take note that public URLs will fail on some calls, leaving your keeper's work hanging and incomplete. We recommend using Alchemy or Infura RPC URLs.
PRIVATE_KEY
represents a key for consensus. This is primarily used and should work if it is not holding any funds.
The Docker container you are required to run uses ports:
OPERATOR_P2P_PORT
For P2P communication, this needs to be exposed/forwarded/allowed on the firewall.
OPERATOR_RPC_PORT
For Keeper execution and validation activities, it will be internally used.
OPERATOR_METRICS_PORT
For exporting metrics to Grafana, you may need to expose the port if you want to view metrics on a different machine.
For a robust and versatile peer network, we use a peer store for each node, and it stores the IP address along with the Peer ID of its peer.
PUBLIC_IPV4_ADDRESS
and PEER_ID
Help announce your keeper's addresses correctly to other nodes.
If you know or know how to get your IPv4 address, that's good. If not, it is mostly displayed on your server dashboard. You can also get the public IPv4 address by running the command:
Generate PEER_ID
using the command:
Note: Peer ID is generated using OPERATOR_ADDRESS
PRIVATE_KEY
values, so fill out those before running the above command.
Note: We advise you to fill in the RPC URLs first, then run the register command using the Othentic CLI. Then, and as per the data used in registration, you should fill out the private keys and operator address. However, if you are familiar with the process, you can go ahead and fill out all the details.
Note: You can skip this section if registered on EigenLayer.
To register as an operator on EigenLayer, run the following command:
Follow these steps when prompted:
Enter the Operator's private key.
Enter the Operator Details:
Operator name
Description
Website
Logo URL
Twitter profile
At the end, the CLI will display the transaction hash.
TriggerX supports stETH, WETH, Eigen, and native staked ETH strategies. Use this command to deposit into a strategy and acquire Voting Power in our quorum:
To register a Keeper, use the following command:
This command initiates the registration process for TriggerX AVS. You will be prompted to provide the following details:
Private Key and Signing Key
Signing Key will be exposed in your environment file.
For testnet, you can use the same key for both. The private key belongs to the operator address, while the signing key can be the same or any other wallet / random 32-byte hex.
AVS Governance Contract Address
You will be prompted to enter the AVS Governance contract address. Use this address:
Rewards Receiver Address
The Operator address will be used as the default and is recommended. Users can set a different wallet address.
The Keeper includes both Performer (triggerx-keeper) and Attester (triggerx-othentic) services. Performer means your keeper is selected to perform the task for this round, and your peers in the network would be Attesters, validating your action.
The one script to rule them all. Use individual commands as required:
The stop command also stops monitoring services, if they are running, along with the core services.
Your logs would look like this:
triggerx-keeper logs:
triggerx-othentic logs:
Note: This error can be neglected when it occurs for the first time.
OPERATOR_ADDRESS
The public Operator Address you want to register. More details on keys: .
There is no minimum requirement for the amount, but note that 1 wei = 1 Voting Power. Know more .
For the mainnet, two different keys are recommended. Refer to the Othentic documentation for details on using separate keys.
TriggerX supports these strategies on testnet: stETH, WETH, EIGEN, and Natively staked ETH. If you don't have them, you can acquire them as mentioned and deposit using command.