# How to Launch a Token via Meteora Dynamic Bonding Curves Using CloddsBot

> Easily launch tokens on Meteora Dynamic Bonding Curves using CloddsBot. Interact with bonding curves directly from chat commands, simplifying wallet validation and pool setup. Get started now.

- Repository: [AL/CloddsBot](https://github.com/alsk1992/CloddsBot)
- Tags: how-to-guide
- Published: 2026-09-11

---

**CloddsBot provides a dedicated Meteora DBC skill that lets you launch tokens on Meteora's DLMM-based bonding curves directly from chat commands, handling wallet validation, pool initialization, and fee configuration through the `/dbc` command interface.**

The `alsk1992/CloddsBot` repository ships with a complete token launch pipeline for Meteora Dynamic Bonding Curves (DBC). This integration allows you to create liquidity pools, configure dynamic fees, and manage migrations without leaving the chat interface. The implementation follows a layered architecture that separates command parsing from blockchain interaction, ensuring both usability and security.

## Prerequisites and Configuration

Before invoking any launch commands, CloddsBot validates your Solana wallet configuration. The system checks for either `SOLANA_PRIVATE_KEY` or `SOLANA_KEYPAIR_PATH` environment variables through the `isConfigured()` function in [`src/skills/bundled/meteora-dbc/index.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts) [source line 36](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts#L36).

The skill uses **dynamic imports** to keep the bot lightweight. Heavy Solana modules are loaded on-demand via `getSolanaModules()`, which imports [`wallet.js`](https://github.com/alsk1992/CloddsBot/blob/main/wallet.js) and [`meteora-dbc.js`](https://github.com/alsk1992/CloddsBot/blob/main/meteora-dbc.js) only when needed [source lines 27-31](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts#L27). This ensures that non-Solana users don't pay the memory cost of blockchain libraries.

## Understanding the Meteora DBC Architecture

The CloddsBot implementation separates concerns across four distinct layers:

- **CLI/Chat Interface**: Parses `/dbc` commands and dispatches to handlers like `handleLaunch`, `handleStatus`, and `handleBuy`
- **Configuration Guard**: Validates wallet availability before any blockchain interaction
- **Launch Handler**: Collects parameters, applies defaults, and builds the launch configuration
- **SDK Interaction**: Calls Meteora DBC functions to provision the actual pool

The core SDK wrapper lives in [`src/solana/meteora-dbc.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/solana/meteora-dbc.ts), exposing functions like `createEmptyMeteoraDlmmPosition` [source line 478](https://github.com/alsk1992/CloddsBot/blob/main/src/solana/meteora-dbc.ts#L478) and `initializeMeteoraDlmmPosition` that handle the low-level DLMM pool creation.

## Launching Your Token

### Command Syntax and Parameters

To initiate a launch, use the `/dbc launch` command with the following structure:

```bash
/dbc launch "Token Name" SYMBOL "Description" \
  --mcap 50 \
  --grad 800 \
  --supply 1000000000 \
  --fee-start 500 \
  --fee-end 100 \
  --fee-decay 3600 \
  --migration 1 \
  --initial 0.5 \
  --creator-fee 80

```

The `handleLaunch()` function in [`src/skills/bundled/meteora-dbc/index.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts) [source lines 68-89](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts#L68) processes these arguments. It validates the argument count and parses flags to construct the launch configuration. If required flags are missing, the handler returns detailed usage guidance [source lines 73-90](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts#L73).

### Configuration Options

The launch configuration supports several bonding curve parameters:

- **`--mcap`**: Target market cap in SOL (50 in the example above)
- **`--grad`**: Graduation threshold in SOL (800)
- **`--supply`**: Total token supply (1 billion)
- **`--fee-start`**: Starting fee in basis points (500 = 5%)
- **`--fee-end`**: Ending fee in basis points (100 = 1%)
- **`--fee-decay`**: Fee decay period in seconds (3600)
- **`--initial`**: Initial buy amount in SOL (0.5)
- **`--creator-fee`**: Creator fee percentage (80)

### Dry-Run Mode

Add `--dry-run` to validate your configuration without submitting transactions:

```bash
/dbc launch "My Token" MTK "Utility token" --mcap 50 --dry-run

```

This prints the complete launch configuration to chat without spending funds, allowing you to verify parameters before committing.

## SDK Integration and Pool Creation

Behind the scenes, the bot invokes `initializeMeteoraDlmmPosition()` from [`src/solana/meteora-dbc.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/solana/meteora-dbc.ts) with your configuration:

```typescript
const launchConfig = {
  marketCapSOL: 50,
  graduationSOL: 800,
  totalSupply: 1_000_000_000,
  feeStartBps: 500,
  feeEndBps: 100,
  feeDecaySec: 3600,
  migrationVersion: 1,
  initialBuySOL: 0.5,
  creatorFeePct: 80,
  decimals: 6,
};

await meteoraDbc.initializeMeteoraDlmmPosition({
  name: "My Token",
  symbol: "MTK",
  description: "Utility token for my app",
  ...launchConfig,
});

```

The SDK handles the complex DLMM position initialization, including creating the empty position via `createEmptyMeteoraDlmmPosition` and funding it according to your bonding curve parameters.

## Post-Launch Operations

After your token launches, CloddsBot provides utilities to monitor and manage the pool.

### Fetching Swap Quotes

To get a quote for selling tokens:

```typescript
await meteoraDbc.getMeteoraDlmmQuote(connection, {
  mint: tokenMint,
  amount: "1000",
  sell: true,
});

```

### Claiming Creator Fees

Retrieve accumulated fees from your pool:

```typescript
await meteoraDbc.claimMeteoraDlmmSwapFee(connection, {
  poolAddress: yourPoolAddress,
  partner: false, // Set true for partner fee claims
});

```

### Dynamic Fee Queries

Check the current fee schedule using `getMeteoraDlmmDynamicFee` from [`src/solana/meteora.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/solana/meteora.ts) [source line 904](https://github.com/alsk1992/CloddsBot/blob/main/src/solana/meteora.ts#L904). This function returns the real-time fee rate as the bonding curve progresses toward graduation.

## External Integration

The launch functionality is also exposed via HTTP through [`src/gateway/launch-routes.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/gateway/launch-routes.ts) [source line 7](https://github.com/alsk1992/CloddsBot/blob/main/src/gateway/launch-routes.ts#L7), allowing external services to trigger token launches programmatically. The skill is cataloged in [`docs/SKILLS_CATALOG.md`](https://github.com/alsk1992/CloddsBot/blob/main/docs/SKILLS_CATALOG.md) [source line 61](https://github.com/alsk1992/CloddsBot/blob/main/docs/SKILLS_CATALOG.md#L61) under the *meteora-dbc* entry.

## Summary

- CloddsBot's Meteora DBC skill lives in [`src/skills/bundled/meteora-dbc/index.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts) and provides chat-based token launches via the `/dbc` command
- The system validates wallet configuration through `isConfigured()` before executing any blockchain operations
- Dynamic imports keep the bot lightweight by loading Solana modules only when needed
- Launch parameters include market cap, graduation threshold, fee curves, and initial buy amounts
- The SDK wrapper in [`src/solana/meteora-dbc.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/solana/meteora-dbc.ts) handles pool creation through `initializeMeteoraDlmmPosition`
- Post-launch operations include swap quotes, fee claims, and dynamic fee monitoring

## Frequently Asked Questions

### What environment variables does CloddsBot require for Meteora DBC launches?

You must set either `SOLANA_PRIVATE_KEY` or `SOLANA_KEYPAIR_PATH` in your environment. The `isConfigured()` function checks for these variables before allowing any blockchain interaction to ensure the bot has signing capabilities.

### Can I test a token launch without spending SOL?

Yes. Append the `--dry-run` flag to your `/dbc launch` command. This mode parses all arguments and displays the final configuration without submitting transactions to the blockchain, allowing you to verify parameters before committing funds.

### Where does the actual pool creation happen in the codebase?

The low-level pool initialization occurs in [`src/solana/meteora-dbc.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/solana/meteora-dbc.ts) through functions like `createEmptyMeteoraDlmmPosition` and `initializeMeteoraDlmmPosition`. The skill layer in [`src/skills/bundled/meteora-dbc/index.ts`](https://github.com/alsk1992/CloddsBot/blob/main/src/skills/bundled/meteora-dbc/index.ts) handles command parsing and calls these SDK functions with your provided configuration.

### How do I claim fees after my token graduates?

Use the `claimMeteoraDlmmSwapFee` function from the Meteora DBC SDK module. Pass your pool address and set `partner: false` for creator fees or `partner: true` if claiming partner fees. This function is accessible through the bot's chat interface or programmatically via the gateway routes.