What a Solana swap actually costs

Every volume bot quotes a service fee. Almost none of them tell you the network bill underneath it, or the part that decides your real spend: how often a swap fails and charges you anyway. These numbers are measured from finalized mainnet blocks, not estimated.

measured Jul 31, 2026 at 10:00 PM UTC19,703 transactions14 finalized blocksslots 436437134–436437914
Median fee paid0.000005SOL5,000 lamports — exactly the base fee, no priority tip
90th percentile0.000012SOL12,001 lamports — 2.4x the median
99th percentile0.000355SOL355,000 lamports — contested blockspace
Network failure rate22.6%4,446 of 19,703 transactions failed and still paid

The number that decides your real cost is the failure rate

Across this sample, 22.6% of all Solana transactions failed while still paying their fee. But DEX swap transactions fail far more often than the network average, averaging around 67.7% on the programs with a meaningful sample. A failed swap costs you the fee and produces no volume. That means the honest cost of a swap is not the median fee, it is the median fee divided by the success rate — and no volume bot pricing page shows you that division.

Solana charges a base fee of 5,000 lamports per signature, which is 0.000005 SOL. That part is fixed. Everything above it is a priority fee you choose, bidding for position when blockspace is contested. What the table below shows is that the choice is not academic: the same swap can cost the base fee or a hundred times it depending on what else is competing for the same accounts in the same slot.

Fee distribution across the whole sample

PercentileLamportsSOLMultiple of base fee
Minimum5,0000.0000051.0x
Median (p50)5,0000.0000051.0x
p756,4840.0000061.3x
p9012,0010.0000122.4x
p99355,0000.00035571.0x
Maximum19,509,5410.019513,901.9x
Mean fee 20,374 lamports. The mean sits well above the median because a small number of contested transactions pay very large priority fees.

Cost and failure rate per DEX program

These are the routing targets a Solana volume bot actually uses. A transaction is counted here when the program appears in its account list, so the figures reflect real traffic against each program in the sampled blocks rather than a synthetic benchmark.

ProgramSampled txFailure rateMedian feep90 feeCost per landed swap
Pump.fun AMM (post-graduation)3,48835%7,39820,00011,382
Meteora DLMM1,95258.8%7,97514,50619,357
Pump.fun bonding curve1,82186.3%7,45551,69854,416
Jupiter aggregator v674980.6%8,64426,98544,557
Orca Whirlpools35480.5%6,78610,00234,800
Raydium CLMM32175.1%6,91819,84727,783
Raydium AMM v414457.6%8,492465,00020,028
Meteora dynamic AMM low sample1546.7%5,00227,9269,385
Raydium CPMM low sample1241.7%5,032105,0008,631
Fees in lamports. "Cost per landed swap" is the median fee divided by the success rate: what you pay on average for one swap that actually settles. Rows marked low sample had fewer than 50 transactions in this window and should be read as directional only.

How to turn this into a campaign budget

Take the swap count you want to land, divide it by the success rate of your routing target, and multiply by the cost per landed swap. A campaign that needs 5,000 settled swaps on a program failing 30% of the time has to attempt roughly 7,150 transactions, not 5,000. Budgeting from the attempt count instead of the landed count is the single most common way a volume campaign runs out of funds early.

Worked through with the measured figures for the highest-sample program in this window:

StepValue
Routing targetPump.fun AMM (post-graduation)
Swaps you want to land5,000
Measured failure rate35%
Transactions you must attempt7,693
Median fee per attempt7,398 lamports
Network fee total0.0569 SOL
Network fees only. This excludes Jito tips, the rent for any account a swap has to create, price impact, and the Volion service fee. It is the floor, not the forecast.

Two costs sit outside this table and both are real. Jito tips are paid per bundle when you route to avoid sandwich MEV, and they are a bid rather than a fixed price, so they rise with competition; the Jito tips reference covers how that bidding behaves. Account rent is charged once when a swap has to create an account that does not exist yet, which is why the first trade from a fresh wallet costs more than its tenth.

How this was measured

Transparency about method is the only thing that makes a number like this worth anything, so here is the whole procedure:

  • Requested 14 blocks from mainnet.helius-rpc.com at finalized commitment, spaced 60 slots apart to avoid sampling one congestion spike.
  • Called getBlock with transactionDetails=accounts, which returns the fee and error status of every transaction plus its account list.
  • Read meta.fee for the fee actually charged and meta.err for whether the transaction failed.
  • Attributed a transaction to a program when that program's address appears in the transaction's account list.
  • Computed percentiles over the raw fee values with no trimming, so outliers are visible rather than smoothed away.

Limits you should know about

This is a sample, not a census. It covers 19,703 transactions in a window spanning roughly 5 minutes of mainnet activity, which is enough to characterise typical behaviour and nowhere near enough to describe a volatile launch hour. Fees on Solana are driven by contention for specific accounts, so a hot token can cost several multiples of what this table shows while the network median stays flat. Attribution by account list also counts a transaction that touched a program without swapping through it, which slightly inflates the sample for aggregators. We publish the method so you can weigh those caveats yourself instead of taking the figure on trust.

Using these figures

The measurements on this page are published under CC BY 4.0. Cite them as Volion, Solana transaction costs measured from live blocks, and link back to this page. If you are comparing volume bot vendors, the useful question to put to each one is not what they charge but what their landed-swap cost is on your routing target, and whether they can show you the measurement.

These are the same figures every estimate on this site is computed from. They drive the per-venue cost shown on the Solana volume bot overview, the bonding-curve arithmetic on the Pump.fun volume bot page, the worked totals on pricing, and the cost floor used to test other vendors quotes on the scam arithmetic page.

Run a campaign against these numbers

The console shows target volume, wallet count and estimated network cost together before anything goes live.

Open console