Main Accounts
SDK state readers normalize standard and transfer-hook account variants. Raw account readers and indexers should still distinguish
PoolConfig from ConfigWithTransferHook, and VirtualPool from TransferHookPool.
Lifecycle State
The sharedPoolState inside VirtualPool and TransferHookPool tracks migration progress with four states.
When the quote reserve reaches
migration_quote_threshold, normal curve trading stops. If locked vesting is configured, the pool moves to PostBondingCurve; otherwise it moves directly to LockedVesting.
Core Limits
Permissions
Several claim paths also use one-time flags on the pool state, so a valid signer cannot claim the same surplus, migration fee, pool creation fee, or leftover more than once.
Claims by Lifecycle Stage
Token Support
DBC can launch SPL Token or Token 2022 base mints. New configs must migrate to DAMM v2. Existing DAMM v1 pools can still graduate. Transfer-hook launches are Token 2022 only. They useConfigWithTransferHook, TransferHookPool, swap2_with_transfer_hook, and transfer-hook-aware trading fee claims. The base mint’s transfer hook is revoked when the curve completes.
Quote mints can be SPL Token mints. Token 2022 quote mints are permissionless only when their extensions are limited to MetadataPointer and TokenMetadata and the transfer fee is zero. Other Token 2022 quote extensions need a TokenBadge. Native Token 2022 mint behavior is rejected as a quote mint.
Config Validation Highlights
DBC validates the launch template before it can be used:- The quote mint must be supported, or a valid token badge must be supplied at remaining account index
0. - The quote mint transfer fee must be zero, including any scheduled fee.
- The collect fee mode must be
QuoteTokenorOutputToken. - The migration target must be DAMM v2.
MeteoraDammis rejected for new configs and new pools. BaseFeeMode::RateLimiteris rejected for new configs and new pools.- Transfer-hook configs must use Token 2022 and a valid executable transfer-hook program.
- Mint-authority token authority options are only valid for transfer-hook configs.
- Liquidity percentages across partner, creator, permanent locks, and vesting must add to
100%. - Curve prices must strictly increase and every active curve point must have positive liquidity.
- Fixed-supply configs must set a non-default leftover receiver and must provide enough supply for the curve, migration liquidity, locked vesting, and the 25% swap buffer.

