An in-depth explanation of the Ava Protocol EigenLayer AVS, covering its architecture, setup, and operational guidelines.
The Ava Protocol AVS (Actively Validated Service) can be compiled directly using Go version 1.22+. Ensure you have the appropriate version of Go installed in your development environment.

For each owner, an ERC6900 wallet is deployed to schedule tasks and approve spending. Each task type has its corresponding modular code to represent its condition and actual execution.
The aggregator accepts RPC requests from clients to submit task payloads. Currently, the Ava Protocol team manages and runs the aggregator. Periodically, the aggregator combines task submissions, updates internal storage, and writes a zkSNARK proof back to our TaskManager contract.
The aggregator also accepts task condition check results from the operator, performs quorum and consensus checks, and flags tasks as ready to run.
The Ava Protocol team currently manages the aggregator. Depending on whether you are on the testnet or mainnet, point your operator to the appropriate address in the operator configuration file.
Operators communicate with aggregators via RPC. They request task data from the aggregator, execute condition checks, and send results back to the aggregator. For tasks deemed ready to run, operators execute them. Detailed information on task execution through our ERC6900 modular wallet will be available soon.
Verify the installed Go version:
go version
Compile the AVS using the following command:
go build -o ap-avs
You can then run the ap-avs binary. We strive to use pure Go, allowing cross-compilation for any architecture supported by the Go compiler.
Refer to the operator documentation for detailed instructions.
To run the aggregator, use the following command:
ap-avs aggregator
Note: The Ava Protocol team currently manages the aggregator, and the IP address for communication between the operator and the aggregator is hardcoded in the operator.
Operators connected to the Ava Protocol aggregator can monitor their operations on the telemetry dashboard.
https://aggregator-sepolia.avaprotocol.org/telemetry
https://aggregator.avaprotocol.org/telemetry
Refer to the development documentation.
Install the EigenLayer CLI with the following command:
curl -sSfL https://raw.githubusercontent.com/layr-labs/eigenlayer-cli/master/scripts/install.sh | sh -s
Install Go with the following command:
brew install go
Install the Foundry toolchain with the following commands:
curl -L https://foundry.paradigm.xyz | bash
foundryup
Install the Protobuf compiler with the following command:
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
| Name | Address |
|---|---|
| ProxyAdmin | 0x26CF7A7DF7d1E00D83A5Ca24385f697a3ca4577d |
| ServiceManager | 0xEA3E82F9Ae371A6a372A6DCffB1a9bD17e0608eF |
| RegistryCoordinator | 0x90c6d6f2A78d5Ce22AB8631Ddb142C03AC87De7a |
| BLSApkRegistry | 0x6752F8BeeE5BF45c9d11FDBC4F8aFfF879925585 |
| IndexRegistry | 0x298a5d3C8F8Db30E8292C9e2BF92292de469C8FF |
| OperatorStateRetriever | 0xb7bb920538e038DFFEfcB55caBf713652ED2031F |
| PauserRegistry | 0x3A8ea6e4202CdDe4a9e0cCE19c4Dc1739ba2cF0b |
| StakeRegistry | 0x7BacD5dd5A7C3acf8bf1a3c88fB0D00B68EE626A |
| ApConfig | 0xb8abbb082ecaae8d1cd68378cf3b060f6f0e07eb |
| Name | Address |
|---|---|
| ProxyAdmin | 0x5989934D31f7f397511f105B7E4175a06B7A517F |
| ServiceManager | 0x18343Aa10e3D2F3A861e5649627324aEAD987Adf |
| RegistryCoordinator | 0x8DE3Ee0dE880161Aa0CD8Bf9F8F6a7AfEeB9A44B |
| BLSApkRegistry | 0xB58687fF303C8e92C28a484342755d3228081d45 |
| IndexRegistry | 0xc6A464e39d4fA5013D61295501c7cCd050d76612 |
| OperatorStateRetriever | 0xb3af70D5f72C04D1f490ff49e5aB189fA7122713 |
| PauserRegistry | 0xeec585186c37c517030ba371deac5c17e728c135 |
| StakeRegistry | 0x363b3604fE8c2323a98c00906115c8b87a512a12 |
| TaskManager | 0x940f62f75cbbbd723d37c9171dc681dfba653b49 |
| ApConfig | 0x9c02dfc92eea988902a98919bf4f035e4aaefced |