EigenLayer-AVS Overview
Documentation for EigenLayer-AVS Overview in the EigenLayer-AVS system.
Purpose and Scope#
This document provides a technical overview of the EigenLayer-AVS system, an Actively Validated Service built on EigenLayer that enables automated task execution on Ethereum. It explains the core architecture, key components, and how they interact to provide a decentralized automation framework. For detailed implementation specifics of individual components, see System Architecture and Smart Contract Integration.
Introduction#
EigenLayer-AVS (Ava Protocol Automation on Ethereum) is a decentralized task automation system that leverages EigenLayer's security and trust infrastructure. It enables users to create and manage automated workflows that can interact with smart contracts, APIs, and other external services based on various triggers like blockchain events, time schedules, or manual activation.
The system implements a secure and decentralized architecture with operators validating and executing tasks while the aggregator coordinates operations and maintains system state.
Sources:
High-Level System Architecture#
EigenLayer-AVS consists of three primary components that work together to provide a secure and reliable task automation service:
Diagram: EigenLayer-AVS Core Components#
Sources:
Key Components#
-
Aggregator Service: The central coordination component that:
- Accepts task submissions from clients
- Manages the operator pool
- Stores task definitions and execution results
- Orchestrates task execution across operators
-
Operator Network: A distributed network of nodes that:
- Monitor trigger conditions (events, blocks, time)
- Report trigger occurrences to the aggregator
- Execute tasks when instructed by the aggregator
- Submit results back to the aggregator
-
Task Engine: The execution environment that:
- Processes task graphs with different node types
- Handles the virtual machine for task execution
- Interfaces with external systems (APIs, contracts, etc.)
- Manages execution state and results
-
Storage System: Persistent data storage using BadgerDB for:
- Task definitions and state
- Execution history and results
- Wallet and authentication information
- Secret management
Sources:
Task Model#
Tasks in EigenLayer-AVS are modeled as directed graphs of operations with triggers that determine when they should execute.
Diagram: Task Structure and Components#
Sources:
Task Components#
-
Task: The overall workflow definition, including metadata, trigger conditions, and execution parameters.
-
TaskTrigger: Defines when a task should be executed. Types include:
- Manual: Triggered explicitly by a user
- FixedTime: Runs at specific epochs
- Cron: Runs on a schedule defined by cron syntax
- Block: Runs at specific block intervals
- Event: Runs when specific Ethereum events occur
-
TaskNode: Individual operations within a task. Types include:
- ETHTransfer: Transfers ETH to a destination
- ContractWrite: Writes data to a smart contract
- ContractRead: Reads data from a smart contract
- GraphQLQuery: Queries a GraphQL endpoint
- RestAPI: Makes HTTP requests to a REST API
- CustomCode: Executes custom JavaScript code
- Branch: Controls execution flow based on conditions
- Filter: Filters data based on expressions
-
TaskEdge: Defines the connections between nodes, representing the flow of execution and data.
-
Execution: Records of task executions, including results and status.
Sources:
Task Execution Flow#
The following diagram illustrates how tasks flow through the system from creation to execution:
Diagram: Task Execution Sequence#
Sources:
Execution Process#
-
Task Creation: Client creates a task with defined nodes, edges, and trigger conditions
-
Trigger Detection:
- For automatic triggers: Operators monitor conditions and notify the aggregator
- For manual triggers: Client explicitly requests execution
-
Task Execution:
- Task engine loads the task definition
- Processes each node in the graph according to its type
- Makes necessary external calls (contract interactions, API requests, etc.)
- Records execution steps and results
-
Result Handling:
- Execution results are stored in BadgerDB
- Results are returned to the client
- Task status is updated based on execution outcome
Sources:
Smart Contract Integration#
EigenLayer-AVS integrates with EigenLayer for security and with ERC-4337 for account abstraction, allowing for flexible task execution.
Diagram: Smart Contract Architecture#
Sources:
Contract Components#
-
EigenLayer Integration:
- ServiceManager: Manages the AVS service
- RegistryCoordinator: Coordinates operator registration and management
- BLSApkRegistry: Manages BLS aggregate public keys
- IndexRegistry: Manages operator indices
- StakeRegistry: Tracks operator stakes
- OperatorStateRetriever: Retrieves operator state information
-
Account Abstraction (ERC-4337):
- EntryPoint: Standard ERC-4337 entry point for processing user operations
- Wallet Factory: Deploys smart wallets for users
- Smart Wallet: User's ERC-6900 modular wallet that executes tasks
- TaskManager: Tracks task submissions and executions
- ApConfig: Stores configuration for the Ava Protocol system
Sources:
Deployment and Configuration#
Network Environments#
EigenLayer-AVS is deployed on both testnet and mainnet environments:
Testnet (Holesky)#
- Aggregator:
aggregator-holesky.avaprotocol.org:2206
- API Explorer:
https://api-explorer-holesky.avaprotocol.org/
- Telemetry Dashboard:
https://aggregator-holesky.avaprotocol.org/telemetry
- Ava Protocol Operator:
0x997e5d40a32c44a3d93e59fc55c4fd20b7d2d49d
Mainnet#
- Aggregator:
aggregator.avaprotocol.org:2206
- API Explorer:
https://api-explorer.avaprotocol.org/
- Telemetry Dashboard:
https://aggregator.avaprotocol.org/telemetry
- Ava Protocol Operator:
0xc6B87cc9e85b07365b6aBEfff061F237F7cf7Dc3
Sources:
Running Components#
Running an Aggregator#
Running an Operator#
Operators can be run using the provided binary with a configuration file:
Sources:
Summary#
EigenLayer-AVS provides a robust decentralized automation framework that leverages EigenLayer's security model. The system's architecture with an aggregator service coordinating a network of operators enables secure and reliable task execution.
The flexible task model allows for complex workflows involving various types of actions (contract interactions, API calls, custom code) triggered by different conditions (events, time, blocks). Integration with ERC-4337 account abstraction enables powerful smart wallet capabilities for task execution.
For more detailed information about specific components, refer to:
- System Architecture for component details
- Smart Contract Integration for contract relationships
- Aggregator for aggregator functionality
- Operator for operator implementation
- Task Engine for task execution internals
Sources:
Feature this wiki to auto refresh weekly
Try DeepWiki on your private codebase with Devin