This repository contains all core smart contracts, libraries, and tools for the Stake DAO protocol. It is organized as a modular monorepo powered by pnpm workspaces.
For user-facing and protocol documentation, visit https://docs.stakedao.org/
The monorepo is organized into several key packages. Each package has its own README with detailed documentation.
For in-depth details, see the README in each package directory.
lockers/: Liquid locker protocol (sdToken, veToken, gauges, etc.) for maximizing governance token utility.strategies/: Yield aggregator and boosted strategies built on top of sdToken shared boosting.vlsdt/: Governance system replacing veSDT with a flat 1:1 voting power model, an on-chain boost marketplace, and checkpoint-based fee distribution.votemarket/: Permissionless protocol to create and manage incentive campaigns for LPs voting on gauge weights, built on Curve Gauge Controller forks.periphery/: Satellite products and tooling that build on core packages (router, lending, Votemarket infra) without reverse dependencies.address-book/: Canonical registry of all protocol and product contract addresses, with CI-powered exports for off-chain integrations.shared/: Utility contracts and libraries (e.g., Create3, autovoter, distributors) used by other packages.interfaces/: Shared Solidity interfaces for all protocol integrations, ensuring consistency across packages.
- Node.js (v22+ recommended)
- pnpm (v10+ recommended)
- Foundry (for Solidity development)
- Vyper 0.3.10 (required for compiling some gauge contracts in the lockers package)
- Clone the repository:
git clone https://github.com/stake-dao/contracts-monorepo.git cd contracts-monorepo - Install dependencies:
pnpm install
- Setup environment variables:
- Copy
.env.exampleto.envin each package as needed, and fill in the required keys.
- Copy
Each package may have additional setup or requirements described in their respective README files.
- Makefile (optional):
The repository includes a Makefile with useful commands for formatting, linting, building, and testing. Example:
make test make lint make lint-fix - pnpm workspaces:
Use
pnpmto manage dependencies and scripts across all packages efficiently.
- Main documentation: https://docs.stakedao.org/
- Deployed contract addresses: Stake DAO Offchain Registry
For questions, support, or partnership inquiries, please contact: contact@stakedao.org