Skip to content
This repository was archived by the owner on Jun 19, 2025. It is now read-only.

Commit 7a2a933

Browse files
committed
Merge branch 'main' of github.com:MadelineAu/eigenlayer-docs into eigenlayerContracts
2 parents 2037d23 + 9f63380 commit 7a2a933

File tree

29 files changed

+173
-89
lines changed

29 files changed

+173
-89
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
* @dabit3 @wesfloyd @bryangreen @shrimalmadhur @antojoseph @NimaVaziri @scotthconner @MC1823315 @nelsonijih @QuinnLee @mmurrs @non-fungible-nelson
1+
* @dabit3 @wesfloyd @bryangreen @shrimalmadhur @antojoseph @NimaVaziri @scotthconner @MC1823315 @nelsonijih @QuinnLee @mmurrs @non-fungible-nelson @MadelineAu
22

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"position": 1,
3+
"label": "Concepts"
4+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
sidebar_position: 1
3+
title: AVS Overview
4+
---
5+
6+
7+
## What is an Autonomous Verifiable Service (AVS)?
8+
9+
An Autonomous Verifiable Service (AVS) on EigenLayer is a decentralized service built on Ethereum that provides custom verification mechanisms of off-chain operations. Please see the [Intro to EigenLayer](https://docs.eigenlayer.xyz/eigenlayer/overview/) for background context on the broader EigenLayer ecosystem.
10+
11+
An AVS is composed of on-chain contracts for verification and an off-chain network of Operators. Operators execute the service on behalf of the AVS and then post evidence of their execution on-chain to the AVS contracts. Tasks can be initiated via on-chain contracts, off-chain via direct communication with the Operators, or via a task aggregator entity.
12+
13+
The design of the off-chain execution and on-chain verification is entirely flexible based on the needs of the AVS developer.
14+
- If the Operators perform tasks properly, the AVS can autonomously distribute rewards.
15+
- If the Operators perform tasks maliciously, their delegate stake can be slashed autonomously by the AVS, and the Operator can be removed from the Operator set.
16+
17+
Please see the original EigenLayer whitepaper [EigenLayer: The Restaking Collective](/docs/eigenlayer/overview/whitepaper.md) for further background on AVS design.
18+
19+
![AVS Architecture](/img/avs/avs-architecture-v2.png)
20+
21+
22+
## Why Build an AVS?
23+
24+
Launching new Web3 projects requires substantial time and effort to bootstrap capital and operators. Builders should focus on their core product differentiators rather than bootstrapping economic security. Building an Autonomous Verifiable Service (AVS) on EigenLayer offers enhanced security, decentralization, and cost efficiency by utilizing Ethereum’s staking mechanism through restaking. This allows developers to focus more on their product’s core value and innovation without the significant overhead of setting up a new consensus mechanism or validator networks from scratch.
25+
26+
The key benefits of building an AVS on EigenLayer include:
27+
- Security via Restaking: leverage Ethereum’s staking mechanism to secure your service.
28+
- Focus on your project's unique value: spend less time and resources accumulating economic security from scratch.
29+
- Bootstrap your Operator network: quickly access a large network of experienced Operators.
30+
- Decentralization and Trust: build on trust-minimized, decentralized infrastructure.
31+
- Composability: seamlessly integrate with the broader Ethereum ecosystem.
32+
33+
34+
## What Can You Build as an AVS?
35+
36+
The scope of AVS design is broad. It includes **any off-chain service** that can be verified on-chain. This flexibility allows AVS developers to design custom verification mechanisms suited to the unique requirements of their service. The only requirement is that some evidence for the off-chain service’s execution is posted on-chain to enable verification of the service.
37+
38+
Examples of these services include rollup services, co-processors, cryptography services, zk Proof services, and more.
39+
40+
![AVS Categories](/img/avs/avs-categories.png)
41+
42+
43+
## Get in Touch
44+
45+
If you would like to discuss your ideas to build an AVS on EigenLayer, submit your contact information via [this form](https://share.hsforms.com/1BksFoaPjSk2l3pQ5J4EVCAein6l) and we'll be in touch shortly.

docs/developers/HowTo/_category_.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"position": 1,
3+
"label": "How To"
4+
}

docs/developers/avs-opset-slashing.md renamed to docs/developers/HowTo/avs-opset-slashing.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
sidebar_position: 4
3-
title: AVS Operator Set and Slashing of Unique Stake
3+
title: Implement Slashing of Unique Stake
44
---
55

66

@@ -106,3 +106,28 @@ AVS may integrate the AllocationManager via:
106106
* Specify an additional AVSRegistrar contract that applies business logic to gate Operator registration to an Operator Set.
107107

108108
To ensure community and incentive alignment, it is generally expected that AVSs will conduct off-chain outreach to communicate the purpose and task/security makeup of their Operator Sets with their Operators and Stakers prior to beginning registration. This likely would include any potential hardware, software, or stake requirements. It is up to the AVS to decide task distribution within an Operator Set.
109+
110+
## Best Practices
111+
112+
### Operator Set Design
113+
114+
An Operator Set is a grouping of different types of work within a single AVS. Each AVS will have at least one Operator Set. The EigenLayer protocol does not enforce criteria for Operator Sets, however there are a few best practices to consider.
115+
116+
Plan to logically group your AVS tasks (and verification) into separate Operator Sets. First organize your Operator Sets according to which conditions you wish to distribute Rewards for. These conditions could include:
117+
* Unique business logic.
118+
* Unique Stake (cryptoeconomic security) amount and types of token required to be allocated from Operators.
119+
* Slashing conditions.
120+
* Ejection criteria.
121+
* Quantity of Operators and criteria for operators allowed.
122+
* Hardware profiles.
123+
* Liveness guarantees.
124+
125+
More detail on Operator Sets are available [here](https://docs.eigenlayer.xyz/eigenlayer/operator-guides/operator-sets#operator-sets-currently-in-testnet) and implementation details are available [here](https://docs.eigenlayer.xyz/developers/avs-opset-slashing).
126+
127+
128+
129+
### Slashing Design and Veto Committees
130+
131+
The EigenLayer protocol allows each AVS builder to design their own slashing conditions. One popular design is to utilize a governance mechanism with slashing such that a committee can review a proposed (or queued) slashing request. That slashing request can then be either fulfilled or vetoed by a committee of domain experts, governance council or multisig address for the AVS. Please see the [vetoable slasher example implementation](https://github.com/Layr-Labs/eigenlayer-middleware/blob/feat/slashing-release-branch/src/slashers/VetoableSlasher.sol) for reference.
132+
133+
Please be sure that your slashing process can be resolved within the DEALLOCATION_DELAY time window. This is the amount of blocks between an Operator queuing a deallocation of stake from an Operator Set for a strategy and the deallocation taking effect. This will ensure that the slashing event is carried out for the Operator before their stake is deallocated.

docs/developers/avs-permissionlesss.md renamed to docs/developers/HowTo/avs-permissionlesss.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 8
3-
title: Permissionless Token Strategies
2+
sidebar_position: 7
3+
title: Add ERC-20 Tokens as Restakable Asset
44
---
55

66
# Permissionless Token Strategies

docs/developers/deployment-testnet-mainnet.md renamed to docs/developers/HowTo/deployment-testnet-mainnet.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 9
3-
title: Preparing for Testnet and Mainnet Deployment
2+
sidebar_position: 6
3+
title: Prepare for and Deploy to Testnet and Mainnet
44
---
55

66

@@ -15,13 +15,13 @@ title: Preparing for Testnet and Mainnet Deployment
1515
- Communication channels that will be utilized for AVS upgrades.
1616
- Describe Operator monitoring tooling available, such as GraFana dashboards, log files or similar.
1717

18-
3. Follow the [AVS Developer Security Best Practices](./avs-developer-best-practices.md) and [Key Manage Considerations for Developers](./avs-developer-best-practices.md#key-management-recommendation-for-developers).
18+
3. Follow the [AVS Developer Security Best Practices](../Reference/avs-developer-best-practices.md) and [Key Manage Considerations for Developers](../Reference/avs-developer-best-practices.md#key-management-recommendation-for-developers).
1919

2020
4. Implement the [Node Specification](https://docs.eigenlayer.xyz/eigenlayer/avs-guides/spec/intro) for your Operator executable package.
2121

2222
5. Follow the [Testnet Dashboard Onboarding instructions](https://docs.eigenlayer.xyz/eigenlayer/avs-guides/avs-dashboard-onboarding).
2323

24-
6. Implement Rewards distributions per the instructions [here](./rewards.md).
24+
6. Implement Rewards distributions per the instructions [here](rewards.md).
2525

2626

2727
## Preparing and Deploying to Mainnet

docs/developers/how-to-build-an-avs.md renamed to docs/developers/HowTo/how-to-build-an-avs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
sidebar_position: 3
2+
sidebar_position: 2
33
title: Build Your Own AVS
44
---
55

66
This section will walk you through the process of designing and building your own AVS from scratch. It is intended to take you from an idea to a working local prototype.
77

8-
Before proceeding, please review the previous sections on [AVS Overview](./avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](./quickstart.md) to become familiar with the basic concepts.
8+
Before proceeding, please review the previous sections on [AVS Overview](../Concepts/avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](quickstart.md) to become familiar with the basic concepts.
99

1010

1111
## Step 1: AVS Design

docs/developers/avs-dashboard-onboarding.md renamed to docs/developers/HowTo/onboard-avs-dashboard.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 7
3-
title: AVS Dashboard Onboarding
2+
sidebar_position: 5
3+
title: Onboard to AVS Dashboard
44
---
55

66

docs/developers/quickstart.md renamed to docs/developers/HowTo/quickstart.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
sidebar_position: 2
3-
title: Quick Start Example
2+
sidebar_position: 1
3+
title: Get started
44
---
55

66
## Hello World AVS: Local Deployment
@@ -84,7 +84,7 @@ function respondToTask(
8484
}
8585
```
8686

87-
Please find a complete list of the requirements to implement an AVS at [Build Your Own AVS: Step 2 Idea to Code](/docs/developers/how-to-build-an-avs.md#step-2-idea-to-code-building-and-deploying-your-avs-locally).
87+
Please find a complete list of the requirements to implement an AVS at [Build Your Own AVS: Step 2 Idea to Code](/docs/developers/HowTo/how-to-build-an-avs.md#step-2-idea-to-code-building-and-deploying-your-avs-locally).
8888

8989
### Contract Deployment Scripts
9090

0 commit comments

Comments
 (0)