The launchpad, backwards.
Buyers first. Coin second. Dev last. This page describes every rule the Launchdap program enforces on Solana, every address involved, what the operators can and cannot do, and how to check all of it yourself.
01Overview
On a normal launch the coin exists first. Its contract address is public before anyone can buy, so the fastest wallets (the dev, snipers, bundlers) buy first and everyone after them buys higher.
Launchdap reverses the order. A round starts as a name, a ticker and a picture. There is no coin and no contract address. For a fixed window anyone can put SOL into the round's queue. When the window ends, the Launchdap program creates the coin on pump.fun and buys it with the whole queue in the same transaction. Every wallet in the queue gets tokens at the same price, in proportion to the SOL it put in.
The wallet that opened the round cannot join its own queue. If the queue does not reach its minimum, the coin is never created and the queued SOL goes back. After launch, the coin's creator on pump.fun is the round itself, so the coin's creator fees come back to the program and are shared with the queue.
dapauKGPuEfoSqybB2EeDr86JntUXeQmtEJGrX4YCgu. The website and the keeper bot only send instructions that anyone can send.02Quick start
To buy into a coin
- Connect a Solana wallet (Phantom, Solflare, Backpack or any Wallet Standard wallet).
- Open a round from Queues and join with 0.05 to 1 SOL.
- Change your mind? Leave before the last 5 minutes and your SOL comes straight back.
- When the clock ends the coin is born. Claim your tokens from the round window.
- Keep at least half of those tokens and claim your share of creator fees whenever you like.
To launch a coin
- Press Launch a coin: name, ticker, picture, optional description and links.
- Sign one transaction. The round opens at once and its 30 minute clock starts.
- Share the round. You cannot queue in it yourself.
- If it reaches 3 SOL it is born on pump.fun. You earn 20% of the coin's creator fees, forever.
- If it does not, nobody loses their queued SOL.
03Round lifecycle
Anyone except the creator joins or leaves.
Last 5 minutes: joining still works, leaving does not.
3 SOL or more: coin created and bought in one transaction.
Under 3 SOL, or not launched within 24 h: full refunds.
| State on chain | Meaning | What can happen |
|---|---|---|
open (0) | Window running, or ended and waiting for launch | pledge, unpledge (until the lock), launch (after the window), expire (24 h after the window) |
launched (1) | The coin exists; the round holds the bought tokens for the queue | claim_tokens, sync_fees, unwrap_fees, claim_fees, kick, claim_dev_fees, collect_treasury |
failed (2) | Missed its minimum, or expired | refund, for every pledge, in full |
The rules a round lives by (window, minimum, cap, pledge limits, fee split) are copied from the global config when the round is created. Changing the config later never changes a round people already queued into. One exception is described under Admin powers: the treasury address.
04Launching a coin
| Field | Rule |
|---|---|
| Name | 1 to 32 characters |
| Ticker | 1 to 10 characters |
| Picture | PNG, JPG, GIF or WEBP, up to 4 MB |
| Description, X, website | Optional. Stored in the coin's metadata and shown on pump.fun |
The site uploads the picture and the metadata to IPFS through pump.fun's own metadata service and stores the resulting https link (200 characters at most) in the round. That exact metadata is what pump.fun shows once the coin is born.
Cost: the creator pays the Solana network fee and the rent for the round's account on chain. There is no listing fee.
What the creator gets: 20% of every creator fee the coin ever earns, claimable at any time by the wallet that opened the round (claim_dev_fees).
What the creator cannot do: join the queue (CreatorCannotPledge), change the name, ticker or picture after opening, cancel the round, or touch the queue's SOL.
05Joining and leaving the queue
- Per wallet: your total in one round must be between 0.05 and 1 SOL. You can add more in several steps up to 1 SOL.
- Per round: the queue is capped at 20 SOL. A pledge that would pass the cap is rejected (
RoundFull). - Where your SOL sits: in the round's vault, a program address with no private key. Only the program can move it, and only by the rules on this page.
- Leaving: take some or all of it back at any time until 5 minutes before the window ends. What stays must be 0 or at least 0.05 SOL.
- Locked: in the last 5 minutes you can still join, but you cannot leave (
UnpledgeLocked). This stops a last second exit from sinking a round everyone else relied on. - Record rent: your first pledge in a round creates a small pledge record (about 0.0017 SOL of rent). The record stays on chain as proof of your pledge, refund and claims; the SOL you queued is returned or spent separately and in full.
06The launch transaction
Once the window has ended, anyone can call launch. Our keeper does it within seconds; if it is down, any wallet can. Launch does one of two things:
Under the minimum: the round is marked failed and every pledge becomes refundable. Nothing is created.
At or over the minimum, in a single transaction, in this order:
- 1% of the queue goes to the treasury (the $DAP buyback).
- The round's fee address is funded with 0.00089088 SOL so it exists before pump.fun pays into it.
- 0.03 SOL is kept back for the rents pump.fun charges when it creates a coin (mint, bonding curve, token accounts).
- pump.fun
create_v2creates the coin with the round's name, ticker and metadata. The creator is set to the round's fee address, not to any person. - A token account is created for the vault.
- pump.fun
buy_exact_quote_in_v2spends everything else in the queue in one buy. The buyer is the vault. - Whatever is left of the 0.03 SOL rent reserve goes to the treasury.
If any step fails, the whole transaction fails and nothing happens; the round stays open and can be launched again or expire into refunds.
| Queue | 4.35000000 SOL |
| Platform fee, 1% | 0.04350000 SOL |
| Rent reserve | 0.03000000 SOL |
| Fee address funding | 0.00089088 SOL |
| Spent on the coin, in one buy | 4.27560912 SOL |
About 0.021 SOL of the reserve is usually left after pump.fun's rents and goes to the treasury with the fee.
No contract address exists before this transaction, so there is nothing to snipe or bundle ahead of the queue. Coin addresses minted by our keeper usually end in dap.
07Claiming tokens
The bought tokens wait in the vault's token account. Each queue member's share is exact:
your tokens = tokens bought × your SOL ÷ total SOL in the queue
So everyone pays the same price per token. Claim from the round window at any time; there is no deadline for the tokens themselves. Anyone can send the claim for you (the sender pays the token account rent), and the tokens always go to the wallet that queued.
Coins created on pump.fun use Token-2022 with 6 decimals.
08Missed rounds and refunds
- A round that ends under 3 SOL is marked failed when
launchis called. - A round that was not launched within 24 hours of its window ending can be expired by anyone (
expire), with the same result. No SOL can be stuck in a vault. refundsends each pledge's full amount back to the wallet that sent it. Anyone can call it; the keeper refunds every pledge automatically. It cannot be sent anywhere else.- Each pledge is refunded once and marked
refundedon chain.
09Creator fees
pump.fun pays a creator fee on every trade of a coin, at pump.fun's standard rate. For a Launchdap coin the creator is the round's fee address, a program address. So the fees come back to the program instead of to a person.
- On the bonding curve fees accrue on pump.fun and are collected into the fee address (anyone can collect them).
- After migration to PumpSwap fees arrive as wrapped SOL;
unwrap_feesturns them back into SOL on the fee address. sync_feesbooks every new lamport and splits it:
Shared by SOL queued, among members still holding.
The wallet that opened the round.
To the treasury, bought back and burned.
Your share of the 70% is proportional to the SOL you queued, and it accumulates whether or not you claim. claim_fees pays out everything accrued to you so far. You must have claimed your tokens first and you must still hold at least half of them.
The fee address always keeps 0.00089088 SOL so it stays alive on chain; payouts never go below that.
10The holding rule
Fees are for holders. The program compares your wallet's balance of the coin with the tokens you were allocated:
in the share ⇔ balance × 2 ≥ allocation
- If your balance falls under half, anyone can call
kickto remove you from the fee share. - If you never claimed your tokens, anyone can remove you once 7 days have passed since launch.
- Fees you had accrued but not claimed are shared among everyone still in. Your SOL share stops counting.
- Removal is permanent for that round. Buying back later does not restore it.
- The balance checked is your associated token account for the coin. Moving tokens to another wallet counts the same as selling them.
11$DAP
$DAP is Launchdap's own coin. It is launched on pump.fun; its contract address is published on the site and on X at launch, never before.
The treasury receives:
- 1% of every born round's queue,
- 10% of every Launchdap coin's creator fees,
- the unused part of each launch's 0.03 SOL rent reserve, rounding dust from fee splits, and fees forfeited when no holder is left in a round.
The keeper uses the treasury's SOL to buy $DAP on the market and burns what it buys. Treasury wallet: 7u8bmSGMwJ8255yjXrNr7mq411HagDS8PQB4doSsYGXs. Its buys and burns are public on any explorer.
12Parameters
| Parameter | Value | Where |
|---|---|---|
| Window | 30 minutes | config, copied per round |
| Leave lock | last 5 minutes | config, copied per round |
| Minimum to be born | 3 SOL | config, copied per round |
| Queue cap | 20 SOL | config, copied per round |
| Per wallet | 0.05 to 1 SOL | config, copied per round |
| Platform fee | 1% of a born queue (hard cap in code: 5%) | config, copied per round |
| Creator fee split | 70% queue · 20% creator · 10% $DAP | config, copied per round |
| Expire after | 24 hours after the window | constant |
| Claim grace | 7 days after launch | constant |
| Rent reserve | 0.03 SOL | constant |
| Fee address floor | 0.00089088 SOL | constant |
The live config is the account at 2M9TdXHCnCCsB2eLSEYPqVuD9XYnt8cp5jr2EBnmziip. Every round account shows the rules it was created with.
13Program reference
| Launchdap program | dapauKGPuEfoSqybB2EeDr86JntUXeQmtEJGrX4YCgu |
| Program data | 5rWHdgUdBngstZm271bxNss8FpjntDJWHkPz8Y8g94oL |
| Upgrade authority and admin | 5dXLvYhMFYpvHLyeCCh5YpUMpNz6xbhSQTr1E44GDXLx |
| pump.fun | 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P |
| PumpSwap | pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA |
| Token-2022 | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb |
Accounts
| Account | Seeds | Holds |
|---|---|---|
| Config | ["config"] | admin, treasury, the rules for new rounds, round count, pause switch |
| Round | ["round", id as u64 little-endian] | name, ticker, metadata, its own copy of the rules, totals, state, mint, fee accounting |
| Vault | ["vault", round] | the queue's SOL; after launch it owns the bought tokens |
| Fee address | ["fees", round] | the coin's creator on pump.fun; receives creator fees |
| Pledge | ["pledge", round, wallet] | one wallet's SOL, refund flag, allocation, fee debt, removal flag |
Instructions
| Instruction | Who can call | Does |
|---|---|---|
create_round | anyone | opens a round and starts its clock |
pledge | anyone but the creator | adds SOL to your place in the queue |
unpledge | the pledger | takes SOL back before the lock |
launch | anyone, after the window | fails the round or creates and buys the coin |
expire | anyone, 24 h after the window | fails a round that was never launched |
refund | anyone | returns a pledge in full to its wallet |
claim_tokens | anyone (pays the account rent) | sends a member their tokens |
unwrap_fees | anyone | turns PumpSwap's wrapped SOL fees into SOL |
sync_fees | anyone | books and splits new fees |
claim_fees | the pledger | pays the member's accrued fee share |
kick | anyone, when the rule is broken | removes a member from the fee share |
claim_dev_fees | the round's creator | pays the creator's 20% |
collect_treasury | anyone | moves the treasury's share to the treasury |
init_config, update_config, set_admin | the admin | see Admin powers |
Errors
| Code | Name | Meaning |
|---|---|---|
| 6000 | Paused | new rounds and pledges are paused |
| 6001 | BadName | name must be 1-32 characters |
| 6002 | BadSymbol | ticker must be 1-10 characters |
| 6003 | BadUri | metadata uri must be https and at most 200 characters |
| 6004 | NotOpen | the queue is not open |
| 6005 | CreatorCannotPledge | the round creator cannot join the queue |
| 6006 | PledgeSize | pledge outside the allowed size |
| 6007 | RoundFull | the round is full |
| 6008 | UnpledgeLocked | pledges are locked in the last minutes |
| 6009 | NotClosable | the round cannot be closed yet |
| 6010 | BadAccounts | wrong accounts |
| 6011 | NothingBought | the buy returned no tokens |
| 6012 | NotExpirable | the round cannot be expired yet |
| 6013 | NotFailed | the round did not fail |
| 6014 | NothingToRefund | nothing to refund |
| 6015 | NotLaunched | the round has not launched |
| 6016 | AlreadyClaimed | already claimed |
| 6017 | Kicked | removed from fee sharing |
| 6018 | ClaimTokensFirst | claim your tokens first |
| 6019 | NotHolding | hold at least half of your tokens to claim fees |
| 6020 | StillHolding | this wallet still holds enough |
| 6021 | NothingToClaim | nothing to claim |
| 6022 | BadConfig | bad config |
| 6023 | Math | math overflow |
The full interface is in the IDL (Anchor 0.31).
14Verify on chain
You need no trust in us for any of this. Use any Solana explorer (Solscan, Solana Explorer, SolanaFM).
- The program. Open
dapauKG…YCgu. It is an executable account owned by the BPF Upgradeable Loader. Its history lists every round, pledge, launch, refund and payout it ever processed. Its upgrade authority is shown on the same page. - The vault. For an open round, derive or read the vault address in the round window. Its balance equals the queue total on the site, to the lamport. It has no private key.
- The launch transaction. Open a born round's launch transaction. Inside one Launchdap
launchinstruction you will see pump.funcreate_v2and pump.funbuy_exact_quote_in_v2. The buy'suseraccount is the vault. - The creator. Open the coin on pump.fun. Its creator is the round's fee address, the same address the round window shows.
- One price. Every
claim_tokensfor a round pays tokens in exact proportion to SOL queued. Divide tokens by SOL for any two claims and you get the same number. - Refunds. For a failed round, every pledge account shows
refunded = trueand each refund transaction sends the full amount to the wallet that queued it.
15Admin powers and trust
We would rather you know exactly what the operators control.
The admin key can
- Pause. Stops new rounds and new pledges. It never stops leaving a queue, launch, expire, refunds or any claim.
- Change the config for future rounds: window, minimum, cap, pledge limits, platform fee (never above 5%) and the fee split. Rounds already open keep the rules they were created with.
- Change the treasury address. This one is read at launch and fee collection time, so it applies to open rounds too. It only decides where the platform fee and the $DAP share go; it cannot touch the queue's SOL, tokens or the 70% and 20% shares.
- Hand the admin role to another key (
set_admin).
The admin key cannot
- move SOL out of any vault except through refund, unpledge or launch as described above,
- take tokens from a vault, redirect a refund, or change a round after it opened,
- join a queue as its creator, or launch a coin before the window ends.
Upgrades
The program is upgradeable. The upgrade authority is 5dXL…GDXLx, the same key as the admin. An upgrade could change any rule on this page. Every upgrade is public: the explorer shows the program's last deployed slot and its history.
The keeper
Our keeper bot launches rounds when their clock ends, expires stuck rounds, sends refunds, collects and syncs fees, removes members who broke the holding rule and runs the $DAP buyback. It has no special rights: every instruction it sends, anyone can send. If it stops, rounds can still be launched and refunded by anyone.
16Risks
- Memecoins are volatile. A born coin trades on pump.fun like any other; its price after launch can fall to near zero. One price at launch protects you from being front-run, not from the market.
- Unaudited code. The program has been tested end to end against a copy of mainnet pump.fun and PumpSwap, but it has not had an external audit.
- pump.fun dependency. If pump.fun changes its program, launches may fail until Launchdap is updated. A round that cannot launch expires after 24 hours and refunds in full.
- Upgrade risk. See Upgrades.
- Wallet safety. Launchdap never asks for a seed phrase or private key. Check that every transaction you sign calls the program above.
Nothing here is financial advice. Launchdap is software; you use it at your own risk.
17FAQ
Why can't the dev just queue from a second wallet?
They can, with 1 SOL at most per wallet, at the same price as everyone else and without any head start. What Launchdap removes is the dev's cheapest-in advantage: there is no coin to buy before the queue, and the first buy is the whole queue at one price.
What if two people open rounds with the same name?
Each round is its own coin with its own contract address after launch. Names and tickers are not unique on pump.fun either. Check the round number and, after launch, the coin address.
Can the round be launched early?
No. launch fails with NotClosable until the window has ended.
What happens to the SOL if nobody calls launch?
24 hours after the window ends anyone can call expire, and every pledge becomes refundable in full.
Do I have to claim fees often?
No. Your share accumulates on chain. Claim whenever you like, as long as you still hold half of your tokens.
I sold some tokens. Can I still claim?
Yes, while your balance is at least half of what you were allocated. Under half, you can be removed from the share by anyone.
Which wallets work?
Any wallet that supports the Wallet Standard on Solana: Phantom, Solflare, Backpack and others.
Where is the $DAP contract address?
On the $DAP section of the site and on our X account, at launch. Anything published before that is not ours.
18Glossary
- Round
- A coin that does not exist yet: a name, a ticker, a picture and a clock.
- Queue
- The SOL wallets put into a round, and the list of those wallets.
- Pledge
- One wallet's place in a queue.
- Born
- A round whose coin was created and bought.
- Missed
- A round that failed its minimum or expired; it refunds in full.
- Vault
- The program address that holds a round's SOL, then its tokens.
- Fee address
- The program address set as the coin's creator on pump.fun.
- Allocation
- The tokens a member was given at claim; the holding rule measures against it.
- Keeper
- Our bot that sends the routine instructions anyone could send.
- Lamport
- The smallest unit of SOL: 0.000000001 SOL.