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

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 source line 36.

The skill uses dynamic imports to keep the bot lightweight. Heavy Solana modules are loaded on-demand via getSolanaModules(), which imports wallet.js and meteora-dbc.js only when needed source lines 27-31. 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, exposing functions like createEmptyMeteoraDlmmPosition source line 478 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:

/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 source lines 68-89 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.

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:

/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 with your configuration:

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:

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

Claiming Creator Fees

Retrieve accumulated fees from your pool:

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 source line 904. 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 source line 7, allowing external services to trigger token launches programmatically. The skill is cataloged in docs/SKILLS_CATALOG.md source line 61 under the meteora-dbc entry.

Summary

  • CloddsBot's Meteora DBC skill lives in 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 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 through functions like createEmptyMeteoraDlmmPosition and initializeMeteoraDlmmPosition. The skill layer in 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.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →