Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.meteora.ag/llms.txt

Use this file to discover all available pages before exploring further.

This page summarizes the DBC implementation details that are useful when reading pool state, building integrations, or checking whether a claim or migration action is allowed.

Main Accounts

AccountWhat It Stores
PoolConfigReusable launch template: quote mint, fee claimer, leftover receiver, bonding curve, fees, migration target, token settings, liquidity distribution, migration fee settings, and migrated-pool fee settings.
VirtualPoolLive launch state: creator, base and quote vaults, reserves, current square-root price, activation point, fee balances, migration progress, surplus and claim flags, and protocol migration fee balances.
PartnerMetadataOptional partner metadata used by launchpad partners.
VirtualPoolMetadataOptional metadata account for a launched virtual pool, created by the pool creator.
OperatorAdmin-created permission account used for protocol operations such as claiming protocol fees or zapping protocol fees.

Lifecycle State

VirtualPool tracks migration progress with four states.
StateMeaning
PreBondingCurveThe pool is still trading on the DBC curve.
PostBondingCurveThe curve is complete and a locker step is still needed. This is used when locked vesting is configured.
LockedVestingThe pool is ready for DAMM pool creation, or vesting/locker setup has been completed.
CreatedPoolThe migrated DAMM pool has been created.
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

SettingProgram Constraint
Active curve points1 to 16 points. The account stores 20 slots for compatibility and future capacity.
Token decimals6 to 9.
Bonding-curve minimum base fee0.25%, stored as 2_500_000 over 1_000_000_000.
Bonding-curve maximum total fee99%, stored as 990_000_000 over 1_000_000_000.
Rate limiter durationUp to 43,200 seconds for timestamp activation or 108,000 slots for slot activation.
Migration fee percentageUp to 99%. If the migration fee is 0, the creator migration fee percentage must also be 0.
Pool creation feeIf non-zero, from 0.001 SOL to 100 SOL, paid in lamports.
Migrated pool fee0.1% to 10% when custom DAMM v2 migrated-pool fees are configured.
Day-one locked liquidityAt least 10% of migrated liquidity must still be locked after one day.
DAMM v2 vesting lock durationAt most 2 years.

Permissions

ActionRequired Authority
Create configAny payer can create a config account, but the config fixes the fee_claimer and leftover_receiver.
Initialize virtual poolCreator signs and launches from an existing config.
Create virtual pool metadataCurrent pool creator.
Transfer pool creatorCurrent pool creator.
Claim partner trading feeConfig fee_claimer.
Claim creator trading feeCurrent pool creator.
Partner withdraw surplusConfig fee_claimer.
Creator withdraw surplusCurrent pool creator.
Withdraw partner migration feeConfig fee_claimer.
Withdraw creator migration feeCurrent pool creator.
Withdraw leftoverPermissionless instruction, but funds can only go to the config leftover_receiver ATA after migration.
Claim protocol feesOperator with ClaimProtocolFee permission.
Zap protocol feeOperator with ZapProtocolFee permission.
Several claim paths also use one-time flags on VirtualPool, so a valid signer cannot claim the same surplus, migration fee, pool creation fee, or leftover more than once.

Claims by Lifecycle Stage

Lifecycle StageClaim Paths
After virtual pool creationPartner and protocol pool creation fees can be claimed once, when configured.
During bonding curve tradingPartner, creator, and protocol trading fees can be claimed as fees accrue.
After curve completionSurplus and partner or creator migration fees become available.
After migrated pool creationFixed-supply leftover withdrawal, DAMM v1 LP-token claims, and DAMM v2 migrated position ownership are finalized.

Token Support

DBC can launch SPL Token or Token 2022 base mints. DAMM v1 migration is restricted to SPL Token base mints and SPL Token quote mints. DAMM v2 is the migration path for Token 2022 launches. Quote mints can be SPL Token mints. Token 2022 quote mints are accepted only when their extensions are limited to MetadataPointer and TokenMetadata; 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.
  • The collect fee mode must be QuoteToken or OutputToken.
  • The migration target must be DAMM v1 or DAMM v2.
  • DAMM v1 configs cannot use Token 2022, custom DAMM v2 migration fees, or DAMM v2 liquidity vesting.
  • 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.