The League
What Solana trading bots actually charge, read from on-chain fee payments — trade by trade, not from their marketing pages.
Fees measured 2026-08-13 · rebuilt 2026-08-168
Jito tip accounts separated out
The short version.
Below ~0.35 SOL a trade, GMGN is cheapest of the named bots; above it, Photon's flat fee wins. Trojan is never cheapest — it is GMGN plus a fixed 0.0015 SOL. Axiom, the largest bot on Solana by volume, was the most expensive of the four at every size we priced. Several accounts we measured charge about half of GMGN; we earn nothing from those and list them anyway.
Fee as a share of your trade
On the Trojan line: it is drawn as if the ~1% applies to every trade. We measured that percentage stacking on roughly 70% of Trojan trades, not all of them, so Trojan’s real curve sits below the line shown here. We draw the conservative version until we can publish a firmer figure.
Both axes are logarithmic, so a flat fee falls as a straight line and a percentage fee is horizontal. Photon is brutal on small trades and unbeatable on large ones; the lines cross around 0.35 SOL.
Who trades where
Every fee payment we read carries the size of the trade that produced it. Axiom is measured from its own fee accounts separately, because it executes through a private engine our main census excludes. Group those by bot and you can see what kind of trader each one attracts. These are shares, not volumes — we sample a fixed number of transactions per fee account, so the number of trades we saw says nothing about a bot's market share. Only the mix, the median and the whale share compare across bots.
| Group | Trade size mix | Median trade (SOL) | Share over 0.5 SOL |
|---|
| Jito tip payers |
| 0.325 | 44.7% |
| Frontend A |
| 0.216 | 35.0% |
| Budget bot |
| 0.212 | 33.3% |
| Axiom |
| 0.155 | 28.6% |
| Frontend B |
| 0.137 | 23.3% |
| Photon |
| 0.125 | 21.3% |
| Trojan |
| 0.092 | 19.9% |
| GMGN |
| 0.081 | 14.8% |
What jumps out. GMGN charges about 1 percent and draws the smallest trades on the board — median 0.081 SOL. Photon charges a flat fee and its median trade is roughly half again as large. That is what you would expect: a flat fee punishes small trades, a percentage punishes big ones. But it only goes so far — Frontend A charges the highest rate we measured and still has the largest trades of any bot, so price sorts traders partly, and something else does the rest. The clearest whales on the chain are not on any single bot: they are the wallets paying Jito tips, whose median trade is 0.325 SOL.
Odds and ends. Between 40 and 62 percent of every bot's trades are under 0.1 SOL — the size at which tips and account rent cost more than the trade is worth. The average fee across every trade we priced is 0.00381 SOL. The single busiest fee account we found took payments from 306 separate wallets. And for every 1 SOL traded: Photon 0.0035 flat, GMGN about 0.0100, Trojan about 0.0115, Axiom about 0.0207.
Named bots
| Bot | What it charges | Cheapest when | How we know | How well we know it |
|---|
| Photon | Flat fee under revision (1 Sep) — see note | Above ~0.35 SOL | The same fee appeared on every one of 2,492 payments read from the 16 fee accounts we attribute to Photon by name prefix. It never changed with trade size. | Under revision (1 Sep 2026) — a same-day re-check of the same 16 Photon fee accounts read a flat 0.001 SOL per leg, not 0.0035, and found a percentage component (roughly 0.3–0.5% in our sample) collected in accounts our labelling had missed. The 0.0035 figure elsewhere on this page is stale until the census re-run completes. We also identify Photon accounts by their pfn name prefix rather than by on-chain evidence. We tried to verify it and could not: the fee program these accounts route through appears in 90 percent of Trojan's fee transactions too, so it cannot separate the two. The convention also demonstrably misses accounts — at least two collectors with the same program profile do not carry the prefix. Treat every Photon row on this page as identified by naming convention, not proven. |
| Trojan | 0.0015 SOL + ~1% of trade | Never | 401 payments read across the 2 accounts we could confirm belong to Trojan. Both are charged on the same trade, so the cost is a fixed part plus a percentage. | Stated terms. Our account-level census could not confirm a per-size curve: median fee per account in the same size band ranged 0.00023–0.06914 SOL, so we publish the advertised shape rather than a measured one. |
| GMGN | ~1% of trade, each leg | Below ~0.35 SOL | We sent our own money through it and watched what came out: 1.00 percent taken on the buy, 0.94 percent on the sell. | Stated terms. Same limit — account medians in the smallest band ranged 0.00009–0.09579 SOL, too wide to price per band. |
| Axiom | ~1% of trade + ~0.0107 SOL per leg | Never | One controlled trade from our own wallet: 0.92 percent on the buy, 0.90 percent on the sell, plus about 0.0107 SOL per leg for priority inside its execution engine. Default settings, n=1 — not a population measurement like Photon. | Single controlled trade from our own wallet, not a census. Treat as one observation. |
Cost by trade size (SOL, fees only)
| Trade size | Photon | Trojan | GMGN | Axiom | Cheapest |
|---|
| 0.02 | 0.00350 | 0.00170 | 0.00020 | 0.01090 | GMGN |
| 0.05 | 0.00350 | 0.00200 | 0.00050 | 0.01120 | GMGN |
| 0.1 | 0.00350 | 0.00250 | 0.00100 | 0.01170 | GMGN |
| 0.2 | 0.00350 | 0.00350 | 0.00200 | 0.01270 | GMGN |
| 0.35 | 0.00350 | 0.00500 | 0.00350 | 0.01420 | Photon |
| 0.5 | 0.00350 | 0.00650 | 0.00500 | 0.01570 | Photon |
| 1.0 | 0.00350 | 0.01150 | 0.01000 | 0.02070 | Photon |
| 2.0 | 0.00350 | 0.02150 | 0.02000 | 0.03070 | Photon |
Every fee account we measured
Live accounts collecting fees from Solana traders, ranked by how many separate wallets paid them. Click any column to sort. A name appears only where the bot's own program signed the transaction — everything else stays unnamed, because guessing is how fee comparisons go wrong. Rates are lower bounds: if a bot splits its fee across several accounts, its real cost is higher.
| Who | Account | Where it sits | Wallets | Payments | Rate | How it compares |
|---|
| GMGN verified | 5YxQFdt3Tr… | bot fee account | 306 | 401 | 0.55% | Cheaper than Photon under ~0.66 SOL |
| Frontend B | 62qc2CNXwr… | bot fee account | 262 | 313 | 0.51% | Cheaper than Photon under ~0.686 SOL |
| Frontend A | J5XGHmzrRm… | bot fee account | 212 | 336 | 1.27% | Cheaper than Photon under ~0.281 SOL |
| GMGN verified | 7VtfL8fvgN… | private execution engine | 193 | 228 | 0.43% | Cheaper than Photon under ~0.798 SOL |
| unnamed | 7hTckgnGnL… | bot fee account | 190 | 254 | 0.54% | Cheaper than Photon under ~0.661 SOL |
| Trojan verified | 9yMwSPk9mr… | bot fee account | 157 | 241 | 1.04% | Cheaper than Photon under ~0.396 SOL |
| unnamed | GXPFM2caqT… | private execution engine | 148 | 166 | 0.51% | Cheaper than Photon under ~0.693 SOL |
| Budget bot | CebN5WGQ4j… | private execution engine | 138 | 160 | 0.51% | Cheaper than Photon under ~0.674 SOL |
| unnamed | 5eHhjP8JaY… | private execution engine | 136 | 145 | 0.51% | Cheaper than Photon under ~0.673 SOL |
| Photon verified | pfnaxrmMoe… | bot fee account | 130 | 172 | 0.47% | Too few samples to compare |
| Photon verified | pfnntQ8jDj… | bot fee account | 128 | 157 | 0.47% | Too few samples to compare |
| unnamed | EHAAiTxcdD… | private execution engine | 124 | 135 | 0.58% | Cheaper than Photon under ~0.596 SOL |
| Photon verified | pfnKWwarhj… | bot fee account | 123 | 155 | 0.47% | Too few samples to compare |
| unnamed | 3BpXnfJaUT… | private execution engine | 122 | 132 | 0.41% | Cheaper than Photon under ~0.832 SOL |
| unnamed | A7hAgCzFw1… | private execution engine | 122 | 134 | 0.42% | Cheaper than Photon under ~0.832 SOL |
| Photon verified | pfn9b35be4… | bot fee account | 118 | 162 | 0.47% | Too few samples to compare |
| Photon verified | pfnSbG36fC… | bot fee account | 117 | 157 | 0.47% | Too few samples to compare |
| unnamed | 5cjcW9wExn… | private execution engine | 116 | 130 | 0.57% | Cheaper than Photon under ~0.633 SOL |
| unnamed | 9M4giFFMxm… | private execution engine | 116 | 133 | 0.56% | Cheaper than Photon under ~0.649 SOL |
| Photon verified | pfn6dyanKi… | bot fee account | 115 | 154 | 0.47% | Too few samples to compare |
| Photon verified | pfnUxCuZcf… | bot fee account | 115 | 161 | 0.47% | Too few samples to compare |
| Photon verified | pfnaZXdkjJ… | bot fee account | 115 | 153 | 0.47% | Too few samples to compare |
| unnamed | EvfEXLGwrS… | private execution engine | 114 | 142 | 0.26% | Cheaper than Photon under ~1.304 SOL |
| Trojan verified | BGT8Vm1u5n… | bot fee account | 113 | 160 | 0.2% | Cheaper than Photon at every size we measured |
| Photon verified | pfnSbziLrS… | bot fee account | 112 | 158 | 0.47% | Too few samples to compare |
| Photon verified | pfnP85qobX… | bot fee account | 111 | 157 | 0.47% | Too few samples to compare |
| Photon verified | pfngGVVQLi… | bot fee account | 111 | 162 | 0.47% | Too few samples to compare |
| Photon verified | pfnTcJ1i4m… | bot fee account | 110 | 162 | 0.47% | Too few samples to compare |
| Photon verified | pfn2d1g6xk… | bot fee account | 108 | 161 | 0.47% | Too few samples to compare |
| unnamed | FWsW1xNtWs… | private execution engine | 105 | 112 | 0.56% | Cheaper than Photon under ~0.62 SOL |
| Photon verified | pfnSAoQWtJ… | bot fee account | 105 | 155 | 0.47% | Too few samples to compare |
| Photon verified | pfnXi2FdpF… | bot fee account | 103 | 162 | 0.47% | Too few samples to compare |
| unnamed | FogvMj1LQA… | bot fee account | 100 | 159 | 0.13% | Cheaper than Photon at every size we measured |
| unnamed | 9rPYyANsfQ… | private execution engine | 99 | 108 | 0.55% | Cheaper than Photon under ~0.663 SOL |
| Photon verified | pfnEJvqLGd… | bot fee account | 98 | 151 | 0.47% | Too few samples to compare |
| unnamed | AVmoTthdrX… | private execution engine | 96 | 100 | 0.48% | Cheaper than Photon under ~0.727 SOL |
| unnamed | G5UZAVbAf4… | private execution engine | 93 | 101 | 0.51% | Cheaper than Photon under ~0.687 SOL |
| unnamed | 52okb8rFtP… | private execution engine | 63 | 72 | 0.32% | Cheaper than Photon at every size we measured |
| unnamed | AhkMmeq1fR… | private execution engine | 57 | 83 | 0.3% | Cheaper than Photon under ~1.011 SOL |
| unnamed | FVprL5naK4… | private execution engine | 54 | 66 | 56.3% | Dearer than Photon at every size we measured |
| unnamed | 35xNJexEZL… | private execution engine | 48 | 59 | 73.8% | Dearer than Photon at every size we measured |
| unnamed | 6cy1Kr2o2a… | private execution engine | 39 | 51 | 56.16% | Dearer than Photon at every size we measured |
| unnamed | B4T1s465DA… | bot fee account | 34 | 49 | 42.22% | Dearer than Photon at every size we measured |
| unnamed | HWS5XZ89MH… | private execution engine | 31 | 36 | 0.33% | Cheaper than Photon under ~0.998 SOL |
| unnamed | GesfTA3X2a… | bot fee account | 30 | 60 | 1.25% | Cheaper than Photon under ~0.271 SOL |
| GMGN verified | 9EkrsbLh87… | private execution engine | 29 | 39 | 80.8% | Dearer than Photon at every size we measured |
| Micro-fee | 4ACfpUFoaS… | bot fee account | 28 | 64 | 0.03% | Cheaper than Photon at every size we measured |
| unnamed | ARu4n5mFdZ… | bot fee account | 26 | 30 | 0.71% | Cheaper than Photon under ~0.373 SOL |
Coverage
| Bot | Measured by us? |
|---|
| Photon | measured |
| Trojan | measured |
| GMGN | measured |
| Axiom | measured |
| BullX | discontinued June 2026 |
| bonkbot | not yet |
| FOMO | not yet |
| terminal | not yet |
| pump.fun app | not yet |
We publish only what we have read on-chain ourselves. Axiom has been through our own wallet once; the rest of the unmeasured list is next. Roster cross-checked against public volume dashboards such as
this one.
The part nobody tells small traders
On a real 0.02 SOL test trade we paid 0.0044 SOL in tips and 0.0041 SOL in unrecovered account rent — 0.0085 SOL, about 42 percent of the trade size, before any bot fee touched it. The token rose 17 percent in three minutes and the wallet still finished down. At small sizes the binding problem is your trade size, not your bot.
What about speed?
Fees are only half of what a trade costs you. The other half is execution — how fast the order lands and how far the fill drifts from the price you saw. We do not publish a speed number yet, and we will not guess one: comparing execution honestly means running the same trade on several bots at the same moment, many times, not once each. It is the next thing we intend to measure. Until then this page is a price comparison, nothing more.
What you actually get filled at
Fees are only half of what a trade costs. The other half is the price you get, and nobody publishes it. So we measured it: 17,121 real fills across 264 tokens, comparing every trade against the volume-weighted price of other trades on the same token, in the same 30 second window, at a similar size. Same token, same moment, same size, different bot.
| Bot | Trades | Execution (bps) | 95% range | Sample 1 / 2 | Under $25k | $25-100k |
|---|
| GMGN | 797 | -75 | -119 to -38 | -77 / -61 | -83 | -16 |
| Axiom | 508 | -70 | -140 to -3 | -7 / -154 | -56 | +39 |
| Photon | 278 | +21 | -41 to +78 | +97 / -14 | +29 | +241 |
Negative is better: the trade got a better price than others happening at the same moment. GMGN is the only bot with a clear edge — about 75 basis points, consistent across two deliberately different sets of tokens. Photon's range crosses zero, so on this evidence it has no measurable edge in either direction. Axiom's two samples disagree by 147 basis points, so treat its number as unsettled.
Total cost: fee plus fill
| Trade size | GMGN | Photon | Axiom |
|---|
| 0.05 SOL | 25 | 721 | 2170 |
| 0.1 SOL | 25 | 371 | 1100 |
| 0.25 SOL | 25 | 161 | 458 |
| 0.5 SOL | 25 | 91 | 244 |
| 1 SOL | 25 | 56 | 137 |
| 2 SOL | 25 | 38 | 84 |
| 5 SOL | 25 | 28 | 52 |
This changes the answer. On fees alone, Photon overtakes GMGN at about 0.35 SOL. Once the fill price is counted, GMGN stays cheapest to somewhere between 1.4 and 5 SOL, depending on where Photon's true execution sits inside its range. GMGN holds a flat 25 basis points at every size because its percentage fee and its execution edge scale together.
What would change our mind: more trades. Photon contributed 278 of the fills and its interval is wide. We publish the sample sizes and the ranges so you can judge how much weight to give this, and we will update it as the numbers grow.
Method and limits: execution is measured against other traders in the same window, not against a theoretical best price, so it captures being early or late as well as routing quality. It cannot measure sub-second speed claims. It does not control for who chooses which bot or why. All tokens are Solana memecoins in their first hours of trading.
How this was measured
Every number comes from the blockchain, not from a fee schedule. We read the SOL that left traders' wallets on each trade and grouped it by which account received it. Before comparing anything we sorted those accounts into what they really are: a bot's own fee account, a Jito tip, a venue protocol fee, a private execution engine, or routing infrastructure. All eight of Jito's tip addresses sat in our raw data and would have been counted as a trading bot had we not separated them — most fee comparisons never make that distinction. Accounts marked as sitting inside a private execution engine are real fees paid by real traders, but that engine is shared, so we do not attribute them to a particular bot.
Not measured here: speed, fill quality, MEV protection, reliability. Price only. Fees change without notice, which is why the measurement date is printed at the top.
Disclosure
The Photon, Trojan, GMGN and Axiom links are referral links — we receive a rebate if you trade through them. No bot has paid us for placement and none saw this page before publication. Several of the cheapest accounts we found pay us nothing at all; they are listed above anyway, which is the whole point.