Restaking Pools

The restaking-pool module powers the aggregation and delegation of user assets into curated strategies. These pools act as intermediaries between users and shared security networks like EigenLayer or Symbiotic, enabling scalable and permissionless participation in restaking.

Each pool can be tailored to a specific strategy or validator set. The architecture supports off-chain coordination via a Go SDK and contract bindings, enhancing automation and interoperability with external systems.

Key Components

1. Smart Contracts (contracts/)

  • Implement pool logic, user deposits, validator coordination, and restaking lifecycle.

  • Likely includes access control (e.g., operator, curator), performance tracking, and rewards management.

2. Off-chain SDK (Go)

  • Located in abigen/, generated/, and generation/ folders.

  • Provides tools for interacting with smart contracts from Go-based services.

  • Includes scripts like compile_contracts.sh and fastgen.py to build contract bindings and streamline integration.

3. Deployment & Governance

  • deploy/ and deployment/ folders handle deployment logic, potentially using Hardhat or custom scripts.

  • .openzeppelin/ includes metadata for upgradeable deployments.

Flow Overview

  1. User deposits assets into a restaking pool smart contract.

  2. Pool logic routes assets to a target strategy (e.g., EigenLayer restaking).

  3. Rewards and performance data are tracked.

  4. External validators or service providers interact via off-chain bindings using the Go SDK.

  5. Withdrawals or reallocation can be performed by users or orchestrators.

Cross-Chain & Off-Chain Coordination

  • Go modules enable validators or external AVS actors to read from/write to contracts efficiently.

  • abigen.go, utils.go, and generated.go provide a bridge between the on-chain pool state and off-chain decision-making.

Smart Contract Highlights

Contract Area

Role

Pool Core

Manages user deposits, withdrawals, strategy routing

Access Roles

Defines operators/curators and their permissions

Rewards Logic

Tracks and distributes earned rewards from restaking

Validator Registry

(If present) Registers approved restaking destinations

Extensibility

  • Supports modular integration with new shared security networks.

  • Can be extended with new off-chain agents using the Go SDK.

  • Deployment scripts make pool creation repeatable and auditable.

Notes

  • Implements a blend of Solidity and Go for on-chain and off-chain interoperability.

  • Ideal for use cases where external actors (e.g., Shared Security Networks, oracles) must participate in pool coordination.

Last updated