set_params · migrate · on Raydium

pump.fun,reverseengineered.

pump.fun sets one bonding curve for every coin with set_params. Here every coin brings its own: supply, curve share, graduation raise. Live on Raydium LaunchLab.

Follow @1curvefun
10M min supply24 SOL min raise15% min to poolCPMM graduation

Set the virtual reserves yourself.

pump.fun's initial_virtual_token_reserves and initial_virtual_sol_reserves are one global setting. Here they come out of the three numbers you pick, and Raydium's LaunchLab program checks them on chain.

Signs with Phantom. Every button is a real mainnet transaction.
Live from Solana mainnet
Limits read from chain Minimum supply, curve share and raise come from LaunchLab's SOL config account, read live on every visit.
Checked by the program Outside those limits, Raydium's LaunchLab program refuses the create. Nothing to trust here.

Two instructions,
one coin

pump.fun splits a coin's life in two: set_params fixes the curve, migrate graduates it. This pad rebuilds both on Raydium LaunchLab, per coin.

The curve
set_params

Total supply, tokens sold on the curve and the SOL that completes it. The virtual reserves follow from those three, with the constant-product math LaunchLab runs.

Open the curve lab

The graduation

migrate

When the curve has raised its target, Raydium moves the unsold supply and the SOL into a CPMM pool. The LP split is read from Raydium's platform account.

How graduation works
OPEN THE CURVE LAB

Three numbers.

One curve.

01

Pick the supply. From 10,000,000 tokens up. Decimals stay at 6.

Launch with it

02

Pick the curve share. Over 50% and up to 85% of supply sells on the curve. The rest seeds the pool.

Try it in the lab

03

Pick the raise. From 24 SOL. When the curve has raised it, the coin graduates.

Watch coins graduate

Same curve math,

your numbers

1CURVE

per coin

pump.fun

Global, live

LaunchLab

default

The creator, at launch

Admin, with set_params

Raydium's preset

10M and up

…

1,000,000,000

Over 50%, up to 85%

…

793,100,000

Follows from your picks

…

…

Follows from your picks

…

…

24 SOL and up

…

85 SOL

Raydium CPMM pool

PumpSwap pool, migrate

Raydium CPMM pool

1CURVE

per coin

pump.fun

Global, live

LaunchLab

default

The creator, at launch

Admin, with set_params

Raydium's preset

10M and up

…

1,000,000,000

Over 50%, up to 85%

…

793,100,000

Follows from your picks

…

…

Follows from your picks

…

…

24 SOL and up

…

85 SOL

Raydium CPMM pool

PumpSwap pool, migrate

Raydium CPMM pool

Shape it,

then ship it

Every number on this pad is read from Solana mainnet. Every button signs a real transaction in your wallet.

Drag the numbers. Watch it bend.

The curve lab draws your curve with the same constant-product formula LaunchLab's program uses, before your wallet ever opens.

Live preview
Same formula

Graduation pool

Whatever does not sell on the curve seeds the Raydium CPMM pool, next to the raised SOL. Pick 79.31% on the curve and 20.69% goes to the pool.

Create and buy, one transaction

The create and an optional dev buy ride in the same transaction, so nobody gets in between. Phantom signs it.

Create
Dev buy

Fees read from chain

Per curve trade: protocol, platform and creator fee, straight from LaunchLab's config and Raydium's platform account.

Any LaunchLab coin

Paste any mint on the board: its own curve, where it sits on it and its trades, read cold from the chain.

Constant product. Same integer math as the program.

Limits checked on chain. Outside them, the create fails.

One curve per coin, read back from its own pool.

Your coin

Launch it on your curve

Name, ticker, image and the three numbers. One transaction creates it, and it trades on its own curve the moment it lands.

10M

Min supply. From LaunchLab's SOL config.

24 SOL

Min raise. The curve has to raise at least this.

85%

Max on the curve. The pool keeps at least 15% of supply.

CPMM

Graduation. Raydium CPMM, the only target the program accepts here.

pump.fun picks one curve for everyone. Here every coin carries its own, inside limits the chain enforces.

Built on Raydium LaunchLab. Not affiliated with pump.fun.

Live

on LaunchLab

Coins trading on Raydium's open LaunchLab platform right now, each on the curve its creator picked.

Still got some

Questions?

  • What did you reverse engineer?

    Two parts of pump.fun: set_params, the admin call that fixes the bonding curve for every coin (virtual token reserves, virtual SOL reserves, real token reserves, total supply), and migrate / migrate_v2, which move a completed curve into a pool. We read them in lalalune/pumpfun-source, a community reconstruction of pump.fun's programs, and rebuilt the idea on Raydium LaunchLab. This is not pump.fun and runs none of its code.

  • Which numbers can I pick?

    Total supply (10,000,000 and up), the share that sells on the curve (over 50%, at most 85%) and the SOL raise that graduates it (24 SOL and up). LaunchLab's config pins the rest: 6 decimals, a constant-product curve, SOL as the quote, graduation to a Raydium CPMM pool.

  • Who checks the limits?

    Raydium's LaunchLab program. The preview on this pad refuses the same things before your wallet opens, but the program is what refuses a create outside its config. We tested every limit against mainnet before shipping.

  • What happens at graduation?

    When the curve has raised its target, Raydium's migration moves the unsold supply and the raised SOL into a CPMM pool. Raydium's platform account sets the LP split: 90% burned, 10% to the creator. Raydium runs the migration; this pad does not hold anything.

  • What does a launch cost?

    Network fees and rent for the new mint and pool accounts, paid by your wallet. Trades on the curve pay the protocol, platform and creator fee read from chain on every coin page. This pad adds no fee of its own.