Skip to content
Curve Volume Lab
Curve Volume Lab
Volume tools

Pump.fun volume explained

Curve volume is the notional value of swaps executed against a bonding-curve reserve inside a fixed window. It is a real on-chain measurement and it is also one of the easiest numbers on a token page to misread.

Pump.fun volume is the total notional value of swaps executed against a token's bonding-curve reserve within a stated window. Every buy and every sell adds its full value to the total. It is not a measure of how many people are involved, how much capital is committed, or how deep the market is. It is turnover against a formula, and reading it as anything else is where most misinterpretation starts.

That definition sounds narrow, and it is meant to. The value of getting it right is that a large number of downstream conclusions people draw from a token page collapse once you hold the definition steady. This note works through the mechanism, then the composition, then the windows, then the practical reading procedure.

What a curve swap actually is

On a launchpad that uses a bonding curve, the token does not trade against a pool of paired assets supplied by liquidity providers. It trades against a single reserve controlled by a program. When you buy, SOL enters the reserve and tokens are released to you according to a pricing function. When you sell, tokens return and SOL leaves. The program is always willing to transact at whatever price the function currently produces.

There is no counterparty in the ordinary sense. Nobody took the other side of your trade because they thought you were wrong. The formula moved, and the next quote is different because the reserve is different. This is why the first buys on a fresh curve produce dramatic percentage moves: the reserve is small, so each unit of SOL entering it represents a large relative change.

Two consequences follow immediately. The first is that trade and price movement are the same event on a curve. On an order book you can have volume with no price change, because resting orders absorb it. On a curve, every filled swap moves the quote by a deterministic amount. The second consequence is that the total amount of SOL sitting in the reserve is public, exact and derivable at any moment, which makes curve markets unusually legible if you know where to look.

If the pricing function itself is the part you want, the companion note on how bonding curve pricing works takes the formula apart with an illustrative table showing what successive buys do to the quote.

Why curve volume is not pool volume

Both numbers are computed the same way: sum the notional value of trades over a window. That shared arithmetic is exactly what makes the comparison misleading, because the markets underneath the arithmetic are not the same shape.

A constant-product pool holds two reserves supplied by third parties. Its depth at any price is a function of how much capital those providers committed. Liquidity providers can add or remove, so depth changes independently of trading. A trade of a given size has a price impact that depends on total pool size, and that size can be increased by someone who is not trading at all.

A bonding curve holds one reserve, and that reserve only changes through trading. Nobody can deepen a curve by depositing. The relationship between size and price impact is fixed by the curve parameters at deployment. This means depth on a curve is a direct function of how much net buying has already happened, which is not true of a pool. Two tokens showing identical daily volume can therefore sit at completely different depths depending on whether that volume was net-directional or churned.

This distinction matters enough that it deserves its own market-structure treatment; the research desk at volumebotsol.info covers how curve liquidity differs from pool liquidity in the terms an analyst would use, including what happens to the depth profile at the handover point.

The practical version

Curve volume tells you how much turnover the formula processed. Pool volume tells you how much turnover a set of liquidity providers absorbed. Only the second one implies that somebody chose to stand behind the market with capital.

Buy and sell composition

The single most useful decomposition of a volume figure is the split between buy-side and sell-side notional. Most interfaces expose it. Many readers never look at it, which is unfortunate, because the ratio answers a question the headline number cannot.

Consider two tokens that both show the same total volume over an hour. In the first, buys account for roughly seventy per cent of notional. In the second, buys account for roughly fifty per cent. The first token's reserve grew over the hour and its quote is higher than it was. The second token churned: roughly as much left as entered, the reserve is close to where it started, and the quote has barely moved despite all that activity.

Neither pattern is inherently good or bad. A fifty-fifty split with a large notional means the market is actively two-sided, which is often healthier than a one-directional push that reverses later. But the two patterns describe genuinely different situations, and a reader who only sees the total cannot distinguish them.

The second decomposition worth doing is by distinct signer. Volume produced by four hundred addresses and volume produced by nine addresses are not the same phenomenon even at identical notional. Counting signers takes a minute in an explorer and is described step by step in the note on reading a launchpad token page.

Time windows and where they distort

Volume is always reported over a window. Five minutes, one hour, six hours, twenty-four hours. The window is not a neutral presentation choice; it changes what the number is capable of showing.

Short windows are extremely sensitive. A single large swap can dominate a five-minute figure entirely. This makes short windows useful for spotting events and useless for judging sustained interest. Long windows do the opposite: a twenty-four hour figure smooths away the shape of the day, so a token that traded intensely for twenty minutes and then stopped can look similar to one that traded steadily for hours.

There is also a structural effect worth understanding. Where a ranking or trending surface uses a specific window, activity has an incentive to cluster just inside that window, because that is where it counts. When the window rolls forward, contributions from the far edge drop out of the total. A figure that falls sharply without any corresponding event is often just the window shedding its oldest slice.

That incentive is also what most Solana volume automation is configured around, since a session is shaped to sit inside whichever window a ranking surface measures. It is a useful thing to know as a reader: a total that collapses at a round interval after climbing steadily is more likely to be a session ending than an audience leaving.

Window behaviour: what each horizon can and cannot show
WindowGood forBad forTypical distortion
5 minDetecting that something just happenedJudging interestOne swap can be the whole number
1 hourReading the current phase of a launchComparing across daysDrops as the oldest minutes roll off
6 hourSeeing whether activity survived a sessionTiming anythingHides a dead second half
24 hourRough comparison between tokensAnything about shapeA twenty-minute burst looks like a day

The habit worth building is to read two windows at once. A high one-hour figure sitting inside a low twenty-four hour figure means the activity is new. A low one-hour figure inside a high twenty-four hour figure means it is over. The ratio carries the shape that neither number carries alone.

Bot activity and human activity in one number

Volume figures do not distinguish between a person clicking a button and a program submitting a transaction. Both produce identical instructions. The chain does not record intent, and no aggregate can recover it.

Automated activity in this market is ordinary and takes several forms. Some of it is arbitrage between venues. Some of it is snipers competing for early fills. Some of it is deliberate volume generation run by launch teams to keep a token visible on activity-ranked surfaces. Some of it is retail traders using scripts rather than a browser. Treating all of it as a single category called manipulation is imprecise and unhelpful.

What you can do from public data is look for signatures. Automated flow tends to show near-identical swap sizes, regular intervals, funding traceable back to a shared source wallet, and holding periods measured in seconds. Human flow tends to be irregular in size and timing and to leave positions open for longer. Neither pattern is conclusive on its own, and sophisticated automation deliberately randomises both size and interval.

On the operational side, this is a configured process rather than a mysterious one: the tools used for it are consoles that fund a set of wallets and schedule swaps across venues. Reading the configuration surface of a Pump.fun volume bot, where wallet count, swap size range and interval are set explicitly, is a fast way to understand what the resulting on-chain pattern is likely to look like, which in turn is what you are trying to recognise when you read a transaction list. The lab's own assessment of the category, including what it cannot do, sits in the note on volume tooling on the curve.

A reading table for a token page

This is the table the lab uses when it opens an unfamiliar token page. Each row takes a field, states what it claims, states what it actually counts, and names the check that resolves the difference.

Field-level reading table for a curve-stage token
FieldWhat it appears to claimWhat it actually countsResolving check
Volume (24h)Level of interestSum of swap notional, both directionsSplit buy vs sell, count distinct signers
Volume (5m)Something is happening nowPossibly one transactionOpen the swap list and read the last ten
Market capValue of the projectCurrent curve quote multiplied by total supplyCompare with SOL actually in the reserve
Price changeMarket re-ratingDistance moved along the curveCheck net SOL flow over the same window
HoldersSize of the communityAddresses with a non-zero balanceCheck top-holder concentration
TransactionsNumber of participantsNumber of instructionsDivide by distinct signers
LiquidityExit capacityReserve held by the curve programModel a sell of your intended size
CreatedAge of the projectAge of this mint onlySearch for earlier mints with the same name
SocialsActive teamStrings written into metadata at mintOpen each one and check the post history
Curve progressNearness to graduationReserve relative to the migration thresholdRead the reserve balance directly

A worked illustrative example

The following arithmetic is illustrative. The numbers are chosen to be easy to follow and do not describe any real token.

Window: 1 hour
Reported volume: 40 SOL
Swaps in window: 320
Distinct signers: 12
Average swap size: 40 / 320 = 0.125 SOL
Swaps per signer: 320 / 12 = 26.7
Net reserve change over the hour: +1.8 SOLIllustrative figures for demonstration only.

Read the aggregate alone and this token had a busy hour. Read the decomposition and a different picture appears. Twelve addresses produced three hundred and twenty swaps, roughly twenty-seven each, at a uniform small size, and the reserve grew by 1.8 SOL against 40 SOL of reported turnover. Roughly ninety-five per cent of the notional cancelled itself out.

That is not a claim of wrongdoing. It is a description of turnover with almost no net capital commitment. If your reason for looking at volume was to find out whether new money is arriving, this figure answered no, while the headline said yes. The decomposition is what turned it around, and every input to the decomposition is publicly readable.

The four-line sanity check

  • Divide reported volume by transaction count to get average swap size. Very small and very uniform is a signature worth investigating.
  • Count distinct signers over the window and divide transactions by signers. High swaps-per-signer means turnover, not participation.
  • Compare net reserve change against total volume. A small ratio means the market churned rather than absorbed.
  • Compare the one-hour figure against the twenty-four hour figure. The ratio tells you whether you are early, late, or looking at a corpse.

What to do with the number

Volume is a filter, not a verdict. Used as a filter it is genuinely useful: it tells you where transactions are occurring, which is a prerequisite for anything else being true. A token with no volume is not a candidate for analysis regardless of how good the idea behind it is, because there is no market to analyse.

Used as a verdict it fails, because it compresses composition, persistence and direction into one scalar. The three checks that recover most of the lost information are the buy-sell split, the distinct-signer count, and the ratio between a short window and a long one. All three are visible from public data, and none of them requires a subscription.

The relationship between activity and the thing most launch teams actually want, which is durable attention, is a separate subject. The note on volume, holders and visibility works through it with a four-quadrant diagnostic, and it is the natural next read after this one.

One closing caution. Protocol parameters on launchpads change. Fee percentages, migration thresholds and the destination venue for migrated liquidity have all been revised in the past. Nothing here depends on a specific parameter value, but any number you carry away from a third-party article should be re-checked against the protocol's own current documentation before you budget against it.

Questions readers ask

What does Pump.fun volume actually measure?

It measures the notional value of swaps executed against the token bonding curve inside a stated time window, usually denominated in SOL or converted to USD at a reference rate. Each buy and each sell contributes its full notional value, so a wallet that buys and then sells the same position contributes twice.

Is curve volume the same as liquidity pool volume?

No. Curve volume is trade against a single program-held reserve that follows a fixed pricing formula. Pool volume is trade against paired reserves supplied by liquidity providers. The two are measured the same way but describe structurally different markets, and depth behaves differently in each.

Does high volume mean a token is doing well?

Not on its own. Volume is an aggregate over a window and carries no information about how many distinct wallets produced it, whether the same balance cycled repeatedly, or whether the activity persists once a leaderboard window closes. It has to be read alongside holder count and buy-sell composition.

Can you tell bot activity from human activity in the volume number?

Not from the aggregate. You can often tell from the transaction list underneath it. Regular intervals, repeated near-identical sizes, funding traceable to a single source wallet and near-zero holding periods are the usual signatures. None of them is proof on its own.

Why does volume drop sharply after a token migrates?

Partly because the discovery phase has ended, and partly because trackers may attribute pre-migration and post-migration trade to different market records. A drop in the displayed figure can therefore be a mixture of a real decline and an accounting boundary.

What is the fastest way to sanity-check a volume figure?

Open the token account in a block explorer, look at the most recent swaps, and count distinct signers over the same window the figure covers. If a large volume number resolves to a small number of signers cycling similar amounts, the figure is describing turnover rather than participation.

Primary references for the mechanics described here: the Pump.fun protocol itself for current parameters, Solscan for transaction-level verification, and the Solana documentation for account and transaction semantics. Parameters on launchpads change; verify any figure against the protocol before budgeting against it.