How a Solana volume bot works, step by step

A volume bot is a fleet of funded wallets executing ordinary swap transactions against a decentralised exchange, on a schedule. There is no privileged access, no special API and no trick. Everything it does, a person with enough patience and enough wallets could do by hand. What follows is the whole sequence, including the parts that fail, because the failures are where the money goes.

Volion Research Updated Jul 30, 2026 5 sections

The whole sequence, start to finish

Identify the token, shape the campaign, read the cost estimate, fund a reserved address, let the fleet execute, and watch the trades index. The only step that costs anything before you decide is none of them: the estimate is computed and shown before a funding address is reserved.
  1. Identify the token

    Paste the mint address. The console reads public on-chain metadata and resolves which venue holds the deepest liquidity: a Pump.fun bonding curve, the Pump.fun AMM, a Raydium pool, Meteora, Orca. Nothing is signed and no key is requested at this step or any other.

  2. Shape the campaign

    Choose a volume target, a wallet count, a trade size range, a duration and a distribution shape. The console redraws the projected trade distribution as you move each control, so the settings and the resulting chart shape are visible together rather than described in a sentence.

  3. Read the estimate

    The cost panel splits into service fee, estimated network fee and estimated account rent. The network figure uses the measured failure rate of the venue your token actually trades on, not a network average, because those differ by an order of magnitude.

  4. Fund the campaign

    A funding address is reserved for thirty minutes and shown with a QR code. You send SOL from a wallet you control in a single transfer. There is no wallet connect step and no approval to sign, because the engine never needs permission over your wallet.

  5. The fleet runs

    The engine derives the wallet fleet, funds each wallet, and executes swaps against the resolved venue across the duration you set, following the distribution shape you chose. Failed attempts are retried within the budget rather than silently dropped.

  6. Volume lands and indexes

    Each landed swap is an ordinary on-chain trade. DexScreener, Birdeye, GeckoTerminal and the Pump.fun feed index the pool the same way they index any other trade. Leftover SOL returns to the address it came from when the campaign ends.

The step most operators gloss over is the third. An estimate computed from a network-wide average is close to meaningless, because the failure rate on a contested bonding curve and the failure rate on a quiet pool differ by a factor of several. A Solana volume bot that quotes one number for every token is quoting a number that fits nobody.

What happens on each individual swap

A wallet builds a swap instruction for the resolved venue, attaches a compute budget and a priority fee, signs, and submits. If it lands it is a trade. If it loses the contention race or fails a slippage check, the fee is charged anyway and nothing is produced. Across our latest sample, 27.9% of all Solana transactions ended that way.

That last sentence is the whole economics of this category compressed into one line. The fee is charged on submission, not on success. So the honest unit price of a swap is not the median fee of 5,000 lamports; it is that figure divided by the success rate on your venue. On a heavily contested bonding curve, the difference between those two numbers is close to an order of magnitude.

The failure sources are worth naming because they are controllable in different ways. Contention losses are addressed by priority fees, which are a bid rather than a price. Slippage failures are addressed by trade sizing against real pool depth. Self-contention, where your own wallets compete for the same accounts, is addressed by pacing. All three are configuration decisions, which is why the console exposes them instead of hiding them behind a preset.

The mechanics of each are covered in priority fees, Jito tips and wallet count.

Why it needs many wallets rather than one

Aggregators count unique makers as well as volume. One wallet trading a thousand times is one maker and a legible pattern. A thousand wallets trading once each is a thousand makers and a distribution that resembles a market. The fleet exists to satisfy the maker count, not to hide anything.

The cost of the fleet is not the wallets themselves, which are free to derive. It is the associated token account each one needs to hold your token, which locks roughly 0.00204 SOL in rent while it exists. At a thousand wallets that is around two SOL held, recoverable when the accounts close. This is the line most cost estimates omit entirely.

Fleet size is a genuine trade-off rather than a bigger-is-better setting. More wallets means more makers and more rent, and if the volume target is fixed, each wallet trades less. Beyond a point the extra makers are not buying anything and the rent is pure overhead. How aggregators score the two.

What the aggregators actually see

They see pool trades. A swap that lands is recorded by the pool and picked up by indexers the same way any other trade is, with no marker distinguishing a campaign trade from an organic one. What is visible in aggregate is the shape: how many distinct wallets, how spread out, and whether trade sizes look chosen or generated.

This is why the shape controls exist. A campaign that fires uniform trades at a fixed interval from wallets that were all funded by one address is trivially identifiable by anyone who looks, not because the trades are marked but because real markets do not look like that. Varying size, interval and direction is not deception; it is the difference between activity that reads as a market and activity that reads as a loop.

What no engine controls is what the platform does with the signal. Ranking inputs are weighted, undocumented, and change without notice. Volume is one input among several. Anyone promising a trending placement is promising something they cannot deliver. What is documented and what is inferred.

What a volume bot cannot do

It cannot create holders who stay, guarantee a trending placement, support a price, or make a token interesting. It moves a measurable signal that discovery surfaces respond to. Everything downstream of that signal depends on people deciding to trade, which no engine controls.
  • Not price support. A balanced campaign is designed not to move price. A campaign that did move price would be spending the budget on slippage instead of volume.
  • Not permanent holders. Campaign wallets are transient by construction, and holder count that arrives and leaves with a campaign is visible on any holder chart.
  • Not a guarantee of anything. Platform rankings weigh multiple signals and change without notice. Which signals count.
  • Not custody. No private key, no seed phrase, no wallet connect. You fund an address; the fleet runs; leftovers return. What that protects and what it does not.

The honest framing is that a campaign buys the mechanics of attention, not attention itself. On a Pump.fun volume bot run that means feed placement and reply activity during the window that matters; on an established pool it means aggregator surfaces. In both cases, if there is nothing behind the token, the chart goes quiet when the campaign ends.

Questions

Do I need to connect a wallet?
No. There is no wallet connect step and nothing to sign. You send SOL to a funding address in a single transfer, which means the engine never holds permission over your wallet.
Do you need my private key or seed phrase?
Never. Any service asking for either is asking for control of your treasury, and no volume campaign requires it. The fleet uses its own derived wallets funded from the address you send to.
How long does a campaign take to start?
Execution begins once funding lands and confirms. The configuration and estimate happen before any address is reserved, so the only wait is the transfer itself.
What happens to leftover SOL?
It returns to the address the funding came from. Account rent held by token accounts is recoverable when those accounts are closed.
Can I stop a campaign once it is running?
A campaign runs to its configured duration. Because trades are ordinary swaps rather than a reservation, stopping early means the remaining budget goes unused rather than being refunded as work already performed.
Why does the estimate change when I change the routing target?
Because failure rates differ by venue, sometimes by an order of magnitude. The estimate multiplies your swap count by the attempts needed at that venue measured failure rate, so switching venues changes the network cost line directly.
Is this the same as a bundler?
No. A bundler groups transactions so they land in the same block, usually at launch. A volume bot spreads transactions over time on purpose. Different tools, different goals.
What does the service cost?
A flat 2% of the volume you route, with network fees and rent shown separately because they are charged on chain rather than by us. Worked totals are on the pricing page.