Pricing, with the network cost shown separately
Most volume bot pricing pages quote one number and leave out the part the network charges you. That is where the real money goes, and it is the part a vendor cannot control. Volion charges a flat 2% of the volume you route. Everything below that line is network cost, measured from finalized blocks rather than estimated, and shown here so you can add it up before you commit anything.
One fee: 2% of routed volume
The same rate applies whether you are running a Solana volume bot campaign on an established pool or a Pump.fun volume bot campaign against a bonding curve. The venue changes the network cost, not the fee.
That model is deliberate, and it is worth explaining what it rules out. A per-wallet price rewards a vendor for splitting your budget across more wallets than the campaign needs. An hourly price rewards a vendor for running longer rather than better. A subscription charges you in months when you launch nothing. A percentage of routed volume is the only model where the vendor is paid for the exact output you asked for.
It also makes the quote checkable. Volume target multiplied by 2% is arithmetic you can do in your head before you open the console, and the console shows the same figure back to you with the network estimate beside it.
| What you might expect to pay for | Volion |
|---|---|
| Subscription or monthly minimum | None |
| Per-wallet or per-maker charge | None |
| Setup or onboarding fee | None |
| Priority or premium tier | None |
| Percentage of routed volume | 2% flat |
| Network fees, tips and rent | Spent on chain, not by us |
What the network charges on top
| Program | Sampled tx | Failure rate | Median fee | Cost per landed swap |
|---|---|---|---|---|
| Pump.fun bonding curve | 4,725 | 92.4% | 6,193 | 81,487 |
| Pump.fun AMM (post-graduation) | 2,341 | 23.3% | 8,243 | 10,747 |
| Raydium AMM v4 | 52 | 11.5% | 29,020 | 32,791 |
| Raydium CLMM | 54 | 48.1% | 5,081 | 9,790 |
| Meteora DLMM | 863 | 38.9% | 6,642 | 10,871 |
| Orca Whirlpools low sample | 35 | 31.4% | 5,432 | 7,918 |
| Jupiter aggregator v6 | 286 | 55.9% | 9,097 | 20,628 |
The spread in that last column is the entire argument for measuring instead of estimating. Two campaigns with identical settings, routed to different venues, do not cost the same, because the failure rate is not the same. A vendor quoting a single network estimate for every token is quoting an average that applies to nobody in particular.
Two smaller items sit alongside the fee. Each wallet that holds your token needs an associated token account, which locks roughly 0.00204 SOL as rent while it exists. And if a campaign uses Jito bundles, the tip is an auction bid rather than a fixed price, so it is excluded from every estimate on this site instead of being guessed at. How tips are priced.
Five campaigns, added up in full
| Wallets | Avg swap (SOL) | Volume (SOL) | Service fee (SOL) | Network fee (SOL) | Rent (SOL) |
|---|---|---|---|---|---|
| 500 | 0.1 | 50 | 1.0 | 0.003 | 1.02 |
| 1,500 | 0.2 | 300 | 6.0 | 0.010 | 3.06 |
| 3,000 | 0.35 | 1,050 | 21.0 | 0.021 | 6.12 |
| 6,000 | 0.6 | 3,600 | 72.0 | 0.042 | 12.24 |
| 10,000 | 1 | 10,000 | 200.0 | 0.069 | 20.40 |
Read the columns against each other rather than in isolation. Network fee is small in absolute terms at these sizes, but it is the line that varies by an order of magnitude between venues, and it is the line most vendors leave out. Rent is larger than most people expect at high wallet counts and is often recoverable when accounts are closed, which is a detail worth asking any operator about.
To price a campaign you actually intend to run, rather than one of these five, the cost calculator takes your wallet count, trade size and routing target and computes the same three lines against the failure rate measured on that venue.
Everything in that table is a projection from measured inputs, not a record of a campaign that ran. The inputs are published on the measurement page so you can check the arithmetic yourself.
Per maker, per hour, or per volume
| Model | You are charged for | Cheapest when | Hidden risk |
|---|---|---|---|
| Per maker or per wallet | Number of wallets | Few wallets, high volume each | Wallet count inflated beyond need |
| Per hour of runtime | Time the engine runs | Short, dense campaigns | Slow pacing bills more hours |
| Percentage of volume | Volume actually routed | Volume is the goal | Large targets scale the fee linearly |
To convert a per-maker quote, multiply the rate by the wallet count and add the network fee for the attempts those wallets will make, including the failures. To convert an hourly quote, multiply the rate by your intended duration and do the same. Then compare against volume multiplied by the percentage. In our experience the models converge more often than either side expects, and the difference that remains is usually network cost rather than margin.
If a quote in any model sits below the network cost floor for the volume it promises, the arithmetic does not close. That case is worked through on the cost floor page.
What the fee does not buy
- Not a guarantee of trending. Aggregator and platform rankings weigh several signals and change without notice. Volume is one input. What aggregators index.
- Not price support. A balanced buy and sell campaign is not designed to move price, and a campaign that did move price would be spending your budget on slippage rather than on volume.
- Not holders. Campaign wallets are transient. Holder count that arrives with a campaign and leaves with it is visible to anyone reading the chart. Makers versus volume.
- Not custody. We never ask for a private key or a seed phrase, so there is no version of this service where your treasury is in our hands. What that does and does not protect.
The honest framing is that a campaign buys attention mechanics, not attention. If the token has nothing behind it, the chart goes quiet the moment the campaign ends, and the money spent bought a few hours of activity. That is a legitimate thing to buy at launch. It is not a substitute for having something to launch.