baseMint
+ quoteMint
+ config
.feeClaimer
field in the DBC curve config)creator
field in the DBC pool state)create_config
instruction on the DBC program:
Example of a DBC Curve Config Parameter
create_config
instruction.tokenType
tokenDecimal
baseMint
token.tokenSupply
fixed
or dynamic
fixed
, you need to set the preMigrationTokenSupply
and postMigrationTokenSupply
fields.dynamic
, you can set tokenSupply
as null.tokenUpdateAuthority
baseMint
token that can be configured based on the launchpad’s preference.CreatorUpdateAuthority
would give the creator
the authority to update the token metadata.Immutable
would make the token metadata immutable and mint authority to be revoked.PartnerUpdateAuthority
would give the partner
the authority to update the token metadata.CreatorUpdateAndMintAuthority
would give the creator
the authority to update the token metadata and mint authority.PartnerUpdateAndMintAuthority
would give the partner
the authority to update the token metadata and mint authority.lockedVesting
baseMint
tokens that can be configured based on the launchpad’s preference.lockedVesting
only starts after the pool has migrated.lockEscrow
powered by our Meteora Lock program.lockedVesting
is a struct that contains the following fields:
amountPerPeriod
- The amount of tokens that will be unlocked per period (in lamports).cliffDurationFromMigrationTime
- The duration of the cliff period from the migration time.frequency
- The frequency of the vesting (in seconds).numberOfPeriod
- The number of periods of the vesting.cliffUnlockAmount
- The amount of tokens that will be unlocked at the cliff period (in lamports).sqrtStartPrice
sqrtPrice
from the price
by using the following formula:
price = (sqrtPrice >> 64)^2 * 10^(tokenADecimal - tokenBDecimal)
poolFees
baseFee
and dynamicFee
baseFee
cliffFeeNumerator
- The initial numerator of the pool fee.firstFactor
- Depending on the baseFeeMode
, this field will be either numberOfPeriod
or feeIncrementBps
.
baseFeeMode
is set to 0 or 1 (Fee Scheduler), this field will be numberOfPeriod
.baseFeeMode
is set to 2 (Rate Limiter), this field will be feeIncrementBps
.secondFactor
- Depending on the baseFeeMode
, this field will be either periodFrequency
or maxLimiterDuration
.
baseFeeMode
is set to 0 or 1 (Fee Scheduler), this field will be periodFrequency
.baseFeeMode
is set to 2 (Rate Limiter), this field will be maxLimiterDuration
.thirdFactor
- Depending on the baseFeeMode
, this field will be either reductionFactor
or referenceAmount
.
baseFeeMode
is set to 0 or 1 (Fee Scheduler), this field will be reductionFactor
.baseFeeMode
is set to 2 (Rate Limiter), this field will be referenceAmount
.baseFeeMode
- The mode of the base fee.
dynamicFee
binStep
- u16 value representing the bin step in bpsbinStepU128
- u128 value for a more accurate bin stepfilterPeriod
- Minimum time that must pass between fee updatesdecayPeriod
- Period after the volatility starts decaying (must be > filterPeriod)reductionFactor
- Controls how quickly volatility decys over timemaxVolatilityAccumulator
- Multiplier that determines how much volatility affects feesvariableFeeControl
- Caps the maximum volatility that can be accumulatednull
if you don’t want to enable the dynamic fee.creatorTradingFeePercentage
creatorTradingFeePercentage
=== 0, the creator will not receive any trading fees from the pre-graduation DBC pool, and all the fees will go to the feeClaimer
which belongs to the partner
launchpad.creatorTradingFeePercentage
is a u16 value representing the trading fee in percentage.activationType
activationType
is a u8 value representing the activation type of the DBC pool.
Slot
-> Calculated in terms of slots (0.4 seconds = 400ms).Timestamp
-> Calculated in terms of seconds. (1 second = 1000ms)collectFeeMode
collectFeeMode
is a u8 value representing the collect fee mode of the DBC pool.
Quote Token
-> The trading fees collected in the pre-graduation DBC pool is collected in the quote token.Output Token
-> The trading fees collected in the pre-graduation DBC pool is collected in the output token.migrationQuoteThreshold
migrationQuoteThreshold
is a u128 value representing the amount of quote token that will be needed to be collected in the pre-graduation DBC pool to qualify for the pool to be ready for migration.poolState.quoteReserve
must be greater than or equal to the poolConfig.migrationQuoteThreshold
.poolState.quoteReserve
is greater than or equal to the poolConfig.migrationQuoteThreshold
, you would need to set the migrationQuoteThreshold
to have a minimum value of 750 USD. You can read more about our migration keepers heremigrationFee
migrationFee
is the amount of quote token that you want to collect as fee when the token pool migrates from pre-graduation to post-graduation.migrationFee
will be collected from the migrationQuoteThreshold
amount of quote token.migrationFee
is a struct that contains the following fields:
feePercentage
- The fee percentage of the migration fee. The value must be between 0% and 50%.creatorFeePercentage
- The fee percentage of the creator fee. The value must be between 0% and 100%.migrationQuoteThreshold
amount of quote token, you would need to set the migrationFee
to:partner
and creator
, you can set the creatorFeePercentage
to 50.migrationQuoteThreshold
is 100 SOL, a 10% migrationFee would mean that 90 SOL will be migrated to the post-graduation pool’s LP, and the remaining 10 SOL will be collected as fee.curve
curve
is an array of objects that contains the following fields:
sqrtPrice
- The sqrt price of the curve segment.liquidity
- The liquidity of the curve segment.migrationOption
migrationOption
is a u8 value representing the type of the post-graduation pool after the bonding curve has completed.
DAMM v1
-> The pool will be migrated to a DAMM v1 pool.DAMM v2
-> The pool will be migrated to a DAMM v2 pool.migrationFeeOption
migrationFeeOption
are fee configs that have been pre-defined for the DBC Pool Authority to use.collectFeeMode
of the post-graduation pool is set to Output Token
.collectFeeMode
of the post-graduation pool is set to Quote Token
. Additionally, because dynamic fee is enabled in the DAMM v2 fee config, there will be an additional 20% of the chosen base fee added to the total fee.migrationFeeOption
is a u8 value representing the pool fee of the post-graduation pool.
FixedBps25
-> The pool fee of the post-graduation pool will be 25 bps.FixedBps30
-> The pool fee of the post-graduation pool will be 30 bps.FixedBps100
-> The pool fee of the post-graduation pool will be 100 bps.FixedBps200
-> The pool fee of the post-graduation pool will be 200 bps.FixedBps400
-> The pool fee of the post-graduation pool will be 400 bps.FixedBps600
-> The pool fee of the post-graduation pool will be 600 bps.Cuztomizable
-> Only if your migrationOption
is set to DAMM v2
. You can set the pool fees of the post-graduation pool in the migratedPoolFee
struct.migratedPoolFee
migratedPoolFee
is only available if your migrationOption
is set to DAMM v2
and migrationFeeOption
is set to Cuztomizable
[6].migratedPoolFee
is a struct that contains the following fields:
collectFeeMode
- The collect fee mode of the post-graduation pool.dynamicFee
- The dynamic fee of the post-graduation pool.poolFeeBps
- The pool fee of the post-graduation pool.lpPercentage
partnerLpPercentage
- The percentage of the LP that will be allocated to the partner in the graduated pool (0-100)creatorLpPercentage
- The percentage of the LP that will be allocated to the creator in the graduated pool (0-100)partnerLockedLpPercentage
- The percentage of the locked LP that will be allocated to the partner in the graduated pool (0-100)creatorLockedLpPercentage
- The percentage of the locked LP that will be allocated to the creator in the graduated pool (0-100)create_config
instruction on the DBC program with the following parameters:
config
- The DBC curve config account public key. This will be the address that stores the curve config settings.quoteMint
- The quote mint public key that will be paired with the base mint. All pools created with this DBC curve config address will be paired with this quote mint.feeClaimer
- The fee claimer public key is a wallet signer address that will belong to the launchpad to claim the partner fees.leftoverReceiver
- The leftover receiver public key is a wallet that will receive the leftover tokens in the bonding curve after the pool has migrated.payer
- The payer public key is a wallet signer that will pay for the creation of the DBC curve config account.migrationQuoteThreshold
and percentageSupplyOnMigration
.percentageSupplyOnMigration
is the percentage of the total token supply that you want to be migrated into the post-graduation pool’s LP.initialMarketCap
is the initial market cap of the token when the pre-graduation pool is first created.migrationMarketCap
is the market cap of the token when the pre-graduation pool is ready to migrate to the post-graduation pool.initialMarketCap
, migrationMarketCap
and percentageSupplyOnMigration
.percentageSupplyOnMigration
is the percentage of the total token supply that you want to be migrated into the post-graduation pool’s LP.initialMarketCap
is the initial market cap of the token when the pre-graduation pool is first created.migrationMarketCap
is the market cap of the token when the pre-graduation pool is ready to migrate to the post-graduation pool.liquidityWeights
is an array of values that you want to be the exponent of the liquidity of the curve segments. Using these liquidity weights, you can control how thick or thin each curve segment’s liquidity is to control the price action of the curve.initialMarketCap
is the initial market cap of the token when the pre-graduation pool is first created.migrationMarketCap
is the market cap of the token when the pre-graduation pool is ready to migrate to the post-graduation pool.