Every token on Pump.fun starts its life on a bonding curve — a mathematical function that determines the token's price based on supply. Understanding how these curves work is not just academic. Traders who grasp bonding curve math can calculate exact prices at any supply level, predict graduation points, estimate slippage before buying, and understand why early entries have such outsized returns.
This guide breaks down bonding curve mechanics as they work on Solana, with practical applications for traders.
What Is a Bonding Curve?
A bonding curve is a mathematical formula that defines the relationship between a token's price and its circulating supply. Unlike a traditional order book where buyers and sellers set prices, a bonding curve sets the price algorithmically. There is no counterparty — you buy from and sell to the curve itself.
The core principle: as more tokens are purchased, the price increases along the curve. As tokens are sold back, the price decreases.
This creates a deterministic pricing model. At any point, you can calculate exactly what the price will be after buying or selling a specific amount of tokens, with no uncertainty about fills or order book depth.
The Constant Product Formula
The most common bonding curve implementation on Solana uses the constant product formula, the same model pioneered by Uniswap:
x × y = k
Where:
- x = reserve of token A (SOL)
- y = reserve of token B (the launched token)
- k = a constant that remains fixed during swaps
When you buy tokens, you add SOL to the reserve (x increases) and remove tokens from the reserve (y decreases). The product k stays the same, which means the price (ratio of x to y) changes.
Price at Any Point
The instantaneous price of the token in SOL is:
Price = x / y = SOL reserve / Token reserve
As people buy tokens (adding SOL, removing tokens), the SOL reserve grows and the token reserve shrinks, pushing the price up. The curve is not linear — it is hyperbolic, meaning price increases accelerate as more supply is purchased.
Pump.fun's Bonding Curve Implementation
Pump.fun uses a modified constant product curve with virtual reserves. Here is how it works.
Virtual Reserves
When a token is created on Pump.fun, the bonding curve is initialized with virtual reserves:
- Virtual SOL reserve: ~30 SOL (this SOL does not actually exist in the pool)
- Virtual token reserve: ~1,073,000,000 tokens (the total supply allocated to the bonding curve)
- Real SOL reserve: 0 SOL (actual SOL deposited by buyers)
The virtual reserves set the initial price point. Without them, the first buy would get tokens at essentially zero cost. The virtual SOL reserve creates an artificial "floor" that gives the token a starting price.
Initial Price Calculation
At launch, the price is:
Initial price = Virtual SOL reserve / Virtual token reserve
= 30 / 1,073,000,000
≈ 0.000000028 SOL per token
At a SOL price of $150, this translates to roughly $0.0000042 per token, giving the token an initial market cap of approximately $4,200.
How Price Changes with Buys
When someone buys tokens worth 1 SOL:
Before: SOL reserve = 30, Token reserve = 1,073,000,000
After: SOL reserve = 31, Token reserve = 30 × 1,073,000,000 / 31 ≈ 1,038,387,097
Tokens received = 1,073,000,000 - 1,038,387,097 ≈ 34,612,903 tokens
Effective price = 1 SOL / 34,612,903 ≈ 0.0000000289 SOL per token
The buyer gets about 34.6 million tokens for 1 SOL. The price moved slightly higher (from 0.0000000280 to 0.0000000298 SOL after the buy).
Price Impact at Different Points
The same 1 SOL buy has very different price impacts depending on where you are on the curve:
| SOL in curve | Price per token (SOL) | 1 SOL buys | Price impact |
|---|
| 0 (launch) | 0.0000000280 | ~34.6M tokens | 3.3% |
| 10 SOL | 0.0000000373 | ~26.8M tokens | 2.5% |
| 30 SOL | 0.0000000560 | ~17.9M tokens | 1.7% |
| 60 SOL | 0.0000000840 | ~11.9M tokens | 1.1% |
| 80 SOL | 0.0000001026 | ~9.7M tokens | 0.9% |
Notice two things: as more SOL enters the curve, each additional SOL buys fewer tokens (the price is higher), and the price impact of each buy decreases (the reserves are larger relative to the buy size).
This is why early entries on bonding curves have such outsized returns. The first 1 SOL buy moves the price 3.3%, but it also gives you tokens at the lowest price. By the time 80 SOL is in the curve, the price has nearly 4x from launch.
Graduation: When the Curve Ends
Pump.fun tokens do not stay on the bonding curve forever. When enough SOL has been deposited, the token "graduates" to a full AMM pool.
Graduation Mechanics
The graduation threshold on Pump.fun is approximately 85 SOL deposited into the bonding curve. When this threshold is reached:
- The bonding curve is closed — no more buys or sells through the curve
- Pump.fun creates a liquidity pool on PumpSwap (or historically on Raydium)
- The remaining unsold tokens and the accumulated SOL are deposited as initial liquidity
- Trading continues on the AMM pool with standard constant product mechanics
Graduation happens when roughly 85 SOL has been raised on the curve — the threshold is SOL-denominated, so the equivalent USD market cap floats with SOL price. That is the point at which the bonding curve transitions to an open AMM (PumpSwap, pump.fun's own DEX).
Price Behavior Around Graduation
Graduation is often a volatile moment. Several things happen:
- Brief trading pause: There is a short window where the bonding curve is closed but the AMM pool is not yet live. During this gap, no trading is possible.
- Price discovery on AMM: The initial AMM price is set by the ratio of tokens to SOL deposited as liquidity. This should theoretically match the final bonding curve price, but market dynamics can cause deviations.
- Sniper activity: Bots monitor for graduation events and attempt to buy immediately when the AMM pool goes live, often pushing the price up rapidly after graduation.
Calculating the Graduation Price
At graduation (85 SOL deposited):
SOL reserve = 30 (virtual) + 85 (real) = 115
Token reserve = 30 × 1,073,000,000 / 115 ≈ 279,913,043 tokens remaining
Tokens sold during bonding curve = 1,073,000,000 - 279,913,043 ≈ 793,086,957 tokens
Graduation price ≈ 115 / 279,913,043 ≈ 0.000000411 SOL per token
This represents roughly a 14.7x increase from the initial price — meaning anyone who bought at launch and held through graduation is sitting on a ~14x return before the AMM even opens.