Skip to main content

EigenLayer Core Contracts

The EigenLayer core contracts are the set of contracts that are implemented and maintained by EigenLabs and upgradeable by the Protocol Council.

The EigenLayer core contracts are documented in the eigenlayer-contracts repository. The core contracts include contracts for:

  • The EigenLayer protocol to stake and secure verifiable services, and to enable incentives and consequences for Operator commitments.
  • Permissions including User Access Management (UAM), and managing cryptographic keys for Operators across different Operator Sets.
  • The multichain protocol to enable consumption of EigenLayer Ethereum stake on supported destination chains.

This documentation matches the functionality available in v1.7.0 of the core contracts. For release specific documentation for other releases, refer to the /docs repository on the branch for that release in the eigenlayer-contracts repository.

EigenLayer Protocol Core Contracts

Core contractDescription
StrategyManagerResponsible for handling the accounting for Restakers as they deposit and withdraw ERC20 tokens from their corresponding strategies. The StrategyManager tracks the amount of restaked assets each Restaker has within Eigenlayer and handles outflows for burning or redistribution of slashed funds through the clearBurnOrRedistributableShares function.
DelegationManagerResponsible for enabling Restakers to delegate assets to Operators, and withdraw assets. The DelegationManager tracks the amount of assets from each Strategy that have been delegated to each Operator, and tracks accounting for slashing.
EigenPodManagerEnables native ETH restaking
AllocationManagerResponsible for creating Operator Sets, and Operator registrations to Operator Sets. The Allocation Manager also tracks allocation of stake to a Operator Set, and enables AVSs to slash that stake.
RewardsCoordinatorEnables AVSs to distribute ERC20 tokens to Operators and Restakers who delegated assets to Operators. The RewardsCoordinator tracks the rewards and enables Operators and Restakers to claim them.
AVSDirectoryHas been replaced by AllocationManager and will be deprecated in a future release. We strongly recommend existing AVSs migrate to using Operator Sets on Testnet.

Permissions Core Contracts

Core contractDescription
PermissionControllerEnables AVSs and Operators to delegate the ability to call certain core contract functions to other addresses. For more information, refer to User Access Management.
KeyRegistrarManages cryptographic keys for operators across different operator sets. Supports both ECDSA and BN254 key types and ensures global uniqueness of keys across all operator sets.

Multichain Core Contracts

Core contractDescription
CertificateVerifierResponsible for verifying certificates onchain from an offchain task.
OperatorTableUpdaterUpdates Operator table for each Operator Set from the stake root, and validates with storage proofs.
CrossChainRegistryManages the registration and deregistration of Operator Sets to the multichain protocol and helps generate the global stake root.