What's DBC?
DBC is Meteora’s first bonding curve pool product that allows you to initialize a virtual reserve pool and migrate to either a DAMM v1 or DAMM v2 pool.
DBC Curve Configs
Each DBC pool is a PDA of token mints + config. A DBC Curve Config Key contains all the settings that will dictate the behavior of your DBC pool, which includes bonding curve shape, pre-graduation fees, post-graduation fees, and more.
DBC Program
At Meteora, we’ve developed aNode.js <> Typescript SDK, a Rust SDK and a Go SDK to make deploying and managing your DBC virtual pool easier. The following sections includes information on installing and using the SDKs. It also covers where to find the latest code, and how to contribute to these repositories.
Program Details
DBC Program
Meteora DBC Program
DBC IDL
Meteora DBC Program IDL
| Network | Program ID |
|---|---|
| Mainnet | dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN |
| Devnet | dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN |
| Authority | Address |
|---|---|
| Pool Authority | FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM |
Official SDKs
Typescript SDK
Official Meteora DBC Typescript SDK
Rust SDK
Official Meteora DBC Rust SDK
Go SDK
Official Meteora DBC Go SDK
Swap Modes
DBC supports two swap instructions:| Instruction | Modes |
|---|---|
swap | ExactIn only |
swap2 | ExactIn (0), PartialFill (1), ExactOut (2) |
swap2 includes additional information in the EvtSwap2 event such as quoteReserveAmount, migrationThreshold, and includedFeeInputAmount.
For pools with Rate Limiter enabled (
baseFeeMode == 2), the SYSVAR_INSTRUCTIONS_PUBKEY must be included in the remaining accounts of the swap instruction.Pool Creator Transfer
Pool creators can transfer their creator rights to a new address using thetransfer_pool_creator instruction. This transfers all creator privileges including fee claiming rights and surplus withdrawal.
Migration
DBC pools can be migrated to either a DAMM v1 or DAMM v2 pool. The DAMM v1 and DAMM v2 pools are both derived from thebaseMint, quoteMint and dammConfig.
Flow of migration
DAMM V1
createDammV1MigrationMetadatacreateLocker(if the token has locked vesting)migrateToDammV1lockDammV1LpToken(ifcreatorPermanentLockedLiquidityPercentageorpartnerPermanentLockedLiquidityPercentage> 0)claimDammV1LpToken(ifcreatorLiquidityPercentageorpartnerLiquidityPercentage> 0)
Liquidity Vesting (DAMM V2 only)
IfpartnerLiquidityVestingInfoParams or creatorLiquidityVestingInfoParams are configured, vesting is handled directly via LP positions during migration. No separate migration_metadata account is required.
DAMM V2
createLocker(if the token has locked vesting)migrateToDammV2
DAMM v2 migration now uses positions directly for vesting, removing the need for a separate
migration_metadata account. This simplifies the migration flow and reduces the number of accounts and transactions required.DAMM Fee Config Keys
The following section depicts thedammConfig key for each pool type.
DAMM v1 Migration Fee Config Keys:
Accessible via
DAMM_V1_MIGRATION_FEE_ADDRESS[i] in the DBC Typescript SDK.| Migration Fee Option | Config Key |
|---|---|
| 0 | 8f848CEy8eY6PhJ3VcemtBDzPPSD4Vq7aJczLZ3o8MmX |
| 1 | HBxB8Lf14Yj8pqeJ8C4qDb5ryHL7xwpuykz31BLNYr7S |
| 2 | 7v5vBdUQHTNeqk1HnduiXcgbvCyVEZ612HLmYkQoAkik |
| 3 | EkvP7d5yKxovj884d2DwmBQbrHUWRLGK6bympzrkXGja |
| 4 | 9EZYAJrcqNWNQzP2trzZesP7XKMHA1jEomHzbRsdX8R2 |
| 5 | 8cdKo87jZU2R12KY1BUjjRPwyjgdNjLGqSGQyrDshhud |
DAMM v2 Migration Fee Config Keys:
Accessible via
DAMM_V2_MIGRATION_FEE_ADDRESS[i] in the DBC Typescript SDK.| Migration Fee Option | Config Key |
|---|---|
| 0 | 7F6dnUcRuyM2TwR8myT1dYypFXpPSxqwKNSFNkxyNESd |
| 1 | 2nHK1kju6XjphBLbNxpM5XRGFj7p9U8vvNzyZiha1z6k |
| 2 | Hv8Lmzmnju6m7kcokVKvwqz7QPmdX9XfKjJsXz8RXcjp |
| 3 | 2c4cYd4reUYVRAB9kUUkrq55VPyy2FNQ3FDL4o12JXmq |
| 4 | AkmQWebAwFvWk55wBoCr5D62C6VVDTzi84NJuD9H7cFD |
| 5 | DbCRBj8McvPYHJG1ukj8RE15h2dCNUdTAESG49XpQ44u |
| 6 | A8gMrEPJkacWkcb3DGwtJwTe16HktSEfvwtuDh2MCtck |
Migration Keeper
We run 2 migration keepers to automatically migrate DBC pools to DAMM pools.The Migration Keepers only runs on Mainnet.
pool_config.migration_quote_thresholdeither requires:- 10 SOL
- 750 USDC
- 1500 JUP
pool_config.migration_quote_thresholdrequires:- >= 750 USD (
quote_minttoken)
- >= 750 USD (
Manual Migrator
We have also created a Manual Migrator user interface that allows you to manually migrate your DBC pool to a DAMM pool.The Manual Migrator runs on both Mainnet and Devnet.

