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 dynamic-bonding-curve account model. For exact layouts, use the published IDL and generated TypeScript types exported by @meteora-ag/dynamic-bonding-curve-sdk.

Address Map

AddressHow it is chosenUse
PoolConfigNew signer account passed to create_configPartner config for quote mint, fee claimer, leftover receiver, fees, curve, token behavior, migration settings, and graduated-pool settings.
VirtualPoolPDA from quote mint, base mint, and configActive DBC pool for one base mint and config. Stores creator, vaults, reserves, current price, fee accruals, metrics, and migration progress.
Base vaultPDA token account from pool and base mintProgram-controlled token account for launched base tokens.
Quote vaultPDA token account from pool and quote mintProgram-controlled token account for quote tokens.
Pool authorityPDA from pool_authorityProgram authority over vaults and migration flows. The deployed address is FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM.
Event authorityPDA from __event_authorityAnchor event-CPI authority required by event-emitting instructions.
Partner metadataPDA from partner_metadata and fee claimerOptional public metadata for a partner.
Virtual pool metadataPDA from virtual_pool_metadata and poolOptional public metadata for a pool.
DAMM v1 migration metadataPDA from meteora and poolMetadata used by DAMM v1 migration and LP lock/claim flows.
DAMM v2 migration metadataPDA from damm_v2 and poolDeprecated in the program; DAMM v2 migration no longer requires a separate metadata setup step.
OperatorPDA from operatorAdmin-created permission account for protocol fee claim and zap flows.
Claim fee operatorPDA from cf_operatorProtocol fee claim authorization account.

Constants

ConstantValueMeaning
MAX_CURVE_POINT16Maximum curve points accepted by public curve builders.
MAX_CURVE_POINT_CONFIG20Fixed on-chain PoolConfig.curve capacity.
FEE_DENOMINATOR1_000_000_000Fee numerator denominator used by DBC fee math.
MIN_FEE_BPS25Minimum pre-graduation base fee, equal to 0.25%.
MAX_FEE_BPS9900Maximum pre-graduation total fee, equal to 99%.
PROTOCOL_FEE_PERCENT20Protocol share of trading fees before optional referral split.
HOST_FEE_PERCENT20Referral share of the protocol fee when a referral account is present.
PROTOCOL_POOL_CREATION_FEE_PERCENT10Protocol share of pool creation fees. The remainder is claimable by the partner.
MIN_POOL_CREATION_FEE1_000_000 lamportsMinimum non-zero pool creation fee.
MAX_POOL_CREATION_FEE100_000_000_000 lamportsMaximum pool creation fee.
MIN_LOCKED_LIQUIDITY_BPS1000Minimum locked-liquidity requirement, equal to 10%.
MAX_LOCK_DURATION_IN_SECONDS63_072_000Maximum lock duration for migrated DAMM v2 liquidity, equal to two years.

Enums

EnumValues
ActivationType0 slot, 1 timestamp.
TokenType / PoolType0 SPL Token, 1 Token-2022.
CollectFeeMode0 quote token, 1 output token.
MigrationOption0 DAMM v1, 1 DAMM v2.
MigrationFeeOption0 25 bps, 1 30 bps, 2 100 bps, 3 200 bps, 4 400 bps, 5 600 bps, 6 customizable.
BaseFeeMode0 linear scheduler, 1 exponential scheduler, 2 rate limiter.
MigrationProgress0 pre-bonding curve, 1 post-bonding curve, 2 locked vesting, 3 created pool.
TokenAuthorityOption0 creator update authority, 1 immutable, 2 partner update authority, 3 creator update and mint authority, 4 partner update and mint authority.
OperatorPermission0 claim protocol fee, 1 zap protocol fee.

PoolConfig

PoolConfig is the partner-created account that defines all pools launched with a config.
FieldUse
quote_mintQuote mint for every pool using the config.
fee_claimerPartner authority allowed to claim partner fees and partner pool creation fees.
leftover_receiverReceiver for leftover base tokens after migration for fixed-supply launches.
pool_feesBaseFeeConfig and optional DynamicFeeConfig used before migration.
partner_liquidity_vesting_info, creator_liquidity_vesting_infoDAMM v2 migrated-liquidity vesting settings.
collect_fee_modeWhether DBC pre-migration fees are collected in quote token or output token.
migration_optionDestination AMM: DAMM v1 or DAMM v2.
activation_typeWhether fee schedules and activation checks use slot or timestamp.
token_decimal, token_type, quote_token_flagBase token decimals, base token program, and quote token classification.
partner_*_liquidity_percentage, creator_*_liquidity_percentagePermanent locked and claimable liquidity shares after migration.
migration_fee_option, migration_fee_percentage, creator_migration_fee_percentageGraduated pool fee key and partner/creator migration fee split.
fixed_token_supply_flag, pre_migration_token_supply, post_migration_token_supplyFixed-supply behavior and supply limits.
creator_trading_fee_percentageCreator share of trading fees.
token_update_authorityMint and metadata authority mode for pool creation.
swap_base_amount, migration_quote_threshold, migration_base_threshold, migration_sqrt_priceAmount and price thresholds computed from the curve configuration.
locked_vesting_configBase token vesting schedule used by locker flows.
migrated_collect_fee_mode, migrated_dynamic_fee, migrated_pool_fee_bps, migrated_compounding_fee_bpsDAMM v2 graduated-pool fee behavior.
migrated_pool_base_fee_mode, migrated_pool_base_fee_bytesDAMM v2 base-fee mode and serialized market-cap scheduler params.
enable_first_swap_with_min_feeEnables the bundled creator first-swap validation path.
pool_creation_feeLamport fee charged on pool creation.
sqrt_start_price, curveQ64.64 start price and fixed array of liquidity distribution points.

VirtualPool

VirtualPool is the account traders, indexers, and migration keepers read most often.
FieldUse
volatility_trackerDynamic fee state: reference price, accumulator, and last update timestamp.
configPoolConfig used by the pool.
creatorPool creator. This authority can claim creator fees, withdraw creator surplus, and transfer creator rights.
base_mint, base_vault, quote_vaultToken identity and program-controlled vaults.
base_reserve, quote_reserveCurrent reserves. quote_reserve is the main migration progress input.
protocol_base_fee, protocol_quote_feeAccrued protocol trading fees.
partner_base_fee, partner_quote_feeAccrued partner trading fees.
creator_base_fee, creator_quote_feeAccrued creator trading fees.
sqrt_priceCurrent Q64.64 sqrt price.
activation_pointSlot or timestamp used for fee schedules and rate limiter windows.
pool_typeSPL Token or Token-2022 base mint.
is_migratedBoolean-like migration completion flag.
migration_progressState machine for bonding, vesting, and migrated pool creation.
is_partner_withdraw_surplus, is_creator_withdraw_surplus, is_protocol_withdraw_surplusSurplus withdrawal flags.
is_withdraw_leftoverLeftover base-token withdrawal flag.
migration_fee_withdraw_statusBit flags for partner and creator migration fee withdrawals.
metricsLifetime protocol and trading fee counters.
finish_curve_timestampTimestamp when the curve completed.
creation_fee_bitsPool creation fee claim flags.
has_swapCached flag indicating whether the pool has had a swap.
protocol_liquidity_migration_fee_bpsProtocol liquidity migration fee bps.
protocol_migration_base_fee_amount, protocol_migration_quote_fee_amountProtocol migration fee amounts.

Nested Types

TypeFieldsUse
PoolFeesConfigbase_fee, dynamic_feeActive pre-graduation fee configuration.
BaseFeeConfigcliff_fee_numerator, first_factor, second_factor, third_factor, base_fee_modeLinear scheduler, exponential scheduler, or rate limiter parameters.
DynamicFeeConfiginitialized, max_volatility_accumulator, variable_fee_control, bin_step, filter_period, decay_period, reduction_factor, bin_step_u128Optional volatility-based fee configuration.
LockedVestingConfigamount_per_period, cliff_duration_from_migration_time, frequency, number_of_period, cliff_unlock_amountBase token vesting schedule after migration.
LiquidityVestingInfovesting_percentage, bps_per_period, number_of_periods, frequency, cliff_duration_from_migration_timeDAMM v2 migrated-liquidity vesting.
LiquidityDistributionConfigsqrt_price, liquidityOne curve segment endpoint and liquidity value.
PoolMetricstotal_protocol_base_fee, total_protocol_quote_fee, total_trading_base_fee, total_trading_quote_feeLifetime fee counters.

Metadata And Operator Accounts

AccountFieldsUse
PartnerMetadatafee_claimer, name, website, logoOptional partner profile keyed by fee claimer.
VirtualPoolMetadatavirtual_pool, name, website, logoOptional pool profile keyed by pool.
Operatorwhitelisted_address, permissionAdmin-created operator permission bitmap.
ClaimFeeOperatoroperatorProtocol fee claim authorization account.
MeteoraDammMigrationMetadatavirtual_pool, partner, lp_mint, partner/creator locked and claimable liquidity, claim and lock statusesDAMM v1 migration and LP claim state.
LockEscrowpool, owner, escrow_vault, total_locked_amount, lp_per_token, fee fieldsLocker escrow state used by locked vesting and DAMM v1 LP locks.