The Buy Sell Ratio And Its Three Incompatible Versions

Three different calculations share the label buy sell ratio: a count of trades by direction, a comparison of volume by direction, and net token flow. They routinely disagree, sometimes pointing opposite ways on the same data, and almost no dashboard says which one it is showing.

The Pump Metrics Desk 2056 words 10 min read Updated 13 August 2026

Buy / sell ratio

What it counts
Depending on the implementation: the number of buy-side swaps against sell-side swaps, the summed value of each direction, or the net change in tokens leaving the pool over a window.
What it hides
Which of the three it is, how a swap direction was assigned when neither side is a quote asset, and that the AMM pool is always the counterparty so every buy already has a matching sale of reserves.
How to check it
Compute all three from the same trade sample. Where the count version and the volume version disagree, the difference tells you the size asymmetry between the two directions, which is the real finding.

Three different calculations are published under the label buy sell ratio: trade counts by direction, volume by direction, and net token flow. They are not variants of one measurement. They weight the same underlying trades in incompatible ways, and on the same dataset they can point in opposite directions. Before reading the number, you have to know which one it is.

Three calculations, one label

count ratio = buy swaps / sell swapsevery swap weighs the same regardless of size
volume ratio = buy notional / sell notionalsize-weighted, and dependent on a price reference for valuation
net flow = tokens out of pool - tokens into poolneeds no pricing and no size weighting, expressed in token units

The count ratio is the most common on token dashboards, because it is cheap to compute and needs no price reference. It answers how many trades went each way. The volume ratio answers how much value went each way. Net flow answers whether the pool's token balance grew or shrank, which is the closest thing to a directional truth because it is a physical change in an account balance.

Each is defensible. The failure is presenting one under a label that readers interpret as another, then allowing a conclusion about buying pressure to be drawn from a figure that never measured pressure.

How a swap gets assigned a direction

A swap on an automated market maker has no intrinsic direction. It is an exchange of one asset for another. Direction is a label an indexer applies, and the rule is normally relative to the quote asset: spending SOL or a stablecoin to receive the token counts as a buy, and the reverse counts as a sell.

That rule works cleanly on token-to-SOL and token-to-stablecoin pairs, which is most of the market. It becomes ambiguous when neither side is a recognised quote asset, when a route passes through several pools so that the same user action produces legs in both directions, or when a transaction contains multiple swaps for unrelated reasons.

On a multi-hop route, the intermediate leg is a sell of one token and a buy of another. Indexers that count every leg record directional activity that no participant intended, on a pair the user was only passing through.

Worked example: three ratios, one dataset

Illustrative arithmetic on an invented trade sample

All figures are chosen by the desk to demonstrate the disagreement. They describe no real token and are not observed data.

In one hour a pair records 180 buy-side swaps totalling 54,000 dollars, and 60 sell-side swaps totalling 78,000 dollars. Over the same hour the pool's token balance fell by 240,000 tokens.

Count ratio: 180 / 60 = 3.00. Read alone, this looks like three times as many buyers as sellers.

Volume ratio: 54,000 / 78,000 = 0.69. Read alone, this looks like meaningful net selling.

Average sizes: buys average 54,000 / 180 = 300 dollars; sells average 78,000 / 60 = 1,300 dollars. The size asymmetry is the whole story: many small buys, fewer and much larger sells.

Net flow: the pool lost 240,000 tokens, so on balance tokens moved out to buyers despite the volume ratio. That is possible because the two directions traded at different average prices across the hour.

All three figures are correct. A dashboard showing only the count ratio would have reported 3.00 and a reader would have concluded buying pressure. The volume ratio contradicts that, and the size asymmetry is the actual finding: distribution into retail-sized buying.

The pool is always the other side

An order book matches a buyer against a seller. An automated market maker does not. Every trade is against the pool, which means the pool always takes the opposite side and its reserves always adjust. There is no unmatched buying pressure sitting in a book waiting to be filled.

This has a direct consequence for interpretation. On an order book, a persistent imbalance between resting bids and offers is information about intent that has not yet executed. On an AMM there is no resting intent to observe. Every trade in the window has already executed and already moved the price. The ratio is a description of completed history, not of a pending imbalance.

So a ratio above one does not mean buyers are waiting. It means that over the window, more trades or more value went in that direction, and the price already reflects it. Anyone reading a directional ratio as a forward indicator is importing an intuition from a different market structure.

Round trips and the flat-flow signature

A round trip is a buy followed by a sell of comparable size, often from the same wallet or a related one. Round trips produce volume with no net directional exposure, and they are the natural output of any process whose objective is activity rather than position.

The resulting signature is recognisable. Count ratio near one, volume ratio near one, net flow close to zero, and total volume high relative to liquidity. That combination is unusual for a market driven by opinion, because opinion produces imbalance. It is exactly what you get from paced two-sided trading, which is how a professional Solana volume bot is typically configured to operate: it produces flow without accumulating a position it would later have to unwind.

The same signature also appears in ordinary market making, and in a market where genuine two-sided interest happens to balance. It is a shape worth recognising, not a verdict. The discriminating evidence is elsewhere: the size distribution, the timing regularity, and whether the wallets on both sides share funding.

What a balanced ratio hides

  • Whether the two sides are the same participants, which turns apparent two-way interest into circulation.
  • Whether balance was achieved by many small trades on one side offsetting few large ones on the other.
  • The fee cost of maintaining the balance, which is a real expenditure that says something about motive.
  • Whether the balance is stable across windows or an artefact of the particular window chosen.

Window choice changes the answer

Every version of the ratio is computed over a window, and the window is usually chosen by the interface rather than by you. A five minute ratio on a quiet pair may rest on a handful of trades and swing wildly. A 24 hour ratio smooths everything, including the event you were trying to see.

The productive habit is to read at least two windows and compare their shape. A short window that is strongly directional inside a long window that is flat describes a burst against a stable background. A ratio that is directional at both scales describes a sustained move. Those are different situations that the same headline figure would report identically.

Be aware that windows are also anchored differently across providers, some rolling continuously and some resetting on a clock boundary. Two sites showing a 24 hour buy sell ratio for the same pair can disagree purely because one of them is still carrying an event the other has dropped.

The ratio and the price move have to agree

This is the strongest consistency check available on any flow figure, and it costs nothing. On a constant-product pool the price is determined entirely by the two reserve balances. Net token flow out of the pool must therefore correspond to an upward price move on that pool, and net flow in must correspond to a downward one. There is no mechanism by which a pool can lose tokens and get cheaper.

So take the net flow figure and the price change over the same window on the same pool and check that their signs match. When they do, nothing is learned, which is the normal and correct outcome. When they do not, something in the inputs is wrong, and the something is usually identifiable.

Illustrative: reconciling flow and price

Arithmetic chosen by the desk to make the check concrete. Suppose a pool holds 8,000,000 tokens and 500 SOL at the start of the window, so the marginal price is 0.0000625 SOL per token.

Over the window, net flow shows 400,000 tokens leaving the pool. Buyers must have delivered SOL in exchange, so reserves become roughly 7,600,000 tokens and, ignoring fees and holding the invariant, about 526 SOL. The new marginal price is 526 / 7,600,000 = 0.0000692 SOL per token, a rise of about 11 percent.

If the reported price change for that window is a fall, the two figures cannot both describe this pool. Either the price is being taken from a different pool, the window boundaries differ, or the flow figure includes venues the price does not.

The three explanations in that last line are the complete list in practice, and each is easy to test. A price sourced from a different or aggregated venue is the most common by a wide margin, particularly on a token trading in several pools of unequal depth. Mismatched windows are next. Genuine indexer error is rare.

What makes this check valuable is that it constrains figures you cannot verify directly. You may have no way to audit a provider's volume methodology, but you can insist that their flow direction and their price move point the same way, and follow up when they do not. Consistency checks of this kind are the cheapest form of verification available, and they generalise: any two figures on a token page that are mechanically linked should agree, and where they do not, the disagreement locates the problem for you.

What each version can support

The three buy sell ratio versions compared by input, robustness and the claim each can defensibly support
VersionInputs requiredRobustnessClaim it supportsMain weakness
Count ratioSwap events and a direction ruleHigh, no pricing neededHow many trades went each wayBlind to size, so easily dominated by dust
Volume ratioSwap events, direction rule, price referenceMedium, inherits pricing weaknessHow much value went each wayA single large trade can define the window
Net flowPool token balance at two pointsHighest, a physical balance changeWhether tokens net left or entered the poolSays nothing about value or participant count
All three togetherThe above, over one sampleDiagnostic rather than robustThe size asymmetry between directionsRequires you to compute them yourself

Reading flow alongside the other figures

The ratio becomes useful when it is read against figures that constrain it. Three pairings do most of the work.

  • Ratio against average trade size. A count ratio far from one with a large size asymmetry is the distribution pattern in the worked example. Same data, much clearer statement.
  • Ratio against unique wallets. Directional flow spread across many independently funded wallets is a different observation from the same flow concentrated in a few.
  • Ratio against liquidity. Directional flow that does not move price against thin depth is close to a contradiction, and worth checking rather than accepting.

The third pairing is the sharpest. Price on an AMM is mechanically determined by reserves, so sustained one-directional flow against shallow depth must move the price. If it visibly has not, either the flow is not as one-directional as the ratio suggests, or liquidity was added during the window, or the pools being counted are not the pools where price is being set. All three are checkable, and the check is more valuable than the ratio.

This is also where launch-phase readings need extra care. In the hours around a migration from a bonding curve to an ordinary pool, flow metrics are unstable by construction, and activity produced by a volume bot for Pump.fun launches sits alongside genuine early interest in the same event stream with nothing distinguishing the two. Ratios taken in that window describe the venue transition as much as the market.

Computing all three yourself

  1. Take a fixed sample, not a window from the interface. The last two hundred swaps on the main pool is a good default and is reproducible.
  2. Record direction, token amount and quote amount for each. Three columns is all you need.
  3. Compute the count ratio. Buys divided by sells, on the sample.
  4. Compute the volume ratio. Summed quote amount by direction.
  5. Compute average size per direction. This is where the count and volume versions reconcile.
  6. Read net flow from the pool balance. Token reserve at the first and last trade in the sample, differenced.
  7. Repeat over a longer sample. Two scales, compared, tells you whether what you found is a burst or a state.

Seven steps, one sample, and you have replaced an ambiguous headline with four figures that constrain each other. The wallet-level question this raises next, namely whether the addresses on each side are independent, is the subject of unique wallets and what they prove.

Questions the desk gets asked

What does the buy sell ratio show on a token?

It compares buy-side activity with sell-side activity over a window. What is being compared varies: some dashboards count trades, some sum volume, and some report net token flow. The three can point in different directions on identical data, so the label alone does not tell you what you are reading.

Does a buy sell ratio above one mean the price will rise?

No. On an automated market maker the price is a function of pool reserves, and it has already moved to reflect every trade in the window. A ratio above one describes what has happened, not a pending imbalance waiting to be resolved.

Why do count-based and volume-based ratios disagree?

Because they weight trades differently. Many small buys against a few large sells produces a count ratio above one and a volume ratio below one simultaneously. Both are correct, and the disagreement between them is more informative than either figure.

How is buy or sell direction determined?

Relative to the quote asset. Spending SOL or a stablecoin to receive the token is a buy; the reverse is a sell. When neither side is a recognised quote asset the indexer applies a convention, and different providers choose differently.

Can the buy sell ratio be manipulated?

It can be moved by anyone willing to place trades, which is true of every flow metric. A balanced ratio is particularly easy to sustain, because buying and selling in equal measure through the same pools produces volume with a stable ratio and no directional exposure.

What is net flow in this context?

The net change in the number of tokens held by the pool over the window. Negative net flow means tokens left the pool into buyers hands. It is the most robust of the three versions because it needs no pricing and no direction convention.

Should I use a short or long window for this ratio?

Both, and compare them. A short window is noisy and responsive; a long one is stable and slow. A ratio that is strongly directional over an hour but flat over a day describes a very different market from one that is directional at both scales.

Filed under Signals by The Pump Metrics Desk. Every calculation on this page is illustrative arithmetic chosen to make a mechanism visible, not observed market data. How we handle numbers is set out in the editorial policy.