The Aggregator is a central component in the EigenLayer-AVS system that orchestrates task execution across a network of operators.
The Aggregator is a central component in the EigenLayer-AVS system that orchestrates task execution across a network of operators. It serves as the coordination layer between client applications and the distributed operator network, managing task creation, storage, distribution, triggering, and execution. This document provides a detailed technical overview of the Aggregator's architecture, components, and operation.
For information about the Operator component that executes tasks under the Aggregator's coordination, see Operator.
The Aggregator consists of several interconnected components working together to provide task automation services through the EigenLayer AVS ecosystem.
Sources:
The Aggregator consists of the following key components:
The Aggregator lifecycle follows a defined sequence of initialization and startup steps:
Sources:
The startup process includes:
The RPC Server is the primary interface for both clients and operators to interact with the Aggregator. It implements two main service interfaces defined in Protocol Buffers:
AggregatorServer - For client applications to manage tasks and walletsNodeServer - For operators to report triggers and sync messagesSources:
The RPC Server exposes the following endpoints for client applications:
| Category | Endpoints | Description |
|---|---|---|
| Authentication | GetKey | Exchange signature for auth token |
| Smart Wallet | GetWallet, GetNonce, ListWallets | Manage smart wallet accounts |
| Task Management | CreateTask, GetTask, ListTasks, TriggerTask, CancelTask, DeleteTask | CRUD operations for tasks |
| Execution | ListExecutions, GetExecution, GetExecutionStatus, GetExecutionCount, GetWorkflowCount | Monitor task execution |
| Secrets | CreateSecret, ListSecrets, UpdateSecret, DeleteSecret | Manage secrets used in tasks |
Sources:
For operators, the RPC Server provides endpoints for task trigger notification and synchronization:
| Endpoint | Description |
|---|---|
SyncMessages | Stream checks to operator for monitoring |
NotifyTriggers | Receive trigger notifications from operators |
Ack | Acknowledge received messages |
Sources:
The Aggregator implements a robust authentication system for securing client interactions:
Sources:
The authentication flow provides:
Initial Authentication:
Request Authentication:
The Aggregator uses BadgerDB, a high-performance key-value store, for persistent storage. The storage system follows a well-defined schema for organizing different types of data.
Sources:
The storage system uses key prefixes to organize different types of data:
| Prefix | Description | Example Key |
|---|---|---|
w: | Wallet information | w:0xabc...:0xdef... |
t: | Task definitions | t:a:01JG2F... (a=active) |
u: | User task references | u:0xabc...:0xdef...:01JG2F... |
history: | Execution history | history:01JG2F...:01JG2G... |
trigger: | Execution triggers | trigger:01JG2F...:01JG2G... |
secret: | Secret storage | secret:_:0xabc...:_:api_key |
The status code in task keys encodes the task state:
a: active - being checked for triggersc: completed - finished execution, no longer checkedf: failed - execution failed, no longer checkedl: cancelled - cancelled by user, no longer checkedx: executing - currently being executedSources:
The Aggregator maintains an Operator Pool to track and manage the operators connected to the system. This component is responsible for:
When an operator connects, it registers with the Aggregator and begins receiving task assignments. The operator then monitors for trigger conditions (events, blocks, time) and reports back to the Aggregator when conditions are met.
Sources:
The full lifecycle of a task in the Aggregator system follows this general pattern:
During execution, the Task Engine processes each node in the task graph, which may involve REST API calls, smart contract interactions, GraphQL queries, or JavaScript execution.
The Aggregator requires configuration for:
The Aggregator is typically deployed as a standalone service that connects to Ethereum nodes and is accessible to both client applications and operators through gRPC interfaces.
The Aggregator integrates with EigenLayer through:
This integration ensures that operators are properly staked and registered with EigenLayer, providing security guarantees for the task execution system.
Sources:
The Aggregator is the central coordination component of the EigenLayer-AVS system, managing tasks, operators, storage, and execution. It provides robust APIs for client interaction, secure authentication, and efficient task distribution. By leveraging EigenLayer's security model, it ensures reliable and trustworthy task execution across the operator network.
Feature this wiki to auto refresh weekly