Skip to content
Curve Volume Lab
Curve Volume Lab
Volume tools

Volume, holders and visibility

Transaction activity, holder distribution and placement on a discovery interface are three separate quantities that get discussed as though they were one. Where they diverge is where the useful information is.

Volume measures flow, holder count measures distribution, and visibility measures where a token appears on a discovery surface. They influence each other, but none of them is a proxy for the others. The most useful reading comes from where they disagree: a token with heavy activity and static distribution is describing something quite different from a token with the reverse pattern.

Three things that get conflated

Transaction activity is a windowed sum. It answers how much notional moved through the market and how many instructions produced it. It is a flow measure, so the same balance can contribute to it as many times as it is cycled. Nothing in the number is consumed by being counted, which is precisely why it can be produced cheaply and continuously.

Holder distribution is a state, not a flow. It answers how many accounts hold a balance right now and how that balance is spread across them. A snapshot taken an hour later is a different snapshot, but the quantity being described is a position of the world rather than a sum over an interval. It cannot be inflated by repetition.

Visibility is neither. It is a placement decision made by an interface: whether a token appears on a trending list, a new-pairs feed, a chart aggregator or a wallet's discovery tab. That decision is made by software you do not control, using inputs and weights that are not published, and it can change without announcement.

These three get collapsed into one conversation because they usually move together in the successful case. When something genuinely works, activity rises, holders rise, and the token becomes visible. The collapse is harmless right up to the moment you try to produce the outcome by producing only the first term.

Volume is an input, not a synonym

Discovery surfaces need to order tokens, and ordering requires a score. Activity is the most obvious ingredient because it is cheap to compute, updates continuously, and correlates with the thing users are looking for. Most ranking surfaces therefore give it weight. That is the entire, unmysterious reason activity and placement are related.

What follows from that is narrower than people assume. Being an input means volume contributes to a score alongside other inputs, under weights nobody outside the interface knows, against a field of other tokens that are also moving. A given volume figure does not map to a given position, because position is relative and the comparison set changes minute by minute.

It also means the relationship is not stable over time. Ranking logic gets adjusted, and it gets adjusted specifically when a pattern becomes common enough to degrade the surface. Anything built on the assumption that a fixed activity level buys a fixed placement is building on a parameter someone else is actively tuning.

The mechanics of what the activity figure counts, including the buy-sell split and the window effects that make it jump, are covered separately in the note on what Pump.fun volume measures. This note takes that number as given and asks what it does and does not imply.

Why holder growth is the slower signal

The asymmetry between the two signals is a cost asymmetry. Producing a unit of volume costs transaction fees, protocol fees and the price impact of moving along the curve, and then the position is available to be cycled again. The capital is not consumed. It is reused, which is why a modest balance can generate a large aggregate.

Producing a holder is different. A holder is an account with a balance parked in it, and parking a balance means that capital is not available for the next cycle. There is account rent to cover, there is a distribution transaction to pay for, and the resulting balances sit in an explorer where their funding history can be read by anyone who looks.

That is what makes holder growth informative. It is not that holder counts are honest and volume figures are dishonest; both are exactly what they claim. It is that one of them is expensive to fake in a way that survives inspection, and expense is the only thing that makes any signal costly enough to be worth reading.

Slower does not mean better

Holder growth lags real interest as well as fake interest. A token can attract genuine attention for an hour before its holder count reflects it. Reading a flat count in the first minutes of a launch as evidence of nothing happening is the same error in the opposite direction.

Distinct signers and beneficial owners

The natural correction to a volume figure is to count distinct signers over the same window. It is a real improvement: it separates one address cycling four hundred times from four hundred addresses acting once. But it stops short of the question you actually care about, which is how many separate people are involved.

A signer is a key. One operator can hold any number of keys, and generating them costs nothing. So a signer count is an upper bound on independent participants, never a measurement of them. Treating a large signer count as proof of broad participation is the same category of error as treating a large volume figure as proof of interest.

What narrows the gap is funding-graph reasoning. Every account that transacts had to be funded, and the funding transaction is public. If you take the top signers and walk their funding back one or two hops, you either find a scattered set of unrelated origins or you find a small number of sources feeding many accounts within a short interval.

Neither outcome is a verdict. Common funding is consistent with one operator running many wallets, and it is also consistent with an exchange withdrawal address serving many unrelated customers. What the walk gives you is a defensible statement about how much independence the numbers support, which is more than the raw counts allow.

Dust and the inflation of holder counts

Holder counts normally include every token account with a non-zero balance. There is no minimum. An account holding an amount worth less than the fee required to sell it counts exactly as much as an account holding a meaningful position, and the field gives you no way to see the difference.

Two mechanisms produce dust at scale. The first is deliberate distribution: sending a trivial balance to a large list of addresses raises the count immediately and cheaply. The second is ordinary market residue, where partial fills, rounding and abandoned positions leave small balances behind in accounts nobody will revisit.

The correction is to weight the count by balance. Most explorers will show you the holder table sorted by size; reading how far down the list you have to go before balances stop being economically meaningful takes seconds. A count that collapses by an order of magnitude under that filter was describing account creation, not participation.

Reported holders: 4,000
Accounts above an economically meaningful balance: 260
Share of supply held by the top 10 accounts: 41%
Effective holder base: 260 / 4,000 = 6.5% of the reported countIllustrative figures for demonstration only.

Read the reported figure alone and the token has a wide base. Read the weighted figure and the base is two orders of magnitude smaller than the headline, with a substantial share of supply concentrated in a handful of accounts. Both numbers are correct. Only one of them answers the question people ask holder counts to answer.

The four-quadrant diagnostic

Cross activity against holder growth and you get four configurations. The value of the matrix is not that each quadrant has a single explanation, because they do not. It is that each quadrant narrows the set of plausible explanations enough to tell you which check to run next.

Volume against holder growth: four configurations and their responses
QuadrantConfigurationUsual readingAvailable response
1High volume, rising holdersNew capital is arriving and staying. The activity and the distribution agree, which is the only configuration where the headline figure means what it appears to mean.Verify that holder growth survives a balance filter, then watch the buy-sell split for the point where it flattens.
2High volume, flat holdersExisting balances are cycling. Turnover without net accumulation, whether from automated flow, arbitrage or a small group trading against each other.Count distinct signers, walk their funding, and compare net reserve change against total volume before treating the activity as demand.
3Low volume, rising holdersDistribution without a market. Often a set of small buys or a distribution event that raised the count while trading stayed thin.Check whether new accounts were funded independently or from a shared source, and whether balances are above a meaningful threshold.
4Low volume, flat holdersNothing is happening. Either the launch has not started properly or it has finished and the page has not caught up.Check the timestamp of the most recent swap. A dormant token and a stalled one look identical in aggregate and different in the transaction list.

The quadrant most people misread is the second one. It looks like the first from a distance, because the headline figure is large in both cases and the headline figure is what surfaces on a list. The distinction only appears once you decompose, and decomposing is the entire point of running the matrix at all.

The quadrant most people ignore is the third. Low activity with rising holders is unglamorous and it is the configuration in which genuine early distribution frequently sits, because distribution happens before a market forms. It is also the configuration a distribution event produces, so it needs the same check as the others rather than the benefit of the doubt.

Signals that separate the quadrants

Each of the following is readable from public data and takes a minute or two. None of them is conclusive alone, which is why the list is a list and not a test.

Six checks that place a token in a quadrant

  • Distinct signers over the reported window, divided into the transaction count. A high ratio means turnover from a small set; a low ratio means many parties each acting once or twice.
  • Net reserve change compared against total reported volume. A small ratio means the market churned rather than absorbed capital, regardless of how large the volume figure is.
  • Holder count after a balance filter. If most accounts fall below an economically meaningful balance, the count is measuring account creation rather than participation.
  • Funding origins of the largest new accounts, walked back one or two hops. Scattered origins support independence; a shared source within a short interval does not.
  • Buy-sell composition across the window. A one-sided push that later reverses and a genuinely two-sided market produce the same total and describe different situations.
  • The ratio between a short window and a long one. It tells you whether the activity is new, sustained, or already over, which no single window can tell you on its own.

Run these in order and most tokens resolve into a quadrant within a few minutes. The ones that do not resolve are usually the interesting ones, because ambiguity here generally means the pattern is mixed rather than that the checks failed.

Treating activity as an input to surfacing

Once you accept that activity feeds a ranking rather than constituting an outcome, the operational question changes shape. It stops being how much volume is needed and becomes what the activity is meant to buy, which is placement in front of people who would not otherwise have seen the token. Placement is a means. Whether anyone stays is decided by everything else.

This is also where the tooling side of the market becomes legible rather than mysterious. If you want to see what the operational form of that input looks like, a Solana volume bot shows the working shape of it: a live interface that funds a set of wallets and routes swaps across Solana trading venues on a schedule the operator sets. Seeing the configuration surface is useful for readers on both sides, because the settings determine the on-chain pattern you would later be reading in an explorer.

The failure mode is treating the input as the whole system. Activity that arrives without anything behind it produces the second quadrant, and the second quadrant is legible to anyone who runs the checks above. It also produces nothing durable, because the holder count is the part that persists after a window closes and the holder count is the part activity alone does not move.

Stalling is the usual result, and the pattern is repeatable enough to be catalogued. The note on why launches stall works through eight of these patterns with the symptom, the underlying cause and the response available in each case.

The honest limits of the diagnostic

The matrix has real boundaries and they should be stated plainly. It is a two-variable summary of a market with many variables, and two-variable summaries lose things. The first loss is timing: a token can pass through three quadrants in a single session, and a snapshot tells you where it is rather than where it is heading.

The second loss is scale. The same configuration reads differently on a token minutes old and a token that has been trading for days, because the base rates are different. Flat holders in the first ten minutes of a launch is normal. Flat holders after a day of heavy activity is a finding. The matrix does not encode that distinction; you have to supply it.

The third limit is the one that applies to every method described on this site. None of these checks establishes intent or control. They establish what the on-chain record supports and what it does not, and the gap between those two is where inference lives. Saying a pattern is consistent with something is a different claim from saying it demonstrates it, and the difference is worth keeping.

Used inside those limits the diagnostic does one thing well. It stops a large number from being read as a conclusion, and it replaces that reading with a small set of questions that public data can actually answer.

Questions readers ask

What is the difference between holders and volume?

Volume is a windowed sum of swap notional, so the same balance can contribute to it repeatedly. Holder count is a snapshot of how many token accounts carry a non-zero balance at one moment. One measures flow through a market, the other measures a state of distribution, and neither can be derived from the other.

Why is holder growth harder to manufacture than volume?

Producing volume costs fees and a position that can be cycled indefinitely. Producing holders means leaving balances parked in separate accounts, which locks up capital, creates account rent, and leaves a distribution pattern that is visible in an explorer. The cost per unit of signal is much higher, which is what makes the signal worth more.

Does volume cause a token to trend?

Volume is generally one input among several to whatever ordering a discovery surface applies, alongside transaction counts, recency and holder activity. Treating it as the sole cause of placement is a mistake, because the weighting is not published, changes over time, and differs between interfaces.

What does high volume with flat holders usually mean?

It usually means the same set of balances is cycling rather than new participants arriving. The check is to count distinct signers over the window and compare net reserve change against total volume. If a small signer set produced most of the activity and the reserve barely moved, the market churned.

Are distinct signers the same as distinct owners?

No. One operator can control any number of keys, so a high signer count can still represent very few beneficial owners. The available evidence is the funding graph: if many signers were funded from one source in a short interval, treating them as independent participants is not supported.

Can dust holders inflate a holder count?

Yes. Holder counts normally include every token account with a non-zero balance, however small. Balances too small to sell for more than the transaction cost still count, and so do accounts created by unsolicited distributions. Weighting the count by balance gives a much more honest picture than reading the raw number.

Primary references for the account and routing behaviour described here: the Solana documentation for token account and funding semantics, Solscan for holder tables and funding history, and the Jupiter documentation for how swap routing across venues is expressed on chain. Ranking logic on discovery interfaces is undocumented and changes; nothing here should be read as a description of a specific algorithm.