> ## 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.

# DBC Config Key

> What a DBC config key is, how it controls curve parameters and fee settings, and how launchpads use it to customize token launch behaviour.

# What is a DBC Config Key?

A DBC Config Key is a unique configuration key that will dictate your curve structure and graduated pool fees structure. Here is an example of a [DBC Config Key](https://solscan.io/account/FbKf76ucsQssF7XZBuzScdJfugtsSKwZFYztKsMEhWZM#anchorData)

<CardGroup cols={1}>
  <Card title="Quote Mint" icon="coins">
    <p>The quote mint that all baseMint tokens launched with this config will be paired to (e.g., SOL, USDC, MET)</p>
  </Card>

  <Card title="Pool Fees" icon="dollar-sign">
    <ul>
      <li><strong>Base Fees</strong> - Constant fee or Fee Scheduler with decay mechanism</li>
      <li><strong>Dynamic Fees</strong> - Variable fees based on market volatility (max 20% of base fee)</li>
    </ul>
  </Card>

  <Card title="Fee Collection Mode" icon="binary">
    <p>Determines fee collection: Only Quote tokens or Output token of each swap</p>
  </Card>

  <Card title="Activation Type" icon="typewriter">
    <p>Slot-based (400ms) or Timestamp-based (100ms) calculation for vesting and fee scheduler</p>
  </Card>

  <Card title="Locked Vesting" icon="lock">
    <p>Vesting schedule for baseMint tokens to pool creator after migration</p>
  </Card>

  <Card title="Token Supply" icon="truck-field">
    <ul>
      <li><strong>Pre-migration</strong> - Fixed token supply before migration</li>
      <li><strong>Post-migration</strong> - Fixed token supply after migration</li>
      <li><strong>Dynamic</strong> - Optional null value for dynamic supply</li>
    </ul>
  </Card>

  <Card title="Migration Configuration" icon="house">
    <ul>
      <li><strong>DAMM Pool Option</strong> - DAMM V1 (0) or DAMM V2 (1)</li>
      <li><strong>Fee Config</strong> - Base fees for migrated pools (0.25%, 0.3%, 1%, 2%, 4% and 6%)</li>
      <li><strong>Migration Quote Threshold</strong> - Minimum quote amount for migration</li>
      <li><strong>Migration Fee</strong> - Collect a percentage of fees from the pool's quote reserve</li>
      <li><strong>Migrated Pool Base Fee Mode</strong> - Fee mode for the graduated DAMM v2 pool: FeeTimeSchedulerLinear (0), FeeTimeSchedulerExponential (1), RateLimiter (2), FeeMarketCapSchedulerLinear (3), or FeeMarketCapSchedulerExponential (4)</li>
      <li><strong>Market Cap Fee Scheduler Params</strong> - Configure fee reduction based on price movement for DAMM v2 pools (number of periods, sqrt price step, expiration duration)</li>
      <li><strong>First Swap with Min Fee</strong> - Allow the first swap to use minimum fee for creator bundled buys</li>
      <li><strong>Compounding Fee Mode</strong> - For DAMM v2 graduated pools, set <code>collectFeeMode: 2</code> (Compounding) to reinvest trading fees back into the LP position. Requires <code>compoundingFeeBps</code> to be set to a non-zero value.</li>
      <li><strong>compoundingFeeBps</strong> - The fee rate (in basis points) applied when compounding fees back into the LP position. Must be non-zero when Compounding mode is active, and must be 0 for all other modes.</li>
    </ul>
  </Card>

  <Card title="Migrated Pool Fee Configuration (DAMM v2 only)" icon="money-bill-transfer">
    <p>When your pool migrates to DAMM v2 and you use the Customizable fee option, you can set the <code>migratedPoolFee</code> struct with these options:</p>

    <ul>
      <li><strong>QuoteToken (0)</strong> - Fees collected in the quote token only (maps to DAMM v2 <em>OnlyB</em> mode)</li>
      <li><strong>OutputToken (1)</strong> - Fees collected in both tokens (maps to DAMM v2 <em>BothToken</em> mode)</li>
      <li><strong>Compounding (2)</strong> - Fees are automatically reinvested back into the liquidity position, growing LP value over time instead of accumulating as separate claimable fees</li>
    </ul>
  </Card>

  <Card title="Liquidity Percentages" icon="percent">
    <ul>
      <li><strong>Creator Liquidity</strong> - Claimable LP percentage for pool creator (`creatorLiquidityPercentage`)</li>
      <li><strong>Partner Liquidity</strong> - Claimable LP percentage for config creator (`partnerLiquidityPercentage`)</li>
      <li><strong>Creator Permanently Locked Liquidity</strong> - Forever locked LP for creator fees (`creatorPermanentLockedLiquidityPercentage`)</li>
      <li><strong>Partner Permanently Locked Liquidity</strong> - Forever locked LP for partner fees (`partnerPermanentLockedLiquidityPercentage`)</li>
      <li><strong>LP Vesting (DAMM v2 only)</strong> - Optional vesting schedule for partner/creator LP (`partnerLiquidityVestingInfoParams`, `creatorLiquidityVestingInfoParams`)</li>
    </ul>

    <p><em>Note: Minimum 10% liquidity must remain locked at day 1 post-migration. This can be achieved via permanent locked liquidity and/or vesting liquidity.</em></p>
  </Card>

  <Card title="Creator Trading Fee" icon="user-alien">
    <p>Percentage of trading fees shared with pool creators (default: 0% to partner only)</p>
  </Card>

  <Card title="Base Mint Token" icon="coins">
    <ul>
      <li><strong>Token Type</strong> - SPL or Token2022</li>
      <li><strong>Token Decimal</strong> - 6 or 9 decimal places</li>
    </ul>
  </Card>

  <Card title="Price & Curve" icon="chart-line">
    <ul>
      <li><strong>SqrtStartPrice</strong> - Starting price in square root format</li>
      <li><strong>Curve</strong> - Up to 16 curve segments with sqrtPrice and liquidity</li>
    </ul>
  </Card>

  <Card title="Pool Creation Fee" icon="hand-holding-dollar">
    <p>Partners can configure a pool creation fee in SOL lamports (`poolCreationFee`) that token creators must pay when creating pools with this config.</p>

    <ul>
      <li><strong>Fee Collection</strong> - Fee is collected from creators during `initializeVirtualPoolWithSplToken` or `initializeVirtualPoolWithToken2022`</li>
      <li><strong>Partner Claim</strong> - Partners can claim fees via `claimPartnerPoolCreationFee`</li>
      <li><strong>Protocol Share</strong> - Meteora receives 10% of collected pool creation fees</li>
    </ul>
  </Card>

  <Card title="Additional Parameters" icon="plus">
    <ul>
      <li><strong>Config</strong> - Vanity address for the config key</li>
      <li><strong>Leftover Receiver</strong> - Claims leftover baseMint tokens after curve completion</li>
      <li><strong>Fee Claimer</strong> - Claims bonding curve fees</li>
      <li><strong>Payer</strong> - Pays for config key creation</li>
    </ul>
  </Card>
</CardGroup>

# How to create a DBC Config Key?

You can create a DBC Config Key by using the [DBC Typescript SDK](https://github.com/MeteoraAg/dynamic-bonding-curve-sdk) or via [launch.meteora.ag](https://launch.meteora.ag)
