TriggerX Docs
  • Introduction
    • What is TriggerX?
    • Key Features
  • Core Concepts
    • Architecture
    • Triggers in TriggerX
      • Time-Based Trigger
      • Event-Based Trigger
      • Condition-Based Trigger
    • Task Manager
    • Keepers
      • Keeper as Performer
      • Keeper as Attester
    • Aggregator
    • Network Monitoring
    • Contracts
      • AVS Governance
      • Attestation Center
  • Getting Started as Keepers
  • Monitoring And Analytics
    • Monitor Your Keeper
    • Monitor Your Job
  • Rewards
    • Keeper Rewards
    • Developer Rewards
    • Contributor Rewards
  • Fee Calculation
  • Guide
    • Templates
    • Usecases
  • Security Model
  • Community and Support
  • Appendices
    • Glossary
    • FAQ and Troubleshooting
    • Changelogs
  • References
  • Create Your First Job
    • Create Your First Time Based Job
    • Create Your First Event Based Job
Powered by GitBook
On this page
  • Prerequisites:
  • Hardware Requirements:
  • Understanding the Environment Configuration:
  • Steps to Register:
  • Register Operator on EigenLayer
  • Deposit Into a Strategy
  • Register as Keeper
  • Quickstart
  • Keeper Services
  • ./triggerx.sh: Handles everything
  • How to know the Keeper is set up properly?

Getting Started as Keepers

PreviousAttestation CenterNextMonitor Your Keeper

Last updated 6 days ago

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.

Prerequisites:

  • 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:

git clone https://github.com/trigg3rX/triggerx-keeper-setup.git
cd triggerx-keeper-setup
  • Othentic CLI:

    • Node v22.6.0 - Must be exactly v22.6.0.

    • Install using the command:

npm i -g @othentic/othentic-cli

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 .

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:

cp .env.example .env
nano .env

RPC URLs

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.

Keys and Addresses

  • PRIVATE_KEYrepresents a key for consensus. This is primarily used and should work if it is not holding any funds.

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_ADDRESSand PEER_IDHelp 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:

curl -4 ifconfig.me

Generate PEER_IDusing the command:

othentic-cli node get-id --node-type attester

Note: Peer ID is generated using OPERATOR_ADDRESS PRIVATE_KEYvalues, 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.

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:

othentic-cli operator register-eigenlayer

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:

othentic-cli operator deposit --staking-contract stETH --amount 0.001 --convert 0.002

Register as Keeper

To register a Keeper, use the following command:

othentic-cli operator register

This command initiates the registration process for TriggerX AVS. You will be prompted to provide the following details:

Required Information

  1. 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.

  2. AVS Governance Contract Address

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

      0x12f45551f11df20b3ecbdf329138bdc65cc58ec0
  3. Rewards Receiver Address

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

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:

# Start the Keeper node
./triggerx.sh start
# Stop Keeper
./triggerx.sh stop

The stop command also stops monitoring services, if they are running, along with the core services.

# View logs
./triggerx.sh logs

# View logs of Services
./triggerx.sh logs-keeper # Keeper logs
./triggerx.sh logs-othentic # Othentic logs
# Status of Services
./triggerx.sh status

# Help
./triggerx.sh help

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.

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.

Join as Keeper | TriggerX
here
Ubuntu
Amazon Linux
Key Management | Othentic Docs
here
here
here
this