How launchpad bonding curves differ from each other

A bonding curve is a pricing function held by a program, and the function a launchpad chose decides more about a launch than anything on its front page. This note sets out the shapes in use on Solana, explains what virtual reserves are doing, works an illustrative price path across three designs, and finishes with a procedure for reading a curve out of the program that implements it.

Question
How do bonding curve designs differ between launchpads
Short answer
In shape and in constants, and the constants matter more than teams expect
Shapes in use
Constant product, linear, stepped, and quote-denominated targets
Values
Curve constants are operator-set parameters and change
Out of scope
Any claim about which curve produces better outcomes

Launchpad curves differ in two ways: the shape of the function and the constants fed into it. Shape decides whether the price responds smoothly, linearly or in jumps. Constants decide where the price starts and how far it travels. The constants are the difference teams notice least and feel most, because they are what turns identical demand into two completely different charts.

A curve is a function, not a market

During the primary phase there is no counterparty. A buyer sends quote asset to a program, the program consults a rule, and the rule returns how many tokens come back. Nobody had to be willing to sell. Nobody set a bid. The number on the screen is the output of an equation whose only input is how much of the supply has already been distributed.

That single fact explains most of what confuses people about the primary phase. There is no spread in the order-book sense. There is no depth chart, because depth is entirely determined by the function rather than by anyone's resting orders. An order can never go unfilled for want of a counterparty; it can only be filled at a price the function produces, which for a large enough order can be dreadful.

The rule lives in a program account, and the account is the authoritative statement of what the rule currently is. Anything a website says about a curve is a description of that account, and descriptions go stale. The account structure and how programs own it are covered in the Solana documentation, and reading the account directly is the only way to be certain what a specific launch is trading against.

Virtual reserves and the opening price

Most Solana curve venues use a constant product relationship, the same family of maths as an ordinary automated market maker: the product of a token reserve and a quote reserve is held constant across a trade. Applied naively to a launch this produces an absurd result, because at the start the quote reserve is empty and the price is therefore effectively zero.

Venues solve that by adding a virtual quantity. The program treats the quote side as though it already held some amount, and often treats the token side the same way. Nobody deposited the virtual amount; it exists only in the pricing calculation. It sets the opening price, and its size controls how much real buying it takes to move the price by any given multiple.

This is the parameter that most often explains why two venues behave differently. Both may say they use a constant product curve. Both may be telling the truth. If one opens with a virtual quote reserve several times larger than the other, the first will produce a gentle climb and the second a vertical-looking chart from exactly the same flow of buyers.

The four shapes in use

Four families cover almost every Solana launch venue currently operating, and a new venue can normally be sorted into one of them within a few minutes of reading its buy instruction.

Curve families in use on Solana launch venues, and how each behaves through a primary phase.
FamilyPricing rulePrice pathCharacteristic effect
Constant productToken reserve times quote reserve held constant, at least one virtualConvex, accelerating as supply is distributedEarly buyers receive materially more per unit than late ones
LinearPrice increases by a fixed increment per unit soldStraight, entirely predictableNo dramatic final stretch; easier to model, less exciting to watch
SteppedFlat price across a tranche, jump at each boundaryStaircaseQueues and races at each boundary; identical fills within a tranche
Quote-targetCurve parameterised to reach a stated quote total at completionWhatever shape the parameters implyPredictable raise, less predictable distribution

Constant product dominates because it is familiar to anyone who has used an automated market maker and because the arithmetic is well understood; the design is documented in the general case by AMM operators such as Raydium. Linear and stepped designs appear where a venue wants predictability, typically because the launch is attached to something other than pure speculation.

The same demand on three designs

Illustrative arithmetic

Invented figures describing no real launch. Assume a supply of 1,000,000 tokens available on the curve and buyers who together contribute 100 units of quote asset, arriving in ten equal purchases of 10 units.

On a constant product design with a virtual quote reserve of 30 units, the first purchase adds 10 to a notional 30, so it buys roughly a quarter of the token reserve at an average price well below the closing quote. By the tenth purchase the quote reserve is notionally 130 and each additional 10 units buys a much smaller share. The last buyer pays several times what the first paid, and the price multiple across the phase is large.

On a linear design calibrated to reach the same total, each purchase buys a steadily smaller quantity than the one before it, but the decline is arithmetic rather than geometric. The tenth buyer pays roughly twice what the first paid, not several times. The chart is a ramp.

On a stepped design with five tranches, purchases one and two fill the first tranche at an identical price, three and four fill the second, and so on. Everyone inside a tranche gets the same fill regardless of ordering within it, and the entire competitive pressure shifts to the boundaries.

Identical demand, identical total raised, three completely different holder sets and three charts that would be read as three different levels of enthusiasm by anybody who did not know the constants.

What the constants actually control

Four things, and it is worth naming each because venues rarely present them as choices.

  • Opening price. Set by the ratio of the virtual reserves, or by the base price on a linear design. It determines whether the first buyer is paying a fraction of a cent or something an audience finds notable.
  • Total travel. How far the price moves from the first trade to the graduation condition. This is the multiple everybody screenshots, and it is a design parameter rather than a measure of interest.
  • Distribution at each stage. How much of the supply has left the program by the time any given price is reached. A steeper curve leaves more supply undistributed at the same price.
  • Sensitivity to size. How much a single large purchase moves the quote. Small virtual reserves mean one determined buyer can move the price a long way, which has obvious implications for the shape of the first minutes.

All four are settings. All four can be changed by the venue for future launches. A curve you characterised carefully last quarter may not describe what the same venue is issuing today, which is why any comparison of curves should carry a date and a note that it needs rechecking.

What a curve does to a holder set

The holder set is the durable output of the primary phase. Everything else - the price, the chart, the ordering on a discovery surface - is transient. Who ends up holding, in what sizes, and at what cost basis persists long after the curve account has stopped accepting trades.

A steep curve concentrates. The earliest buyers receive a disproportionate share of the supply for their money, and the cost basis of the holder set spreads out enormously. That produces a market where a small number of accounts hold enough to matter and hold it at a price nobody else can match, which changes how the token trades in the pool afterwards.

A flatter curve distributes. More purchases are needed to move the same distance, so more separate accounts end up with positions and the spread of cost bases is narrower. This is neither better nor worse in the abstract, but it is very much better or worse relative to a specific goal, and the goal is what a team should be choosing from.

Slippage on a curve is a different animal

Slippage on an order book is the gap between the price you saw and the price you got, caused by other people trading before you or by insufficient resting size. Slippage on a curve is neither of those. It is the deterministic consequence of your own order moving along the function, plus the effect of any orders that landed in the same slot ahead of yours.

This has a practical consequence. On a curve, the slippage of a large order is knowable in advance, exactly, from the curve state and the order size. Nothing is hidden. A trader who is surprised by their fill on a curve was not surprised by the market; they were surprised by arithmetic they did not do.

Where genuine uncertainty enters is ordering within a slot. Solana processes transactions in slots, and whichever transactions land ahead of yours advance the curve before your order is evaluated. That is the only stochastic element, and it is the reason a curve fill can differ from a quote taken a moment earlier.

Selling back into a curve

Most curve venues allow selling back to the program during the primary phase, which reverses the function: the tokens return, the quote asset comes back out, and the quoted price falls for the next buyer. It is symmetrical in principle and asymmetrical in practice, because the fee is charged on both directions and because the seller moves the price against themselves exactly as a buyer does.

The symmetry is what makes the curve phase self-contained. There is no scenario in which a holder cannot exit for want of a buyer, because the program is always the counterparty. There is every scenario in which the exit price is far below what the screen suggested, because a large exit walks back down the same steep function that carried the price up.

Teams that produce activity during a curve phase should understand which side of this they are on. A round trip through a curve costs the fee twice and returns to approximately the same price it started from, which is precisely why anyone considering a Pump.fun volume bot should be modelling the fee cost per round trip rather than the notional turnover produced, because the fee is the part that actually leaves.

Reading a curve out of its program

  1. Find a completed buy transaction for a token on the venue and open it in a block explorer. The instruction data and the account list tell you which program is doing the pricing.
  2. Locate the curve account among the accounts the instruction touched. This is the account whose state changes with every trade.
  3. Read its fields. Token reserve, quote reserve, virtual components and any completion flag are normally all present. Field layouts follow the conventions described in the Solana program library documentation for account data.
  4. Compute the current quote from those reserves yourself, then compare it with what the venue's interface displays. Agreement means you have understood the function; disagreement means you have not, and finding out now is cheap.
  5. Sample two trades of different sizes and check that the fills match what your computation predicts. This is the step that catches an incorrect assumption about which reserve is virtual.
  6. Note the completion condition field and its unit, because the curve and the graduation condition together determine how the last stretch of the phase will feel.

Chart misreadings this causes

  • Reading a large price multiple as evidence of demand, when it is evidence of a small virtual reserve.
  • Comparing two tokens on different venues by price multiple without knowing either set of constants.
  • Assuming a flat stretch means interest has stopped, when it may be a tranche on a stepped design.
  • Treating the curve chart and the pool chart as one continuous series, when they are produced by different equations.
  • Inferring holder count from price action, which the curve makes impossible without reading the trades.
  • Expecting an exit at the displayed price after a large position was accumulated on a steep function.

What a curve cannot control

A curve cannot create demand. It determines the price at which the program will transact with whoever turns up, and it has no view about whether anyone will. Every dramatic launch chart is a record of people arriving; the curve only decided how dramatically their arrival was rendered.

A curve cannot protect a distribution. Constants can be chosen to favour broad distribution, and a single well-capitalised buyer can consume most of the supply anyway. Venues that want a specific distribution have to enforce it with something other than the pricing function, which most of them do not.

A curve cannot make the pool phase behave like the curve phase. The moment the primary phase ends, the pricing rule is replaced by a different one with different depth, different fee treatment and different response to size. That handover is not a continuation, and treating it as one is where a great deal of avoidable confusion begins.

Questions this desk is asked

What is a bonding curve in plain terms?

It is a rule that says what the next token costs based on how many have already been sold. A program holds that rule and acts as the counterparty to every trade, so there is no order book and no matching. Buying advances the rule and raises the quoted price for whoever comes next; selling reverses it. Price is a function of quantity distributed rather than of what any other person is willing to pay.

Why do launchpads use virtual reserves?

Because a constant product formula with only real reserves would quote a price of effectively zero for the first buyer, and any meaningful purchase would consume most of the supply. Adding a virtual quantity to one or both sides sets a sensible opening price and controls how steeply the price climbs. The virtual amount is a parameter chosen by the venue, not a quantity anybody deposited.

Do steeper curves mean a token is doing better?

No. Steepness is a property of the curve constants, not of demand. A token on a curve with a small virtual reserve shows a dramatic price multiple from modest buying, while the same buying on a curve with a large virtual reserve barely moves the quote. Comparing price multiples across venues without knowing their constants compares the venues, not the tokens.

Can the curve be changed after a token launches?

The constants that apply to an already-created curve account are normally fixed for that account, but the venue can and does change what new launches receive. That is why a curve you measured six months ago may not describe a token launched last week on the same venue, and why any comparison should be dated and checked rather than assumed to be stable.

Is the primary phase price the real price of the token?

It is the price at which the program will transact, which is real in the only sense that matters for execution. It is not an independent market price, because there is no independent market: no other participant is offering to buy or sell at that level, and the only reason it is that number is that the function says so. The distinction becomes obvious the moment the token moves to a pool.

Why does the first pool price sometimes differ from the last curve price?

Because the two are produced by different equations. The last curve price came from the pricing function and its constants. The first pool price is the ratio of whatever was deposited into the pool, and the deposit is decided by the migration routine, not by the curve quote. If the routine retains part of the reserve, or deposits a different token allocation than the curve implied, the two numbers need not agree.

Does the curve shape affect how many holders a token ends up with?

Directly. The shape and constants decide how many tokens each unit of quote asset buys across the whole primary phase, and therefore how many separate purchases it takes to distribute the supply. A flatter curve distributes more supply for the same money and tends to produce more holders with smaller positions; a steeper one concentrates the supply among earlier buyers.

Filed under Mechanics by The Launchpad Ledger Desk. Venue behaviour described here was read from public documentation or from accounts and transactions anyone can open in a block explorer. Fees, thresholds, curve constants and graduation destinations are operator-set parameters that have been changed before and will be changed again, so this page names the parameter rather than printing a value; check the current one against the venue on the day you need it. The standard is set out in what this desk does.