> ## 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 Developer Guide

> Learn how to build DBC integrations with the dynamic_bonding_curve program, TypeScript SDK, transfer-hook flows, Rust helpers, Go examples, and release notes.

Dynamic Bonding Curve (DBC) is Meteora's token launch primitive for creating a virtual reserve pool, trading through a configured bonding curve, and migrating finished pools to DAMM v1 or DAMM v2. To learn more about fee behavior, migration design, and formulas, you can read the following documentations.

<CardGroup cols={2}>
  <Card title="Learn more about DBC" icon="book-open" iconType="solid" href="/core-products/dbc/what-is-dbc">
    Overview of DBC, universal curves, launch configurations, fees, surplus, leftover tokens, and migration.
  </Card>

  <Card title="DBC Formulas" icon="calculator" iconType="solid" href="/core-products/dbc/formulas">
    Formulas for price, curve progress, reserves, fees, and migration calculations.
  </Card>
</CardGroup>

## Integration

<CardGroup cols={2}>
  <Card title="Program Accounts" icon="table-cells" iconType="solid" href="/developer-guides/dbc/program/accounts">
    Account model for pool configs, virtual pools, vaults, metadata, operators, and migration accounts.
  </Card>

  <Card title="Program Instructions" icon="list" iconType="solid" href="/developer-guides/dbc/program/instructions">
    Instruction families for partners, creators, swaps, migration, fee claims, and operators.
  </Card>

  <Card title="Program Events" icon="list" iconType="solid" href="/developer-guides/dbc/program/events">
    Event-CPI payloads for configs, pools, swaps, fee claims, migration, and operator flows.
  </Card>

  <Card title="Program Errors" icon="triangle-exclamation" iconType="solid" href="/developer-guides/dbc/program/errors">
    Anchor custom errors, messages, and common integration causes.
  </Card>

  <Card title="TypeScript SDK" icon="code" iconType="solid" href="/developer-guides/dbc/typescript-sdk/getting-started">
    Official TypeScript SDK for config builders, pool creation, quotes, swaps, migration, and state reads.
  </Card>

  <Card title="Transfer Hook SDK" icon="code-branch" iconType="solid" href="/developer-guides/dbc/typescript-sdk/transfer-hooks">
    TypeScript SDK methods for Token 2022 transfer-hook configs, pools, swaps, claims, and state reads.
  </Card>

  <Card title="Rust Integration" icon="terminal" iconType="solid" href="/developer-guides/dbc/rust-integration/library">
    Rust quote helpers and program-side integration notes for `dynamic_bonding_curve`.
  </Card>
</CardGroup>

<CardGroup cols={1}>
  <Card title="Go Integration" icon="golang" iconType="solid" href="/developer-guides/dbc/go-integration/reference">
    Go examples for pool reads, swaps, fee claims, and creator transfer flows.
  </Card>
</CardGroup>

## Program IDs

The `dynamic_bonding_curve` program ID is the same on mainnet and devnet:

| Network      | Program ID                                    |
| ------------ | --------------------------------------------- |
| Mainnet Beta | `dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN` |
| Devnet       | `dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN` |

The pool authority PDA used by the program is:

| Authority      | Address                                        |
| -------------- | ---------------------------------------------- |
| Pool Authority | `FhVo3mqL8PW5pH5U2CN4XE33DokiyZnUwuGpH2hmHLuM` |

<CardGroup cols={2}>
  <Card title="DBC Program" icon="code" href="https://github.com/MeteoraAg/dynamic-bonding-curve">
    Anchor program source for `dynamic_bonding_curve`.
  </Card>

  <Card title="DBC IDL" icon="file-code" href="https://github.com/MeteoraAg/dynamic-bonding-curve-sdk/blob/main/packages/dynamic-bonding-curve/src/idl/dynamic-bonding-curve/idl.json">
    Published Anchor IDL used by the TypeScript SDK.
  </Card>

  <Card title="TypeScript SDK" icon="node-js" href="https://github.com/MeteoraAg/dynamic-bonding-curve-sdk/tree/main/packages/dynamic-bonding-curve">
    Public SDK for transaction builders, state reads, quotes, curve helpers, PDA helpers, and tests.
  </Card>

  <Card title="Go Examples" icon="golang" href="https://github.com/MeteoraAg/dbc-go">
    Go examples for backend reads, swaps, fee claims, and creator transfer flows.
  </Card>
</CardGroup>

## Migration Keepers

Meteora runs migration keepers on mainnet to migrate eligible DBC pools when the bonding curve is complete and the pool has enough quote-side liquidity.

| Keeper                                                                                                                    | Requirement                                                                       |
| ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [`CQdrEsYAxRqkwmpycuTwnMKggr3cr9fqY8Qma4J9TudY`](https://solscan.io/account/CQdrEsYAxRqkwmpycuTwnMKggr3cr9fqY8Qma4J9TudY) | `pool_config.migration_quote_threshold` is 10 SOL, 750 USDC, or 1500 JUP.         |
| [`DeQ8dPv6ReZNQ45NfiWwS5CchWpB2BVq1QMyNV8L2uSW`](https://solscan.io/account/DeQ8dPv6ReZNQ45NfiWwS5CchWpB2BVq1QMyNV8L2uSW) | `pool_config.migration_quote_threshold` is at least 750 USD worth of quote token. |

<Note>
  Migration keepers run on mainnet. The [Manual Migrator](https://migrator.meteora.ag) supports both mainnet and devnet.
</Note>

## DAMM Fee Config Keys

The SDK exposes these arrays as `DAMM_V1_MIGRATION_FEE_ADDRESS` and `DAMM_V2_MIGRATION_FEE_ADDRESS`.

### DAMM v1

| Option | Fee     | Config key                                     |
| ------ | ------- | ---------------------------------------------- |
| `0`    | 25 bps  | `8f848CEy8eY6PhJ3VcemtBDzPPSD4Vq7aJczLZ3o8MmX` |
| `1`    | 30 bps  | `HBxB8Lf14Yj8pqeJ8C4qDb5ryHL7xwpuykz31BLNYr7S` |
| `2`    | 100 bps | `7v5vBdUQHTNeqk1HnduiXcgbvCyVEZ612HLmYkQoAkik` |
| `3`    | 200 bps | `EkvP7d5yKxovj884d2DwmBQbrHUWRLGK6bympzrkXGja` |
| `4`    | 400 bps | `9EZYAJrcqNWNQzP2trzZesP7XKMHA1jEomHzbRsdX8R2` |
| `5`    | 600 bps | `8cdKo87jZU2R12KY1BUjjRPwyjgdNjLGqSGQyrDshhud` |

### DAMM v2

| Option | Fee          | Config key                                     |
| ------ | ------------ | ---------------------------------------------- |
| `0`    | 25 bps       | `7F6dnUcRuyM2TwR8myT1dYypFXpPSxqwKNSFNkxyNESd` |
| `1`    | 30 bps       | `2nHK1kju6XjphBLbNxpM5XRGFj7p9U8vvNzyZiha1z6k` |
| `2`    | 100 bps      | `Hv8Lmzmnju6m7kcokVKvwqz7QPmdX9XfKjJsXz8RXcjp` |
| `3`    | 200 bps      | `2c4cYd4reUYVRAB9kUUkrq55VPyy2FNQ3FDL4o12JXmq` |
| `4`    | 400 bps      | `AkmQWebAwFvWk55wBoCr5D62C6VVDTzi84NJuD9H7cFD` |
| `5`    | 600 bps      | `DbCRBj8McvPYHJG1ukj8RE15h2dCNUdTAESG49XpQ44u` |
| `6`    | Customizable | `A8gMrEPJkacWkcb3DGwtJwTe16HktSEfvwtuDh2MCtck` |

## Commands

| Task                       | Command                                                               |
| -------------------------- | --------------------------------------------------------------------- |
| Build TypeScript SDK       | `cd packages/dynamic-bonding-curve && pnpm install && pnpm run build` |
| Run TypeScript SDK tests   | `cd packages/dynamic-bonding-curve && pnpm test`                      |
| Run TypeScript type checks | `cd packages/dynamic-bonding-curve && pnpm run check-types`           |
| Run Rust quote tests       | `cd dynamic-bonding-curve && cargo test -p dynamic-bonding-curve-sdk` |
| Run Go examples            | `go run examples/<file-name>.go`                                      |
| Run program tests          | `anchor test` from the `dynamic-bonding-curve` repository             |

<Note>
  Some SDK tests depend on local validator fixtures and deployed program artifacts. For production integrations, simulate transactions and test on devnet before sending mainnet transactions.
</Note>

## Stay Updated

<CardGroup cols={1}>
  <Card title="DBC Changelog" icon="newspaper" href="/developer-guides/dbc/changelog">
    Program, IDL, SDK, quote, migration, and validation changes for integration planning.
  </Card>
</CardGroup>
