Pumpfun bonding curve makes order size part of the token price before graduation
Pumpfun bonding curve sets early token prices from virtual reserves, so a larger buy raises its own average purchase price. On Solana, a purchase adds quote value and removes tokens from those pricing reserves. The starting price therefore describes only the current curve position. The final fill reflects order size, fees, and any intervening trades. Near graduation, the instruction version and coin mode determine whether an oversized buy stops at the curve or continues into migration pricing.
A fixed budget or a fixed token amount
An exact-input buy sets the spending budget, while an exact-output buy requests a token amount and caps its quote cost. The base token is the coin you purchase; the quote asset is what prices it. Supported quote choices include SOL, USDC, and eligible Pumpfun coins. The selected curve records which quote asset applies.
A fixed budget suits a spending constraint. A fixed token amount suits a quantity constraint, provided the cost stays within the specified maximum. Both approaches need the current reserve state. Curve instructions V2 and V3 support these order types. For a direct curve trade, existing cashback coins need V2 or compatible legacy instructions; V3 rejects them.
Virtual reserves and the price across an order
Virtual reserves set the curve's pricing shape, while real reserves track the curve's trading inventory. Virtual figures need not equal the assets the curve actually holds. Real token reserves identify the inventory still available at curve pricing, including the remaining portion before a graduation-crossing buy.
The curve uses a constant-product pricing relationship between its virtual token and virtual quote reserves.
In the continuous model,
x × y = k, with
x
representing token reserves and
y
representing quote reserves. The ratio
y / x
gives the marginal price in matching units before fees.
For a purchase entirely within the remaining curve inventory, let
q
be the tokens bought in the same units as
x. Ignoring fees and rounding, algebra gives a quote cost of
y × q / (x - q). Dividing by
q
gives its average price. The smaller denominator explains why larger buys cost more per token.
Buying increases the quote side and decreases the token side, making the next portion progressively more expensive. Increasing the budget therefore produces a smaller proportional increase in token output. The average purchase price can sit above the initial marginal price even when no other trade intervenes.
Integer rounding and trading fees separate the idealized calculation from an executable quote. Raw token units also require each mint's decimal scale before comparisons make sense. Quote assets represent different units of value, so a reserve ratio quoted in one asset cannot automatically serve as a dollar price.
Does a smaller curve buy avoid slippage?
A smaller buy still faces slippage when other trades change the reserves between its quote and execution. Price impact describes the order's own movement along the curve; slippage compares the estimate with the eventual fill. An order-size quote includes the modeled impact of that purchase. Increasing slippage tolerance permits a worse fill without removing the order's own impact. A tighter minimum output or maximum cost can reject an unfavorable fill. Transaction ordering can change the starting reserves even though the curve's pricing formula remains deterministic.
Conditions for an acceptable curve buy
An exact-input buy needs a current curve quote before its minimum token output can express a meaningful limit. Define the least output you accept before approving the purchase.
- Check the curve is still open and the intended coin matches its mint.
- Match the payment asset to the quote mint, and ensure the selected instruction's required token accounts exist.
- Calculate output from current virtual reserves and the applicable trading fees.
- Set a minimum token output the selected exact-input instruction actually enforces.
- Near completion, inspect the coin mode and partial-fill setting before relying on that minimum.
For an ordinary buy within the remaining supply, the spending amount feeds the reserve calculation, and the minimum constrains acceptance. A confirmed successful trade records the actual token output. An intervening purchase can leave the same budget buying fewer tokens and cause a minimum-output failure. Near completion, an oversized Mayhem V3 exact-input buy with partial fill enabled skips that minimum and purchases the remaining inventory. A successful fill under that setting can therefore deliver fewer tokens than the buyer's stated minimum.
What happens when a buy reaches the end of the curve?
A buy completes the curve when it reduces the real token reserves to zero. Eligible non-Mayhem V3 buys can then price extra tokens against the reserves destined for the PumpSwap pool. This synthetic migration continues the boundary-crossing purchase before the pool exists. The later migration creates the pool with the reserves the buy leaves behind.
Synthetic migration also applies to eligible buying hops in
multi_hop_swap. For direct V3 buys, the maximum quote cost or minimum token output covers the combined purchase. The curve fee schedule applies to both parts. An exact-output request still cannot buy every token destined for the pool. For a direct V3 exact-input buy, a remainder too small to buy one raw token unit stays with the buyer.
Legacy and V2 buys remain subject to the remaining curve inventory, with partial fill only where supported. Mayhem coins also exclude synthetic migration, with oversized V3 buys failing unless their partial-fill option allows the remaining inventory. Only the boundary-crossing buy receives synthetic migration. Later curve buys and sells fail until migration, so a completed curve alone does not establish an active pool.
Selling changes the exit value
A curve sale returns tokens to the reserves and removes quote value, lowering the price available to subsequent trades. Larger sells from the same reserve state also receive a lower average price per token. The seller's minimum quote output applies after protocol and creator fees. A chart's marginal price multiplied by a holding does not describe the proceeds of selling that whole holding. Concentrated owners can move the curve sharply when they sell, making an early entry price a poor measure of exit value.
Curve entry versus waiting for PumpSwap
Buying before graduation gives exposure while the virtual-reserve curve still governs the trade. Waiting for PumpSwap means pricing the actual pool state after migration, including any changes the final curve buy caused. Pool trading still has price impact, and sellers can still reduce the token's price. Trading fees also remain separate from curve impact. Solana network fees and any necessary account creation can add costs beyond the buy's quote-asset limit.
A direct V3 graduation-crossing fill uses curve fees; a later PumpSwap swap uses the pool's fee schedule.
Details worth knowing about Pumpfun bonding curve
Can splitting a curve buy into several transactions reduce its total price impact?
For the same total token amount within the curve stage, splitting buys does not reduce their combined impact if no other trades intervene. Ignoring fees and rounding, successive purchases follow the same reserve relationship toward the same final state. Separate transactions can add network costs.
Which price should I use to calculate a curve token's market capitalization?
Use the marginal curve price in the selected quote asset and multiply it by the actual token supply. Keep token and quote decimal units consistent. This estimate values all supply at one point on the curve; it does not represent quote assets available for every holder to withdraw.
Are a curve's starting reserves fixed for every new token?
Starting reserves depend on program configuration and the quote asset. If the quote asset is an eligible Pumpfun coin, its current curve or pool price can determine starting virtual quote reserves. A token already trading also has its own evolving curve balances. Reusing remembered launch values for a traded token can produce a quote unrelated to its present state.
What identifies the correct bonding-curve account for a token?
The token's mint address identifies the curve account through the program's deterministic account derivation. Names and symbols do not uniquely identify a token. Matching the mint with the curve account keeps quotes tied to the intended asset, even when another launch uses the same display name.
Is a V3 buy cheaper because it uses fewer accounts?
For the same curve-stage purchase, V3 uses fewer accounts with the same pricing and fee rules as V2. The retained protocol portion and creator fee wait on the curve for later sweeps; the buyback portion pays out during the trade. Separate transaction expenses can differ, so fewer accounts do not establish a lower total wallet cost.
Where can I find the full token amount from a graduation-crossing buy?
For a synthetic-migration buy, TradeEvent reports the curve portion, and PostCompleteBuyEvent reports the additional portion. Add both token amounts when reconstructing the total purchase. The completion event establishes the curve transition; it does not by itself report every token the buyer received.