Which Solana DEX is cheapest for a volume bot

Every venue quotes you a fee. None of them quote you a failure rate, and that is where the money goes. A swap that fails still pays its fee and produces no volume, so the only number that matters is cost per swap that actually lands. We measure both halves directly from finalized mainnet blocks and publish them here, updated as the measurement runs. The answer is not the same every day, and it is not the same for every campaign, but the method for finding it is stable and you can apply it yourself.

Volion Research Updated Jul 30, 2026 9 sections

The short answer

For most volume campaigns the cheapest venue per landed swap is a post-graduation AMM pool: Pump.fun AMM, Raydium, Meteora or Orca, depending on where your token has real depth. The Pump.fun bonding curve is consistently the most expensive place to generate volume, not because its fee is high but because a large share of transactions sent to it fail. Jupiter sits in the middle: it finds better prices but routes through more programs, and every extra hop is another chance to fail.

In the sample above the cheapest venue per landed swap is Pump.fun AMM (post-graduation) at roughly 7,296 lamports, and the most expensive is the Pump.fun bonding curve. That ordering is not a permanent ranking. It moves with congestion, with which venues are busy, and with how contested your specific pair is. What does not move is the shape of the answer: a low fee on a venue that fails a third of the time is more expensive than a higher fee on a venue that fails rarely.

The practical decision is usually made for you. Your token lives where its liquidity lives. If it is still on a bonding curve, that is where volume has to be generated, whatever it costs. Once it graduates, you have a genuine choice, and that is the moment this comparison earns its keep. The mechanics of that transition are covered in how the Pump.fun bonding curve works.

What "cheapest" actually means

Cost per landed swap equals the median fee divided by the success rate. A venue with a 5,000 lamport fee and a 60% failure rate costs about 12,500 lamports per swap that works. A venue with a 7,000 lamport fee and a 10% failure rate costs about 7,800. The second is cheaper despite quoting a 40% higher fee, and no pricing page anywhere will show you that division.

Three costs stack on every swap, and vendors tend to quote only the first. The base fee is fixed at 5,000 lamports per signature and is charged whether the transaction succeeds or fails. The priority fee is a bid for scheduling, variable and set by you. Service commission is what a bot operator charges on top, ours being a flat 2% described on the pricing page.

Failures multiply the first two. If 60% of your transactions fail, you send two and a half attempts for every landed swap, and you pay base and priority fees on all of them. That is the multiplier hiding inside every quoted cost per swap, and it is the reason two campaigns with identical settings on different venues can differ in real cost by a factor of three. Publishing that multiplier instead of hiding it is the whole premise of our Solana volume bot.

There is a fourth cost that does not appear in fees at all: slippage. A swap that lands at a worse price than quoted has cost you the difference, and on thin pools that difference can dwarf the fee. Fee comparison is necessary but not sufficient, which is why depth matters as much as failure rate when picking a venue.

Measured fees and failure rates by venue

The table below is read directly from finalized Solana blocks. For each program we count every transaction that touched it, record the fee paid, and record whether it succeeded. Cost per landed swap is the median fee divided by the success rate. These are counts, not estimates, and the sample window is stamped underneath.
ProgramSampled txFailure rateMedian feeCost per landed swap
Pump.fun bonding curve low sample90%45,00045,000
Pump.fun AMM (post-graduation)14728.6%5,2097,296
Raydium AMM v4 low sample425%5,1626,883
Raydium CLMM low sample2630.8%5,7778,348
Raydium CPMM low sample1540%5,3048,840
Meteora DLMM5935.6%5,5118,557
Orca Whirlpools low sample1020%7,6729,590
Jupiter aggregator v6 low sample333.3%6,0008,996
Measured Sep 16, 2026 at 4:30 AM UTC across 1 finalized mainnet blocks via mainnet.helius-rpc.com. Fees in lamports.

Read this table with two cautions. Rows marked as a low sample have too few transactions in the window to draw conclusions from, and a single unusual transaction can move their median dramatically. And every figure is a snapshot of one measurement window, not a long-run average, which is why the timestamp and block count are printed with it rather than hidden.

The full distribution, including the fee percentiles that matter when you are setting priority fees, is on the measured transaction costs page. The arithmetic that turns these figures into a campaign budget is worked through in the cost breakdown.

Pump.fun bonding curve: cheap fee, expensive outcome

The bonding curve is the most expensive place on Solana to generate volume, and the reason is competition rather than pricing. A curve with attention on it has hundreds of bots and snipers racing for the same fills, and most of them lose. The losers still pay.

In our measurement window the curve showed a median fee of 45,000 lamports and a 0% failure rate, which works out to roughly 45,000 lamports per swap that actually lands. Failure rates at that level are not a sign of a broken program. They are what a first-come-first-served pricing mechanism looks like when many parties want the same fill in the same slot, and only one can have it.

The curve has no liquidity providers and no pool in the usual sense. Price is a deterministic function of how many tokens have been bought, so every purchase moves it and there is no depth to absorb anything. That design is what makes early buying attractive and late buying expensive, and it is also what makes concurrent buying so wasteful: two bots targeting the same fill produce one success and one paid failure.

None of this means volume on a curve is pointless. It means the cost of it should be understood before committing a budget, because the same SOL spent after graduation buys several times more landed swaps. Running a Pump.fun volume bot against a live curve is a perfectly reasonable thing to do; it is just expensive, and the choice is easier to make when the price of it is visible in advance.

Raydium: three programs, three different costs

Raydium is not one venue. AMM v4 is the classic constant-product pool, CLMM is concentrated liquidity, and CPMM is the newer standard pool. They have different fee profiles and different failure behaviour, so "Raydium volume bot" is an incomplete description until you know which pool your pair is in.

Concentrated liquidity is the difference that matters. In a CLMM pool, liquidity providers choose the price range they cover, so depth is not spread evenly across all prices. A pool can look deep in aggregate and be thin at the exact price you are trading. That produces failures when the price moves outside the range you were quoted against.

In the current sample CLMM showed a median fee of 5,777 lamports and a 30.8% failure rate, which works out to roughly 8,348 lamports per swap that actually lands, while AMM v4 showed a median fee of 5,162 lamports and a 25% failure rate, which works out to roughly 6,883 lamports per swap that actually lands.

The practical guidance for a volume campaign is to prefer the pool with real depth at the current price, not the pool with the largest headline TVL. The full comparison of the three programs is in Raydium CLMM vs CPMM for a volume bot, and venue-specific routing behaviour is in Raydium volume bot routing.

Meteora DLMM: bins, not curves

Meteora DLMM holds liquidity in discrete price bins rather than a continuous curve. Inside a bin there is zero slippage, and crossing a bin boundary is a step change. That makes cost per swap predictable when you stay inside a bin and jumpy when you do not, which is a different failure profile from every other venue.

Our sample showed a median fee of 5,511 lamports and a 35.6% failure rate, which works out to roughly 8,557 lamports per swap that actually lands. The bin structure is why sizing matters more here than elsewhere: a trade small enough to stay within one bin behaves very differently from one large enough to cross several.

For a volume campaign this is mostly good news, because campaigns are built from small trades by design. A well sized trade on a DLMM pool sits inside a bin, pays a predictable fee, and moves the price not at all. The failure cases come from oversizing, and from bins emptying as liquidity providers rebalance. How bin width changes the arithmetic is covered in Meteora DLMM bin steps, and routing specifics are in Meteora DLMM routing.

Orca Whirlpools: concentrated liquidity with tighter tick spacing

Orca Whirlpools are concentrated liquidity pools similar in concept to Raydium CLMM but with their own tick spacing and fee tiers. The same warning applies: aggregate depth tells you nothing about depth at your price, and a swap that walks outside the active range fails or fills badly.

The measured figure in our window was a median fee of 7,672 lamports and a 20% failure rate, which works out to roughly 9,590 lamports per swap that actually lands. Orca pools tend to be well maintained on established pairs and thin on new ones, which makes venue choice a function of your token's age as much as anything else.

If your token has an Orca pool at all, someone deliberately created it, which is a mild signal of intent that a freshly graduated token usually lacks. Whether that pool is where your volume belongs still depends on where the depth is, and how to check it is covered in the Orca Whirlpool volume bot guide.

Jupiter: the best price is not always the cheapest swap

Jupiter is an aggregator, not a pool. It splits your swap across whichever venues give the best quoted price, which frequently means a multi-hop route. Every hop is another program that can reject the transaction, so aggregated routing buys a better quoted price and pays for it in failure rate.

In the sample Jupiter showed a median fee of 6,000 lamports and a 33.3% failure rate, which works out to roughly 8,996 lamports per swap that actually lands. For a single large swap where price impact dominates, that trade is usually worth taking. For a volume campaign made of many small swaps, where the quoted price advantage on each is tiny, paying a higher failure rate to capture it is usually a bad deal.

There is a second reason to think twice. An aggregated swap may execute across several pools, which means the volume it generates is split across them too. If the objective is to make one specific pair look active, routing that spreads the activity is working against the goal. When aggregation does make sense is covered in Jupiter aggregator routing.

How to choose a venue for your campaign

Work through four questions in order: where does your token have real depth right now, is that pool concentrated or constant-product, how large is each trade relative to the depth at the current price, and what does the measured failure rate on that program look like today. The answers determine the venue; preference does not.
  1. Find the depth. Volume generated where there is no liquidity moves the price violently and costs far more in slippage than it ever saves in fees.
  2. Identify the pool type. Constant-product pools behave predictably across all prices. Concentrated pools do not, and need smaller trades to stay inside the active range.
  3. Size trades against depth, not against budget. The right trade size is the largest one that does not visibly move the price. That is a property of the pool, not of how much you want to spend, and it is also what separates volume from makers, as covered in makers versus volume.
  4. Check today's failure rate. Not last month's. Congestion changes the ranking, and a venue that was cheapest last week can be worst today.

When you set up a campaign in the dashboard, the token address you enter determines the venue automatically by finding where its liquidity actually sits, so you are not asked to guess. What you do control is trade size, interval and slippage, and those are where the cost differences above become yours to manage. If you want to model the numbers before committing anything, the calculator takes a target volume and returns what it costs at current measured rates.

Questions

Which Solana DEX has the lowest fees for a volume bot?
Lowest fee and lowest cost are different questions. The base fee is 5,000 lamports everywhere; what differs is the priority fee needed to land and the share of transactions that fail. A venue with a low median fee and a high failure rate can easily cost more per landed swap than a venue quoting more. The measured table above shows both halves so you can do the division.
Why is the Pump.fun bonding curve so expensive to run volume on?
Because it is a race. The curve fills first come first served, so when a token has attention many bots compete for the same fill in the same slot and only one wins. Every loser still pays its fee. The high cost is competition, not pricing.
Is Jupiter routing worth it for a volume campaign?
Usually not. Jupiter finds better quoted prices by splitting across venues, but multi-hop routes fail more often, and for small trades the price advantage is too small to pay for that. For one large swap where price impact dominates, it is generally worth it.
Does concentrated liquidity make swaps more likely to fail?
It makes them more sensitive to price movement. Liquidity in a CLMM or Whirlpool pool sits in ranges, so a pool can be deep overall and thin at your exact price. When price moves outside the range you were quoted against, the swap fails or fills badly. Smaller trades reduce the exposure.
How often do these numbers change?
Continuously. Failure rates move with congestion and with which venues are busy, so the ranking is not stable week to week. Each table carries the timestamp and block range it was measured over rather than presenting a single figure as permanent truth.
Can I choose which DEX my volume runs on?
In practice the token chooses. Volume has to be generated where the liquidity is, otherwise it moves the price instead of the chart. What you control is trade size, interval and slippage, which is where most of the avoidable cost difference actually lives.