######
####################
############################
##################################
######################################
#########################################
###### ##########################
##### #########################
####### ############### ## #######
##### ############ #### ######
###### ##### ##### ######
###### ##### ##### #####
###### ##### ##### ####
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.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 (v9+ recommended)
- Yarn (v3.6.4+ 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.example
to.env
in 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
pnpm
to 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: [email protected]