people-roofGetting Started as Keeper on EigenLayer

EigenLayer is a restaking protocol built on Ethereum that lets operators extend Ethereum’s economic security to Actively Validated Services (AVSs) like TriggerX. By joining as a Keeper in the EigenLayer environment, you contribute Ethereum-aligned security through liquid staking tokens (LSTs) and directly participate in TriggerX’s validation process.

Prerequisites:

Before you suit up as a Keeper, here’s what you’ll need in place:

  • Whitelist Form: To join the Keeper program, you’ll first need to be whitelisted. Fill out the form: Join as Keeper | TriggerX. (Testnet onboarding is paused)

  • ETH & LSTs: You’ll need ETH and some Liquid Staking Tokens (LSTs) to participate; these provide voting power among Keepers. A step-by-step guide to obtaining LSTs on testnet (Ethereum Sepolia) is available [herearrow-up-right].

  • Keeper Setup Repo: Clone our keeper setup repo using the command:

# Copy these commands for the Ethereum Mainnet
git clone https://github.com/trigg3rX/triggerx-keeper-setup.git -b main
cd triggerx-keeper-setup
# Copy these commands for the Ethereum Sepolia testnet
git clone https://github.com/trigg3rX/triggerx-keeper-setup.git -b testnet
cd triggerx-keeper-setup
  • Othentic CLI:

    • Requires Node v22.6.0 (exact version).

    • Install:

npm i -g @othentic/cli
otcli -V #verify installation

Hardware Requirements:

The following specifications represent the hardware required to operate a Keeper node:

Components
Specification

CPU

1 vCPU

Memory (RAM)

1 GB

Storage

10 GB

Understanding the Environment Configuration:

Copy the .envfile using:

RPC URLs

Ethereum and Base 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.

Keys and Addresses

  • PRIVATE_KEYrepresents a key for consensus. This is primarily used for attestations and should not hold any funds.

  • OPERATOR_ADDRESS The public Operator Address you want to register. More details on keys: Key Management | Othentic Docsarrow-up-right.

Ports Configuration

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_PORTFor Keeper execution and validation activities, it will be internally used.

  • OPERATOR_METRICS_PORTFor exporting metrics to Grafana, you may need to expose the port if you want to view metrics on a different machine.

P2P Config

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 helps announce your keeper's addresses correctly to other nodes.

If you 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:

Note: We advise you to fill in the RPC URLs first, then run the register command using the Othentic CLI. Then, as per the data used in registration, you should fill out the private key and operator address. However, if you are familiar with the process, you can go ahead and fill out all the details.

Steps to Register:

Register Operator on EigenLayer

Note: You can skip this section if registered on EigenLayer.

To register as an operator on EigenLayer, run the following command:

For testnet registration, use sepolia in place of mainnet.

Follow these steps when prompted:

  1. Enter the Operator's private key.

  2. Enter the Operator Details:

    • Operator name

    • Description

    • Website

    • Logo URL

    • Twitter profile

At the end, the CLI will display the transaction hash.

Deposit Into a Strategy

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:

There is no minimum requirement for the amount, but note that 1 wei = 1 Voting Power. Know more herearrow-up-right.

Register as Keeper

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:

Required Information

  1. the Private Key and Signing Key

    • Signing Key will be exposed in your environment file.

    • For the 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.

    • For the mainnet, two different keys are recommended. Refer to the Othentic documentation herearrow-up-right for details on using separate keys.

  2. AVS Governance Contract Address

    • You will be prompted to enter the AVS Governance contract address. Use this address:

      • Ethereum Mainnet:

      • Ethereum Sepolia:

  3. Rewards Receiver Address

    • The Operator address will be used as the default and is recommended. Users can set a different wallet address.

TriggerX supports these strategies on testnet: stETH, EIGEN, and Natively staked ETH. If you don't have them, you can acquire them on testnet as mentioned herearrow-up-right and deposit using this arrow-up-rightcommand.

Quickstart

Keeper Services

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.

./triggerx.sh: Handles everything

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.

How to know the Keeper is set up properly?

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.

Last updated