Skip to main content
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.

StrategyType

Bump Types

Account Reads

Gotchas