Unnamed Meteora pad
- Quote assets
- 0
- Quoted in
- none yet
- Tokens launched
- n/a
- Program
- Meteora DBC
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.
This pad has no launch config yet, so nothing can launch on it. Its owner can add a quote asset below.
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.
Configs
0 quote assets. 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.
No configs yet, so nothing can launch on this pad. Its owner can add a quote asset below.
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.
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: CUNTpJuD4QdfW4HWZSXpqTvwCja6Yq12tVUphuJvd8bB
- Launch configs (each is a reusable template; a token is launched by creating a pool on one of them):
- Pad page on padlaunch for reference: https://padlaunch.app/pad/CUNTpJuD4QdfW4HWZSXpqTvwCja6Yq12tVUphuJvd8bB
## 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 CUNTpJuD4QdfW4HWZSXpqTvwCja6Yq12tVUphuJvd8bB): 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.