Olympus V3

April 13, 2026 · View on GitHub

Olympus V3, aka Bophades, is the latest iteration of the Olympus protocol. It is a foundation for the future of the protocol, utilizing the Default Framework to allow extensibility at the base layer via fully onchain governance mechanisms.

Prerequisites:

  • Node.js >=24
  • pnpm 10.33.0

Run pnpm install to install all dependencies. Run pnpm build or forge build to run a build.

Configure foundry settings in foundry.toml.

SRC Directory Structure

├─ external - "External contracts needed for core functionality"
├─ interfaces - "Standard interfaces"
├─ libraries - "Libraries"
├─ modules - "Default framework modules"
│  ├─ AUTHR
│  ├─ INSTR
│  ├─ MINTR
│  ├─ PRICE
│  ├─ RANGE
│  ├─ TRSRY
│  ├─ BLREG
├─ policies - "Default framework policies"
├─ test - "General test utilities and mocks/larps"

Deployments

Up-to-date addresses of all the deployments can be found in:

Privileged Testnet Accounts (Multi-sigs)

  • Executor - 0x84C0C005cF574D0e5C602EA7b366aE9c707381E0
  • Guardian - 0x84C0C005cF574D0e5C602EA7b366aE9c707381E0
  • Policy - 0x3dC18017cf8d8F4219dB7A8B93315fEC2d15B8a7
  • Emergency - 0x3dC18017cf8d8F4219dB7A8B93315fEC2d15B8a7

Setup

Add FORK_TEST_RPC_URL to the .env file in order to run fork tests

Copy the .env.deploy.example file into one file per chain, e.g. .env_deploy_goerli and set the appropriate variables. This chain-specific environment file can then be called during deployment, e.g. env $(cat .env_deploy_goerli | xargs) PRIVATE_KEY=<PRIVATE KEY> ./shell/deploy.sh

Deployment

See DEPLOY.md and DEPLOY_L2.md for more detailed steps.

Boosted Liquidity Vault Setup

  • Deploy any dependencies (if on testnet)
  • Deploy BLV contracts
  • Activate BLV contracts with the BLV registry (using an olymsig script)

Cooler V2

  • Deploy the cooler_v2.json sequence
  • Set the deployed addresses in src/scripts/env.json
  • Run the governance proposal to activate the Cooler V2 contracts. This should also set the treasury borrower.
  • Deploy the cooler_v2_periphery.json sequence