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 | Good for | Bad for | Typical distortion |
|---|---|---|---|
| 5 min | Detecting that something just happened | Judging interest | One swap can be the whole number |
| 1 hour | Reading the current phase of a launch | Comparing across days | Drops as the oldest minutes roll off |
| 6 hour | Seeing whether activity survived a session | Timing anything | Hides a dead second half |
| 24 hour | Rough comparison between tokens | Anything about shape | A 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 | What it appears to claim | What it actually counts | Resolving check |
|---|---|---|---|
| Volume (24h) | Level of interest | Sum of swap notional, both directions | Split buy vs sell, count distinct signers |
| Volume (5m) | Something is happening now | Possibly one transaction | Open the swap list and read the last ten |
| Market cap | Value of the project | Current curve quote multiplied by total supply | Compare with SOL actually in the reserve |
| Price change | Market re-rating | Distance moved along the curve | Check net SOL flow over the same window |
| Holders | Size of the community | Addresses with a non-zero balance | Check top-holder concentration |
| Transactions | Number of participants | Number of instructions | Divide by distinct signers |
| Liquidity | Exit capacity | Reserve held by the curve program | Model a sell of your intended size |
| Created | Age of the project | Age of this mint only | Search for earlier mints with the same name |
| Socials | Active team | Strings written into metadata at mint | Open each one and check the post history |
| Curve progress | Nearness to graduation | Reserve relative to the migration threshold | Read 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.
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.
