pump.fun Bonding Curve Explained: How the Price Moves

How the pump.fun bonding curve prices every buy: virtual reserves, the constant product formula, why 1 SOL buys about 3.4% of a fresh coin, and when the curve completes.

By DevBundler Team · · 5 min read

The short answer

The pump.fun bonding curve is a built-in market that sells a coin's tokens at a price set by a formula, not by an order book. It starts every mainnet coin with virtual reserves of 30 SOL and 1.073 billion tokens, about 28 SOL of market cap, and each buy raises the price for the next. It sells 79.31% of supply before it completes and the coin moves to PumpSwap.

Key takeaways

  • Every mainnet pump.fun coin starts at the same price, about 28 SOL of market cap, set by virtual reserves of 30 SOL and 1.073 billion tokens.
  • The curve uses a constant product formula: SOL reserve times token reserve stays fixed, so every buy raises the price.
  • On a fresh curve, a 1 SOL first buy gets roughly 3.4% of the 1 billion supply.
  • The curve sells 79.31% of supply. When that runs out, the curve completes and the coin migrates to PumpSwap.
  • Devnet's curve is configured very differently, so devnet percentages say nothing about mainnet.

Every pump.fun coin on mainnet starts at the same price. It does not matter how good the name is, how big the dev's audience is, or what time of day it launches. The first buyer of every coin faces the same curve, and the price only moves when someone buys or sells on it.

That curve is the bonding curve, and once you understand its formula, a lot of pump.fun stops being mysterious: why the first SOL buys so much, why later wallets get less, and what "bonding curve progress" really measures.

What is a bonding curve?

A bonding curve is a market without an order book. Instead of matching buyers to sellers, a program holds the tokens and a SOL reserve, and a formula decides the price of every trade. You buy from the curve and sell back to the curve. There is no one on the other side.

pump.fun's curve uses the same idea as most automated market makers, a constant product:

SOL reserve x token reserve = a constant

When you buy, SOL goes into the reserve and tokens come out. To keep the product constant, the more SOL is in the reserve, the fewer tokens each new SOL can take out. That is all a rising price is.

Where the starting price comes from

A brand new coin has no SOL in its curve. If the formula used the real reserves, the first buyer could take everything for almost nothing. So pump.fun starts each curve with virtual reserves: numbers the formula uses as if they were real.

30 SOL

virtual SOL reserve at the start

1.073B

virtual token reserve at the start

~28 SOL

starting market cap on mainnet

79.31%

of supply the curve sells before it completes

The starting price is simply 30 SOL divided by 1.073 billion tokens. Multiply that by the 1 billion total supply and you get a starting market cap of about 28 SOL. Every coin, every time.

Note the token numbers. Every pump.fun coin has 1,000,000,000 tokens with 6 decimals, but the curve only ever sells 79.31% of them. The rest is held back for when the coin leaves the curve.

What does 1 SOL buy?

With those reserves, a 1 SOL first buy takes roughly 3.4% of supply (3.2 to 3.5% depending on fees). The second 1 SOL buy gets a little less, the third less again.

Here is how it plays out for a typical small launch, a 1 SOL dev buy followed by three 0.5 SOL buys. The per-wallet figures are our estimates from the curve formula; the total and the curve progress come from a real DevBundler quote.

BuySOLApprox. share of supply
Dev1.0~3.4%
Buyer 10.5~1.6%
Buyer 20.5~1.6%
Buyer 30.5~1.5%
Total2.58.18%, curve about 10% sold

Buyer 3 spends exactly what buyer 1 spends and gets less. The gap looks small here, but it grows as the curve fills. Why later bundle wallets get fewer tokens shows how it adds up across ten wallets.

How does selling move the curve?

Selling is the same formula in reverse. Tokens go back into the reserve, SOL comes out, and the price drops for everyone. This is why heavy selling early in a coin's life hits the price hard: the reserves are still small, so each sell moves them a lot in relative terms.

It also explains why selling from several wallets at once needs care. If five wallets sell and each was quoted against the same starting price, the later ones receive less SOL than quoted and can fail pump.fun's slippage check with error 6003 TooLittleSolReceived. DevBundler quotes every wallet in a batch in order, so each wallet's minimum is based on the price the wallets before it leave behind.

What is bonding curve progress?

The progress bar on pump.fun measures how much of the 79.31% the curve has sold. At 0% nobody has bought. At 100% the curve is complete.

The life of a bonding curve
  1. Create

    the curve starts with virtual reserves, about 28 SOL market cap

  2. Trading

    every buy raises the price, every sell lowers it

  3. Near the end

    the last tokens are the most expensive

  4. Complete

    79.31% sold, the curve stops, the coin migrates to PumpSwap

Because the price rises as the curve fills, progress is not linear in SOL. The first 10% of progress is cheap and the last 10% costs far more. If you run the constant product formula all the way to the end with the current mainnet reserves, the curve has taken in roughly 85 SOL net of fees and the price is around 15 times where it started. Treat that as an illustration of the shape rather than a fixed rule; pump.fun can change its parameters, so watch the progress bar and the live numbers, not a figure you read once. Reading the bonding curve progress bar goes into what to look at.

What happens when the curve completes?

Once the last token the curve can sell is bought, the curve is marked complete. Any further buy against it fails with pump.fun error 6005 BondingCurveComplete. The coin then migrates to PumpSwap, pump.fun's own AMM, and trading continues there in a regular liquidity pool. What happens when the bonding curve completes covers that handover.

For launch planning, there is one practical rule: your launch buys must not sell out the entire curve. DevBundler blocks any launch whose buys would complete it, because the bundle would fail.

Using the curve when you plan a launch

The bonding curve is predictable at launch, which is the one moment you have full control. Nobody else has bought yet, so the price your dev wallet pays and the share each bundled wallet gets can be calculated before you send anything. DevBundler's launch table does this live: each wallet's buy, its estimated share of supply and the SOL it needs, in the order the bundle will execute. Set your targets and check the combined share before you send.

Frequently asked questions

›How does the pump.fun bonding curve work?

It holds a SOL reserve and a token reserve and keeps their product constant. When you buy, SOL goes in and tokens come out, which raises the price for the next buyer. Selling does the reverse.

›What is the starting market cap on pump.fun?

On mainnet a new coin starts at about 28 SOL of market cap, because the curve begins with virtual reserves of 30 SOL and 1.073 billion tokens.

›How much of the supply does the bonding curve sell?

On mainnet the curve sells 79.31% of the 1 billion tokens. When those are sold, the curve completes and the coin migrates to PumpSwap.

›Why do I get fewer tokens than the person who bought before me?

Each buy moves the curve up, so the next buyer pays a higher price per token. Equal SOL buys get fewer tokens each time.

›Is the pump.fun bonding curve the same on devnet?

No. Devnet's curve is configured very differently. In testing, a 1 SOL dev buy on devnet took 82% of supply and completed the curve.

Keep reading