Curve Volume Versus Pool Volume: Two Machines, One Label

A launchpad curve and a standard liquidity pool both report volume, and a screener prints both in the same column. They are different machines. One prices from curve progress against reserves seeded at deployment, the other from a ratio of real reserves that anyone can add to or remove. The same figure implies different things in each.

The Volume in Context Desk 2307 words 11 min read Updated 13 August 2026

Curve volume and pool volume

The figure
Both are sums of trade values. Curve volume accumulates trades executed against a launchpad curve; pool volume accumulates trades executed against a two-sided liquidity pool.
Context it needs
Whether depth is fixed by a formula or supplied by liquidity providers, whether the token has migrated, and whether the reporting venue set changed at migration.
Mistake it prevents
Sorting a screener by volume and treating a pre-migration curve token and a post-migration pair as two points on the same scale.

A bonding curve and a constant-product pool are different machines that both emit a number called volume. On a curve, price is a deterministic function of how much of the curve supply has been sold, and depth is fixed when the curve is deployed. In a pool, price is the ratio of two real reserves that anyone can add to or withdraw. The same reported figure therefore implies different things, and a screener column places them side by side anyway.

Two machines wearing one label

The word volume describes an accounting operation, not a market structure. An indexer sums recognised trades and prints the total. It does not, and cannot, annotate that total with the shape of the venue that produced it. That annotation is the reader's job, and it is skipped almost universally because the token page gives no hint that it is required.

The practical consequence appears the moment anyone sorts a list. A screener sorted by twenty-four hour volume mixes launch-stage curve tokens with freshly migrated pairs and with established markets. Every row is correct. The ranking is meaningless, because the rows are not measurements of the same thing.

How a launchpad curve prices a token

Solana launchpad curves are commonly implemented as a constant-product formula over reserves that are set when the curve is created. Buyers send SOL to the curve and receive tokens; sellers return tokens and receive SOL. There is no counterparty inventory in the usual sense and no liquidity provider deciding how deep the market should be. The curve is the market maker, and its behaviour is fixed by parameters chosen at deployment.

Three consequences follow directly, and all three matter for reading volume.

  • Depth is not a choice. Nobody can add liquidity to make trades cheaper, and nobody can remove it. The price impact of a given trade size is determined by the formula and by how far along the curve the token currently sits.
  • Progress is a single tracked quantity. Where a pool has two reserves that move against each other, a curve has one position along a path. Buys advance it, sells retreat along it, and the path does not change shape.
  • Migration is an event, not a gradual transition. When curve progress reaches the threshold set by the launchpad, remaining reserves are deployed into a standard pool and trading moves there. Before that point there is no pool; after it, there is no curve.

The underlying token accounts, mint authorities and supply mechanics are the ordinary SPL ones described in the Solana program documentation; the curve sits on top of them as an application. That matters when you go looking for evidence, because the token side of the story is inspectable with standard tools even when the curve program is unfamiliar.

How a constant-product pool prices a token

A standard pool holds two real reserves and quotes a price from their ratio. Every swap changes both reserves and therefore the price, in proportion to the trade size relative to the reserve on the side being drained. Liquidity providers deposit both assets and can withdraw, so depth is a variable that changes independently of trading. The mechanics and the fee handling for the common Solana pool types are set out in the Raydium documentation.

Two properties of pools are directly relevant to volume. First, the same reserves can be traded through repeatedly, so cumulative volume has no ceiling set by pool size. Second, depth is observable: the reserves are on chain, so you can divide volume by them and get a ratio that means something. Neither property holds on a curve in the same way.

There is a third property worth naming because it is often missed. Liquidity can be withdrawn. A pool that showed substantial depth yesterday can show very little today with no trades involved, which changes every ratio computed against it without changing a single volume figure.

The two machines side by side

Structural comparison. Descriptive, not numeric, so nothing here is an illustrative figure.
Property Launchpad curve Constant-product pool
Price source Formula over curve progress against reserves fixed at deployment Ratio of two real reserves, updated by every swap
Who sets depth Nobody after deployment; it is a parameter Liquidity providers, continuously
Can depth be withdrawn No Yes, at any time
Liquidity field on a dashboard Often blank or not comparable to a pool figure Reserve value, usually both sides summed
Turnover ratio No comparable denominator exists Volume divided by reserve value
Effect of a round trip Adds twice its size to volume, returns progress near its starting point Adds twice its size to volume, returns reserves near their starting ratio
End state Migration into a pool at a progress threshold Continues until liquidity is withdrawn

Read down the two columns and the reason for the confusion becomes obvious. Only one row, the round-trip row, behaves the same way in both structures. Every other row differs, and several of them differ in ways that change how a volume figure should be interpreted.

Migration, and the gap it opens in the data

Migration is the point where reporting most often goes wrong, because it is a change of venue rather than a change of activity. Providers handle it in at least three ways: continue the series and add the new pool to the same page, restart the series at the new pool, or report both for an overlapping period.

Each choice produces a differently shaped chart from identical underlying trades. A restart looks like a collapse in volume followed by a recovery. A continuation looks smooth. Reporting both temporarily looks like a spike. None of those shapes is evidence about the token, and all three are routinely read as if they were.

If a volume chart shows a sharp discontinuity around the time a token migrated, check the venue set before interpreting it. Discontinuities at migration are usually reporting artefacts, and the underlying trades are continuous across the boundary.

There is also a real effect mixed in with the artefact, which makes this harder rather than easier. Migration changes what a trade costs, because a curve and a fresh pool have different depth profiles. Activity genuinely does change at migration, sometimes substantially. The difficulty is that the reporting artefact and the real effect arrive at the same moment and look similar in a chart.

Round trips behave differently in each

A round trip is a buy followed by a sale of the same size by the same participant. It adds roughly twice its notional to volume and leaves net position unchanged. This is true in both structures, which is why it is the one row in the table that matches. What differs is the cost and the visible trace.

In a pool, a round trip pays the swap fee twice and pays price impact in both directions, but the second leg partially recovers what the first leg moved, because the reserves return towards their starting ratio. On a curve the same logic applies to curve progress: a buy advances it, the matching sell retreats along the same path, and the token ends up close to where it started with fees paid twice.

The reason this matters for reading volume on a launch-stage token is specific. Migration is normally triggered by curve progress, not by cumulative volume. So two curve tokens showing similar reported volume can be at quite different points on the curve, because one accumulated its figure through directional buying and the other through round trips. The volume column does not distinguish them; curve progress does, and it is usually displayed separately.

What one trade costs in each structure

Cost is the cleanest way to feel the structural difference, because it is where the formula shows through. In a constant-product pool, the price impact of a trade depends on its size relative to the reserve being drained. A trade worth a large fraction of a reserve moves price a great deal; a trade worth a tiny fraction barely moves it at all. That relationship is why turnover is informative, and it is worked through in detail in volume against liquidity.

Illustrative: the same order size in three places

Figures invented by the desk to show the shape of the relationship, not measured from any market. Fees are ignored so the impact effect is visible on its own.

A 500 order into a pool holding 25,000 of the quote asset. The order is 2 percent of the reserve, so the price paid is meaningfully worse than the quoted price and the pool is visibly moved by a single retail-sized trade.

The same 500 order into a pool holding 900,000. The order is under a tenth of a percent of the reserve. The execution price is close to the quote and the pool is barely disturbed.

The same 500 order against a curve early in its progress. The cost is set by the curve parameters rather than by anyone's deposit, and it does not improve because a third party added depth, because nobody can.

Identical order, three different execution costs, and every one of those trades contributes exactly 500 to a volume figure. Volume is blind to the cost of producing it, which is precisely why it needs the venue as context.

That blindness runs the other way too. If you are looking at a large volume figure on a shallow venue, you are looking at a number that cost a lot to produce in fees and impact. That does not tell you who paid or why, but it does tell you the figure was not free, and cost is the kind of thing that has a reason behind it.

Worked example: equal volume, unequal meaning

Illustrative pair invented by the desk

Two tokens, identical reported twenty-four hour volume of 80,000. No real token is described and none of these numbers is observed.

Token D sits on a launchpad curve. 80,000 of volume, 4,000 trades, average trade size 20. Curve progress advanced by a small fraction over the day. The reading: a lot of small trades moved value along and back along the curve, and progress moved little, which is the signature of two-way flow rather than accumulation.

Token E has migrated and trades in a pool holding 60,000. 80,000 of volume, 400 trades, average trade size 200, turnover 1.33. The reading: the pool traded a bit more than its own depth over the day at sizes that would move the price noticeably each time.

Sorted by volume these two tokens tie. Described properly they have almost nothing in common: different price mechanics, different depth behaviour, different implications for what your own order would cost, and different meanings for the identical figure they share.

The desk's position is that the tie is the problem. A ranking implies an ordering along one dimension, and volume across venue types is not one dimension. If you need a ranking, rank inside a stage: curve tokens against curve tokens, fresh pools against fresh pools.

Reading a curve token volume figure honestly

Curve-stage volume gets a specific reputation for being noisy, and the reputation is earned for a structural reason rather than a moral one. Launch-stage venues have small effective depth, low per-trade costs at small sizes, and a highly visible progress metric. Those three properties together mean that a lot of activity is cheap to produce and immediately visible, which is why launch-stage flow is where produced volume concentrates.

Being specific about the tooling helps more than being suspicious in general. The controls that shape launch-stage flow are exactly the ones a purpose-built console exposes, and reading the feature list of what is marketed as the best Pump.fun volume bot is a quicker education in the shape of curve-stage activity than any amount of chart staring. Wallet count, interval, size band and venue selection are the four variables, and each one leaves a recognisable trace in the data you can see from outside.

After migration the same logic extends across venues, because a token that trades in several pools can have flow directed at any of them. A multi-DEX Solana volume bot routes across whichever venues hold the pair, which is why post-migration volume comparisons have to fix the venue set before they mean anything. The mechanism is documented plainly in the general-purpose swap and account model in the Solana core documentation: nothing exotic is required, only many ordinary transactions.

None of this makes a curve token's volume fake. The trades happened, the fees were paid, the chain recorded them. It makes the volume figure a poor proxy for interest at that stage, which is a different and more useful statement.

What to record before you compare

Before putting a curve figure and a pool figure anywhere near each other, write down the following. If you cannot fill in a line, that gap is the answer to whether the comparison is safe.

  1. Stage. Pre-migration curve, freshly migrated pool, or established pair. Comparisons are only safe inside a stage.
  2. Venue set for each side. One pool, several pools, curve only, or curve plus pool during a transition.
  3. Depth, or its absence. Reserve value for pools; for curves, record explicitly that no comparable denominator exists rather than substituting a proxy.
  4. Trade count for each side. Needed for average trade size, which is the ratio that survives across both structures.
  5. Curve progress, where applicable. If two curve tokens have similar volume and very different progress, the difference is round trips.
  6. Whether liquidity moved. A pool whose depth changed during the window makes every ratio computed against it approximate.

Six lines is enough to make most comparisons either valid or visibly invalid, which is all a reader needs. The full procedure for a like-for-like comparison, including what to do when the two sides refuse to normalise, is in comparing two tokens honestly, and the specific errors this structure produces most often are catalogued in five comparisons that mislead.

Questions this page gets asked

What is the difference between curve volume and pool volume?

Curve volume is the value of trades executed against a launchpad bonding curve, where price follows curve progress and depth is fixed at deployment. Pool volume is the value of trades against a two-sided liquidity pool, where price follows the ratio of real reserves and depth can be added or withdrawn by liquidity providers.

Does volume carry over when a token migrates?

It depends entirely on the data provider. Some continue the series and add the new pool to the same token page, some restart at the new pool, and some report both for a period. Charts that appear to show a collapse or a jump at migration are often showing a change in the venue set rather than a change in activity.

Why does a curve token show large volume with no liquidity number?

Because a curve has no two-sided reserve to report as liquidity in the usual sense. Depth on a curve is set by the formula and the reserves seeded at deployment, so the field that would normally hold a liquidity value is either blank, or filled with something that is not comparable to a pool figure.

Is turnover meaningful for a curve token?

Not in the same way. Turnover is volume divided by available depth, and a curve does not expose depth as a withdrawable two-sided reserve. You can compute something, but it will not be comparable to a pool turnover figure, so it is better to record that the denominator does not exist.

Do round trips add to volume on a bonding curve?

Yes. A buy and a matching sell both count, so a round trip adds roughly twice its size to volume while returning curve progress close to where it started, minus fees and any price movement in between. This is true in a pool as well, but on a curve it is more visible because curve progress is a single tracked quantity.

Which venue should I compare a new token against?

One at the same stage. A pre-migration curve token compares to another pre-migration curve token; a freshly migrated pair compares to another freshly migrated pair. Comparing across stages requires normalising the venue and the depth, and is usually better done with ratios than with headline totals.

Does higher curve volume mean the token will migrate sooner?

Not directly, because migration is normally triggered by curve progress rather than by cumulative volume. Round-trip trading adds to volume while advancing progress very little, so two tokens with similar reported volume can be at quite different points on the curve.

Written by The Volume in Context Desk. Paired figures on this page are invented by the desk to make one mechanism visible and describe no real token. The terms used are defined in the glossary, and the scope of the desk is set out in about this desk.