Use this file to discover all available pages before exploring further.
DAMM v1 can be invoked from Anchor programs through the dynamic-amm program crate included in damm-v1-sdk/programs/dynamic-amm. CPI builders must pass the same pool, Dynamic Vault, token, mint, and remaining accounts required by the on-chain instruction.
Prefer the TypeScript SDK or Rust off-chain helpers for ordinary app transactions. Use CPI only when another on-chain program must compose directly with DAMM v1.
Constant-product pools use balanced liquidity after bootstrap.
add_imbalance_liquidity
Stable imbalanced deposit.
Stable pools only.
remove_balance_liquidity
Balanced withdrawal.
Allowed even when the pool is disabled.
remove_liquidity_single_side
Stable single-sided withdrawal.
Stable pools only.
bootstrap_liquidity
Re-seed depleted pool.
Pool must satisfy depleted-pool checks.
Liquidity instructions need pool LP mint, user token accounts, user pool LP account, both Dynamic Vault accounts, vault token accounts, vault LP mints, and pool-held vault LP token accounts.
Pool creation CPI is possible but account-heavy because it initializes the pool, LP mint, pool-held vault LP accounts, protocol fee accounts, payer LP ATA, and LP metadata.
Instruction
Notes
initialize_permissionless_pool
Uses curve default fee and PDA from curve type plus sorted mints.
initialize_permissionless_pool_with_fee_tier
Adds the fee-tier seed when the fee differs from the default.
Source includes explicit CpiDisabled and strict transaction sysvar validation for zap-related protocol fee flows. Treat zap protocol fee as an operator off-chain transaction path.
Admin config and operator creation
Admin signer restrictions apply. These are not ordinary CPI integration flows.
Activation updates
Launch-pool activation changes are restricted by activation timing windows.
Depeg pools
CPI callers must include the same depeg remaining accounts required by direct transactions.