SOLSTACKAcademy

Advanced· Lesson 7 of 8· 3 min

Bonding curves and launchpads

A bonding curve is a market maker with no liquidity providers: a formula that sets the price from how much has been sold. Launchpads are the programs that run one and hand over to a real pool when it fills.

A new token has no market. A bonding curve makes one out of a program and a formula: the program holds the token supply and the SOL paid in, and the formula gives a price for the next unit that rises as more is sold. Every buy moves the price up along the curve; every sell moves it back down. Nobody has to seed liquidity, and nobody can pull it, because the program holds both sides.

The maths, pump.fun style

pump.fun and its imitators use a constant-product curve with virtual reserves: the program pretends it starts with some SOL and some tokens, and keeps their product constant. A buy of s SOL returns tokens by the same formula an AMM uses, and the price is the ratio of the reserves. The virtual SOL is what stops the first buyer getting the supply for nothing.

Code
k          = virtual_sol × virtual_tokens          // constant
tokens_out = virtual_tokens − k / (virtual_sol + sol_in)
price      = virtual_sol / virtual_tokens          // SOL per token, before the buy

// pump.fun's classic parameters: 1,000,000,000 tokens minted,
// ~793M sold on the curve, ~207M reserved for the pool at graduation,
// virtual start of 30 SOL against 1,073M tokens; graduation near 85 SOL collected
Solscan's summary of a pump.fun buy: 1.5 SOL swapped for 12.3 million tokens, with transfers to the bonding curve, a fee account, a buyback vault and the creator
  1. 1.5 SOL in, 12.3 million tokens out, on the curve — no pool involved.
  2. The tokens come from the curve's own vault, a token account the program controls.
  3. 1.48 SOL goes into the curve. This is the liquidity that will migrate at graduation.
  4. A slice to the token's creator: launchpads share fees with deployers.
  5. A slice to a buyback vault run by the platform.
  6. And the platform's own fee. Together about 1.25% of the SOL spent.
A buy on pump.fun, decoded by Solscan, captured 19 Sep 2026 · solscan.io
Solscan's instruction list for the same buy: advance nonce, a Lighthouse assertion, compute budget, create account with seed, initialize a Token-2022 account, then the pump.fun buy
  1. Almost all the compute goes to the buy itself.
  2. A durable nonce instead of a blockhash: the sender is a bot that pre-signs and does not want expiry.
  3. A guard instruction: fail the transaction if the clock or state is not what the bot expected.
  4. Create and initialise the buyer's token account for the new mint — a Token-2022 mint in this launch.
  5. The buy, named by pump.fun's IDL: spend exactly this much SOL, accept whatever the curve returns.
The instructions behind the buy, captured 19 Sep 2026 · solscan.io

Graduation

When the curve has sold its allotted supply and collected its target SOL, the launchpad migrates: it creates a pool on a DEX with the collected SOL and the reserved tokens, and burns or locks the LP tokens so the liquidity cannot be withdrawn. From then on the price is set by the pool. The migration is a transaction anyone can read, and whether the LP was actually burned is a claim you can verify with LP Lock Verifier.

What the curve does not protect you from

  • The deployer buying most of the curve in the same block with a bundle of wallets, then selling into everyone else. Holder concentration on a fresh token tells you this.
  • A creator who has done it fifty times before. Token Inspector counts a deployer's previous mints, including pump.fun ones.
  • Bots that front-run every buy with a higher tip — the durable nonce and guard instructions above are their tooling.
  • A token whose name copies a graduating one. Verify the mint, not the ticker.

Other designs

pump.fun, letsbonkConstant-product curve with virtual reserves, fixed graduation target, automatic pool. Fees shared with creators.
Meteora DBCA configurable curve: the creator sets the shape, the migration threshold and the fee schedule in a config account.
Presale / fair launchNo curve. A fixed price (or a pro-rata split of a fixed allocation) during a window, then a pool at listing. What Solstack's Launchpad runs: escrowed tokens, soft and hard caps, optional allowlist, vesting, and LP burned or locked at listing.

Solstack's launchers for pump.fun, letsbonk and Meteora DBC create the token and the curve in one signed transaction, and the Creator Fees page claims the deployer's share across them.

What to remember

  • A bonding curve is a program that holds both sides of the market and prices the next unit by a formula. No LPs, no rug on liquidity.
  • pump.fun-style curves are constant-product with virtual reserves; a buy is the same maths as an AMM swap.
  • Fees are taken on every trade and split between platform, buyback and creator. Read the transfers to see the split.
  • Graduation migrates the SOL and reserved tokens to a pool and burns or locks the LP. Verify it.
  • The curve says nothing about who holds the supply or who the deployer is. Check both.

Try it