padlaunch

Unnamed Meteora pad

Meteora DBC4YZ9…jLnR
Quote assets
1
Quoted in
USDC
Tokens launched
n/a

Launch a token on this pad

Pick what it is priced in, name it, sign once. The curve is this pad's own, and the pad collects its fee on every trade. Launching costs pool rent only; the quote asset's config already exists.

0 of 32 bytes
Up to 10 characters
Image and description
An https link to a JSON file with name, symbol, description and image (the Metaplex token standard), up to 200 characters. IPFS, a raw Gist or your own site all work.
USDC
Bought by you in the same transaction, before anyone else can trade.
Pool rentabout 0.03 SOL
Pool creation fee, set by this pad0 SOL
Your first buynone
Network feeshown in your wallet
You become the token's creator. Your wallet shows the full transaction before you sign.

Tokens and fees

Meteora keeps 20% of trading fees and 10% of creation fees before these numbers. Creators claim their own share from the same pools.

Reading this pad's launched pools

Configs

1 quote asset. Each config is a launch template quoted in one asset, with its own curve; configs cannot change after creation. Open a row for its curve.

Curve in USDC
Opens at 5,000 USDCSold on the curve1 USDC raiseGraduates at 5,040.18 USDC
Price from 0.001 to 0.001008 USDC per token.

Trading

Trading fee
1% to 0.99% (linear)
Creator share of fee
50%
Collected in
USDC
Pool creation fee
0 SOL

Graduation

Graduated pool fee
2%
Migration fee
0%

Liquidity after graduation

100% lockedof migrated liquidity
  • Pad, locked 50%
  • Pad, withdrawable 0%
  • Creator, locked 50%
  • Creator, withdrawable 0%

Token

Supply
5,000,000
Standard
SPL, 6 decimals
Metadata authority
partner+mint
Config
GneyRT…tG7TL7
Launch on this config from a script
import { DynamicBondingCurveClient } from "@meteora-ag/dynamic-bonding-curve-sdk";
import { Connection, Keypair, PublicKey } from "@solana/web3.js";

const client = DynamicBondingCurveClient.create(new Connection(RPC_URL), "confirmed");
const baseMint = Keypair.generate();

const tx = await client.creator.createPool({
  config: new PublicKey("GneyRTrxwBEc79qstwYfuYXZDVE3yYpKSe8NXbtG7TL7"),      // this config (USDC)
  baseMint: baseMint.publicKey,
  name: "My Token",
  symbol: "MYT",
  uri: "https://…/metadata.json",
  payer: creator.publicKey,
  poolCreator: creator.publicKey,
});
// sign with creator + baseMint, send

Build your own front-end

Paste this into Claude, Cursor or any coding assistant. It carries this pad's addresses, the SDK calls, the economics and the pitfalls we hit building this site.

About 500 words. Paste it as the first message.
Read the prompt
Build me a token launchpad website for "my pad", my launchpad ("pad") on Meteora's Dynamic Bonding Curve (DBC) on Solana mainnet.

## What exists on chain already (do not create configs; use these)
- Solana cluster: mainnet
- DBC program: dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN
- My pad = fee claimer wallet: 4YZ9Jkg2wCKWuaYWS747ZUzZsPsYE1jhBEFvM8w5jLnR
- Launch configs (each is a reusable template; a token is launched by creating a pool on one of them):
- Config `GneyRTrxwBEc79qstwYfuYXZDVE3yYpKSe8NXbtG7TL7`: quoted in USDC (mint `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`, 6-decimal SPL base tokens, supply 5,000,000). Raise to graduate: 1 USDC. Trading fee 1% decaying to 0.99% (linear), creator keeps 50% of it. Pool creation fee 0 SOL. Migration fee 0%.
- Pad page on padlaunch for reference: https://padlaunch.vercel.app/pad/4YZ9Jkg2wCKWuaYWS747ZUzZsPsYE1jhBEFvM8w5jLnR

## What the site must do
1. Home: list every token launched on my configs, with price, raise progress, status (on curve / graduated) and a link to its page. Use `client.state.getPoolsByConfig(config)` for each config above; token name/symbol come from the base mint's Metaplex metadata.
2. Launch page: a form with name, symbol, description, image, optional website/twitter, optional initial buy. Upload the image and a Metaplex-style JSON ({ name, symbol, description, image }) to IPFS (Pinata or similar, server-side key), then call `client.creator.createPoolWithFirstBuy({ createPoolParam: { name, symbol, uri, payer, poolCreator, config, baseMint }, firstBuyParam })` with a fresh baseMint keypair that co-signs. Metaplex limits: name 32 bytes, symbol 10, uri 200.
3. Token page: buy and sell on the curve. Quote with `client.pool.swapQuote({ virtualPool, config, swapBaseForQuote, amountIn, slippageBps, hasReferral: false, eligibleForFirstSwapWithMinFee: false, currentPoint })` and build with `client.pool.swap({ owner, pool, amountIn, minimumAmountOut, swapBaseForQuote, referralTokenAccount: null })`. Show the bonding-curve progress (quoteReserve / migrationQuoteThreshold) and, after graduation, link to the DAMM v2 pool.
4. My dashboard (only when the connected wallet is 4YZ9Jkg2wCKWuaYWS747ZUzZsPsYE1jhBEFvM8w5jLnR): unclaimed partner fees per pool (`poolState.partnerQuoteFee`, `partnerBaseFee`) and one-click claims via `client.partner.claimPartnerTradingFee`, `claimPartnerPoolCreationFee`, `partnerWithdrawMigrationFee`.

## Stack and rules
- Next.js (App Router) + TypeScript, deployed on Vercel. Wallets via @solana/wallet-adapter-react with wallet-standard auto-detection (`wallets={[]}`).
- SDK: @meteora-ag/dynamic-bonding-curve-sdk (`DynamicBondingCurveClient.create(connection, "confirmed")`). Docs: https://docs.meteora.ag/developer-guides/dbc/typescript-sdk/getting-started . Meteora's own open-source scaffold for exactly this is https://github.com/MeteoraAg/meteora-invent (fun-launch); you may start from it.
- Keep the RPC key server-side: build every transaction in a route handler, simulate it there, return it base64, sign in the browser, confirm by polling getSignatureStatuses (no websockets on serverless).
- The SDK bundles its own @solana/web3.js: copy `tx.instructions` into a fresh `new Transaction()` before simulating or the simulation throws on numRequiredSignatures. Retry a simulation once on BlockhashNotFound.
- Never render on-chain names, websites or logo URLs as-is: only load https URLs to public hostnames, never localhost, private IPs or javascript: links.
- Meteora keeps 20% of trading fees and 10% of creation fees; a 0.2% slice of migrated liquidity; graduation into DAMM v2 is run by Meteora's keepers once the raise target is reached (at least 10 SOL raise for SOL pools on mainnet).
- Devnet first, with NEXT_PUBLIC_CLUSTER switching to mainnet; the program id is the same on both.

Add a quote asset

A new config on this pad, with its own curve. No registration fee, only rent: about 0.0066 SOL per quote asset. Only the fee-claimer wallet can add one. Browse quote assets.

Connect this pad's fee-claimer wallet to add a quote asset. Configs always belong to the wallet that signs them.