Orca Whirlpool volume bot: trading inside concentrated liquidity
An Orca Whirlpool can hold millions in liquidity and still reject a small swap. That is not a malfunction, it is what concentrated liquidity does: providers choose the price range they cover, and outside that range the pool is empty no matter what the headline number says. For a volume campaign this makes Orca one of the more demanding venues to run on, and also one of the more rewarding when your pair has a well maintained pool. This page explains what tick spacing and fee tiers actually control, and what settings follow from them.
What a Whirlpool is
The design is capital efficient by construction. A provider who believes a pair will trade between two prices can put everything into that band and earn fees from every trade there, rather than reserving capital for prices that may never occur. That efficiency is why concentrated liquidity has become the default for serious pairs on Solana.
The cost of the efficiency is discontinuity. When price leaves the range a provider covered, that provider stops participating entirely. If enough providers chose similar ranges, price leaving the common band takes most of the depth with it at once. A pool that looked deep becomes thin in a single move.
For anyone reading pool statistics this creates a specific trap. Total value locked is a poor indicator of whether a swap will succeed. The number that matters is liquidity active at the current price, and it is not the number shown on most dashboards.
It also changes what a comparison between venues means. A constant-product pool holding a tenth of a Whirlpool's total can easily be the better venue for a campaign, because all of its liquidity is available at every price while most of the Whirlpool's may be parked somewhere the pair is not trading. Comparing totals across the two designs is close to meaningless, which is why the measured comparison further down uses cost per landed swap instead. The same reasoning applied across every venue is on which Solana DEX is cheapest for a volume bot.
Ticks, tick spacing and why the pool creator chose them
The pairing of spacing with fee tier is the part worth internalising. Low fee tiers come with narrow tick spacing and are intended for pairs that barely move, where providers can sit in a tight band safely and accept a small fee because volume is high and risk is low. Higher fee tiers come with wider spacing and are intended for volatile pairs, where a provider needs a broad range to stay in play and needs a larger fee to compensate for the risk of holding it.
This means the fee tier of your pool is a statement about what kind of pair the creator thought they were making a market in. A meme token in a low fee, narrow spacing pool is a mismatch, and it will show up as frequent failures the moment price does anything interesting, because providers keep falling out of range.
For a volume campaign, a wider spacing pool is usually the friendlier venue even though its fee is higher. Positions are broader, so they stay in range through ordinary movement, so depth is more stable and swaps fail less. Paying a higher pool fee to avoid a higher failure rate is frequently the cheaper choice once you count what failures cost.
What Orca actually costs, measured
| Program | Sampled tx | Failure rate | Median fee | Cost per landed swap |
|---|---|---|---|---|
| Orca Whirlpools low sample | 18 | 77.8% | 5,225 | 23,536 |
| Raydium CLMM low sample | 49 | 65.3% | 10,570 | 30,461 |
| Meteora DLMM | 109 | 69.7% | 8,450 | 27,888 |
| Pump.fun AMM (post-graduation) | 173 | 32.4% | 6,655 | 9,845 |
In the current window Orca Whirlpools showed a median fee of 5,225 lamports and a 77.8% failure rate across 18 sampled transactions, which comes to roughly 23,536 lamports per swap that lands.
Orca tends to sit close to the other concentrated designs on failure rate, which is expected: they share the underlying cause, which is quotes computed against liquidity whose availability changes when other people trade. The two nearest comparisons are covered in their own right in Raydium CLMM vs CPMM and Meteora DLMM bin steps, and Orca-specific routing behaviour is in Orca Whirlpool routing. Where Orca differs is in the quality of the pairs it attracts. Whirlpools on established tokens are typically well maintained, with providers actively managing ranges, and that shows up as more stable depth than a freshly created pool anywhere else.
The full percentile distribution is on the measured transaction costs page, and the comparison across every venue we track is on which Solana DEX is cheapest for a volume bot.
How to check whether depth is really there
This test takes seconds and tells you more than any dashboard statistic. Three sizes are usually enough: something trivially small, something around your intended trade size, and something several times larger. What you are looking for is whether the curve bends.
- Smooth and shallow means healthy depth around the current price. Your intended size is safe and you have room above it.
- Sharp bend below your intended size means you are already at the edge. Size down, or use a different pool.
- Impact even on the smallest test means the pool is thin at this price regardless of its total. Volume generated here will move the price rather than the chart.
Worth repeating periodically rather than once. Providers rebalance, and a pool that passed this morning can fail this evening after a move. The difference between generating volume and generating price movement is exactly this check.
Why depth disappears exactly when you need it
The sequence is worth walking through, because it explains a pattern that otherwise looks arbitrary. Price moves sharply. Positions on the side it moved away from are now entirely in one asset and earning nothing. Their owners either close and reopen around the new price, which takes time and transactions, or they leave the position idle and wait. During the gap between the move and the rebalancing, the pool is thinner than it was before and thinner than its statistics suggest.
A campaign running through that gap experiences it as a sudden run of failures with no obvious cause. Nothing about your settings changed; the venue changed underneath you. The correct response is not to raise slippage or retry harder, both of which spend money against a condition that will resolve on its own. It is to slow down and let the pool recover.
This is also why an actively managed pool on an established pair is worth more to a campaign than a larger but neglected one. Active providers rebalance quickly and the gap is short. On a pool nobody is watching, the gap can last as long as the price stays where it is, and no amount of retrying will produce a fill that the pool cannot make.
Settings that follow from concentrated liquidity
- Trade size. Size below the inflection point found in the depth test, with margin for someone else trading before you land. On concentrated pools, smaller trades both cost less and fail less, so there is no tension to resolve.
- Slippage. Too tight and ordinary movement rejects you; too wide and you have opened a window for someone to profit inside, as covered in sandwich MEV protection. Derive it from how much the pair actually moves between blocks.
- Retries. A failure caused by price leaving the active range will keep failing until price returns or providers rebalance. Immediate retries burn fees against a condition that has not changed. Back off and re-quote.
- Pacing. Volatile windows are when ranges break, priority fees rise and failure rates climb together. Spreading activity across calmer periods costs less and produces a more natural transaction pattern.
Every one of these points the same direction: on concentrated liquidity, patience is cheaper than force. A campaign that runs steadily at a modest size through calm conditions will land more swaps per SOL than one that pushes hard through a volatile hour, and it will look considerably less mechanical while doing it.
When Orca is the right venue and when it is not
The existence of a Whirlpool is itself a mild signal. Someone chose to create it and chose its fee tier and spacing, which is more deliberate than liquidity landing somewhere by default. For a token with a history, that usually means someone is managing ranges and depth is real.
For a token that graduated an hour ago, the picture is different. Liquidity is wherever the graduation put it, an Orca pool may be empty or barely provisioned, and a campaign run against it will move the price instead of producing useful activity. In that situation the honest answer is to run where the depth actually is, which is covered in PumpSwap routing and in the cross-venue comparison.
When you enter a token address in the dashboard, this determination is made from on-chain state rather than from your preference: routing follows depth. What you control is size, interval and tolerance, which is where the differences on this page become yours to manage. The calculator will convert a target volume into cost at current measured rates before you commit anything, and the wider case for choosing a Solana DEX volume bot on published numbers rather than promised ones is set out on the overview.