This page is based on
mercurial-vault/programs/vault for the current on-chain program account model and vault-sdk/ts-client for public TypeScript helper names.PDA Map
The vault signs token transfers and LP minting with the rebalance or idle vault seeds stored in
Vault.bumps.
Constants
Vault
Vault stores the accounting state for one token mint.
Use the TypeScript SDK’s
VaultImpl.create(connection, tokenMint) or VaultImpl.createMultiple(...) for hydrated vault clients. Low-level readers can fetch the Anchor vault account directly by PDA.
LockedProfitTracker
Vault.get_unlocked_amount(current_time) returns total_amount - current_locked_profit. Deposits, withdrawals, virtual price, and SDK helpers use this unlocked amount rather than raw total_amount.
Strategy
Strategy stores one external or internal strategy attached to a rebalance vault.
The current program source supports
StrategyType::Vault and StrategyType::JupLend handlers. Other enum variants remain in the enum for historical compatibility, but their handlers panic as unsupported in the current source.

