EigenLayer is a protocol built on Ethereum that introduces Restaking, a primitive for app and service builders to make verifiable commitments to their users.
EigenLayer brings together Restakers, Operators, and Autonomous Verifiable Services (AVSs) to extend Ethereum's cryptoeconomic security with penalty and reward commitments (like slashing) on staked assets acting as security. The protocol supports permissionless security; EIGEN, Native ETH, LSTs, and ERC-20s.
The deployments on mainnet
, holesky
, and sepolia
are on the below versions:
Environment | Version |
---|---|
Mainnet Ethereum | v1.4.1 |
Testnet Holesky | v1.4.2 |
Testnet Sepolia | v1.3.0 |
Mainnet Ethereum
Anyone can deploy and whitelist strategies for standard ERC20s by using the StrategyFactory
deployed to the address below (see docs). Strategies deployed from the StrategyFactory
are deployed using the beacon proxy pattern:
Name | Proxy | Implementation | Notes |
---|---|---|---|
StrategyFactory |
0x5e4C39Ad7A3E881585e383dB9827EB4811f6F647 |
0x1b97...c66 |
Proxy: [email protected] |
StrategyBase |
0x0ed6703C298d28aE0878d1b28e88cA87F9662fE9 |
0x0EC1...F456 |
- Beacon: BeaconProxy - Strategies: UpgradeableBeacon |
The following strategies were originally deployed and whitelisted outside of the StrategyFactory
:
The following strategies differ significantly from the other strategies deployed/used above:
Name | Proxy | Implementation | Notes |
---|---|---|---|
EigenStrategy (EIGEN) |
0xaCB55C530Acdb2849e6d4f36992Cd8c9D50ED8F7 |
0x90B0...8729 |
Proxy: [email protected] |
Beacon Chain ETH |
0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0 |
- | - Used for Beacon Chain ETH shares - Not a real contract! |
Name | Proxy | Implementation | Notes |
---|---|---|---|
EigenPod (beacon) |
0x5a2a4F2F3C18f09179B6703e63D9eDD165909073 |
0xe2E2...46c3 |
- Beacon: BeaconProxy - Pods: UpgradeableBeacon |
Name | Proxy | Implementation | Notes |
---|---|---|---|
Eigen |
0xec53bf9167f50cdeb3ae105f56099aaab9061f83 |
0x17f5...26A0 |
Proxy: [email protected] |
Backing Eigen |
0x83E9115d334D248Ce39a6f36144aEaB5b3456e75 |
0xF2b2...9b17 |
Proxy: [email protected] |
SignedDistributor |
- | 0x035b...ad02 |
- |
Testnet Holesky
You can view the deployed contract addresses below, or check out the code itself on the testnet-holesky
branch.
Anyone can deploy and whitelist strategies for standard ERC20s by using the StrategyFactory
deployed to the address below (see docs). Strategies deployed from the StrategyFactory
are deployed using the beacon proxy pattern:
Name | Proxy | Implementation | Notes |
---|---|---|---|
StrategyFactory |
0x9c01252B580efD11a05C00Aa42Dd3ac1Ec52DF6d |
0x62e3...7aDE |
Proxy: [email protected] |
StrategyBase |
0xd3c6C6BA4E40dB9288c6a2077e5635344F8aFA4F |
0xcaF7...C7E2 |
- Beacon: BeaconProxy - Strategies: UpgradeableBeacon |
The following strategies were originally deployed and whitelisted outside of the StrategyFactory
:
The following strategies differ significantly from the other strategies deployed/used above:
Name | Proxy | Implementation | Notes |
---|---|---|---|
EigenStrategy (EIGEN) |
0x43252609bff8a13dFe5e057097f2f45A24387a84 |
0x917F...8Fd0 |
Proxy: [email protected] |
Beacon Chain ETH |
0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0 |
- | - Used for Beacon Chain ETH shares - Not a real contract! |
Name | Proxy | Implementation | Notes |
---|---|---|---|
EigenPod (beacon) |
0x7261C2bd75a7ACE1762f6d7FAe8F63215581832D |
0x68bd...6D37 |
- Beacon: BeaconProxy - Pods: UpgradeableBeacon |
Name | Proxy | Implementation | Notes |
---|---|---|---|
Eigen |
0x3B78576F7D6837500bA3De27A60c7f594934027E |
0x01cb...3050 |
Proxy: [email protected] |
Backing Eigen |
0x275cCf9Be51f4a6C94aBa6114cdf2a4c45B9cb27 |
0x05ad...E05c |
Proxy: [email protected] |
Name | Proxy | Implementation | Notes |
---|---|---|---|
PauserRegistry |
- | 0x41Db...ec1D |
|
OZ: TimelockController |
- | 0x5e83...F6fD |
|
OZ: Proxy Admin |
- | 0xDB02...A6cf |
Testnet Sepolia
Anyone can deploy and whitelist strategies for standard ERC20s by using the StrategyFactory
deployed to the address below (see docs). Strategies deployed from the StrategyFactory
are deployed using the beacon proxy pattern:
Name | Proxy | Implementation | Notes |
---|---|---|---|
StrategyFactory |
0x066cF95c1bf0927124DFB8B02B401bc23A79730D |
0xEE41...ca1A |
Proxy: [email protected] |
StrategyBase |
0x427e627Bc7E83cac0f84337d3Ad94230C32697D3 |
0x9E05...7C5c |
- Beacon: BeaconProxy - Strategies: UpgradeableBeacon |
StETH Strategy |
0x8b29d91e67b013e855EaFe0ad704aC4Ab086a574 |
0x9E05...7C5c |
Strategy Factory deployed |
WETH Strategy |
0x424246eF71b01ee33aA33aC590fd9a0855F5eFbc |
0x9E05...7C5c |
Strategy Factory deployed |
The following strategies differ significantly from the other strategies deployed/used above:
Name | Proxy | Implementation | Notes |
---|---|---|---|
EigenStrategy (EIGEN) |
0x8E93249a6C37a32024756aaBd813E6139b17D1d5 |
0x46CF...16db |
Proxy: [email protected] |
Beacon Chain ETH |
0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0 |
- | - Used for Beacon Chain ETH shares - Not a real contract! |
NOTE: Due to the permissioned validator set on Sepolia, all EigenPod functionality is PAUSED.
Name | Proxy | Implementation | Notes |
---|---|---|---|
EigenPod (beacon) |
0x0e19E56E41D42137d00dD4f51EC2F613E50cAcf4 |
0xd85d...6bCf |
- Beacon: BeaconProxy - Pods: UpgradeableBeacon |
Name | Proxy | Implementation | Notes |
---|---|---|---|
Eigen |
0x0011FA2c512063C495f77296Af8d195F33A8Dd38 |
0xF83a...8725 |
Proxy: [email protected] |
Backing Eigen |
0xc5B857A92245f64e9D90cCc5b096Db82eB77eB5c |
0x1298...3173 |
Proxy: [email protected] |
Name | Proxy | Implementation | Notes |
---|---|---|---|
PauserRegistry |
- | 0x63AA...20f3 |
|
OZ: TimelockController |
- | 0x1BEF...1b5B |
|
OZ: Proxy Admin |
- | 0x56E8...6Fa1 |
Branches we use:
main
: The canonical, most up-to-date branch, containing the work-in-progress code for upcoming releasesVx.y.z
: Release branch with versionx.y.z
that matches a release of EigenLayer, release branch is always cut frommain
via cherry-pickingrelease-dev/xxx
: A development branch for a large feature to be released, the branch should eventually be deleted after merge tomain
Our documentation is a great place to start to understand EigenLayer and the Eigen ecosystem. If you are an audio/visual learner, check out the "You Could've Invented EigenLayer" video.
To understand more about how our ecosystem and its participants work, checkout the guides below. These are split out by who you are: AVS developers, restakers and Operators. All have different roles and interactioons with EigenLayer:
The most up-to-date and technical documentation on our core contracts can be found in /docs. If you're a shadowy super coder, this is a great place to get an overview of the contracts before diving into the code.
To learn more about interfacing with the EigenLayer core contracts onchain, see our middleware repo.
To get an idea of how users interact with these contracts, check out our integration tests: /src/test/integration.
See CONTRIBUTING.
Contributions that do not follow our fork base PR practices will be either rejected or immediately deleted based on your role, preventing branch pollution, keeping our repository clean, make it more readable and searchable.