Learn more about Dynamic Vault
Overview of vault behavior, yield routing, access rules, and product concepts.
Dynamic Vault Formulas
Formulas for virtual price, locked profit, LP share, and withdrawal accounting.
Integration
Program Accounts
Account model for vaults, strategies, locked profit, bumps, PDA seeds, and constants.
Program Instructions
Instruction families for user deposits, withdrawals, strategy rebalancing, rewards, operators, and admin flows.
Program Events
Anchor events emitted by liquidity, strategy, reward, performance fee, loss, and simulation flows.
Program Errors
Anchor custom errors, messages, likely causes, and source/IDL naming notes.
TypeScript SDK
Official TypeScript SDK for creating vault clients, deposits, withdrawals, state reads, helpers, and affiliate flows.
Rust Integration
Rust account readers, CLI helpers, and CPI account planning for the vault program.
Dynamic Vault APIs
Indexed read-only vault, APY, virtual price, vault address, and strategy allocation data.
Program IDs
The publicvault program ID is the same on mainnet and devnet:
The TypeScript SDK also exposes the affiliate program ID:
Constants
Source Repositories
Vault Program
Anchor source for the current vault program handlers, accounts, events, and errors.
Vault SDK
Public TypeScript SDK, Anchor IDL, vendored program crate, tests, and Rust client helper.
TypeScript SDK Package
Published package for transaction builders, state reads, helper functions, and affiliate support.
Rust Client
CLI-style Rust examples for showing vault state, simulating unlocked amount, deposits, and withdrawals.
The current program source in
mercurial-vault/programs/vault is newer than the TypeScript SDK’s checked-in IDL in a few areas. These docs call out source-backed behavior and avoid documenting older IDL-only entries as current program handlers.Commands
Stay Updated
Dynamic Vault Changelog
Program, SDK, IDL, Rust helper, and API notes for integration planning.

