TxWhy

Solana failure index

A worker samples recent transactions on nine of Solana's busiest programs around the clock, and classifies a slice of the failures with the same engine that powers TxWhy. This is a running sample, not a census.

Transactions sampled

47,918,766

Failed

17,576,846

Failure rate

37%

From private bots

54%

Sampling since Mon, 21 Sep 2026 13:22:38 GMT. Last pass Sun, 08 Nov 2026 18:30:49 GMT. "From private bots" is the share of 1,444,225 classified failures raised by programs that publish no error list.

Failure rate by program

Failure rate, hour by hour

Share of the sampled transactions that failed in each hour, all nine programs together, last 7 days.

20%35%50%01 Nov02 Nov03 Nov04 Nov05 Nov06 Nov07 Nov08 Nov34.4%

Hover for any hour. Latest: 08 Nov 2026 18:00 UTC, 34.4% of 23,400 sampled.

Table view and dataset
Hour (UTC)SampledFailedRate
08 Nov 2026 18:00 UTC23,4008,05334.4%
08 Nov 2026 17:00 UTC44,81616,28536.3%
08 Nov 2026 16:00 UTC42,16115,51036.8%
08 Nov 2026 15:00 UTC44,59314,70733.0%
08 Nov 2026 14:00 UTC43,69411,53326.4%
08 Nov 2026 13:00 UTC43,05412,27328.5%
08 Nov 2026 12:00 UTC44,34112,18427.5%
08 Nov 2026 11:00 UTC44,03911,29325.6%
08 Nov 2026 10:00 UTC42,09110,86925.8%
08 Nov 2026 09:00 UTC40,96811,00726.9%
08 Nov 2026 08:00 UTC42,33211,01226.0%
08 Nov 2026 07:00 UTC43,90311,52726.3%
08 Nov 2026 06:00 UTC41,84811,70628.0%
08 Nov 2026 05:00 UTC42,96112,40228.9%
08 Nov 2026 04:00 UTC42,57212,40529.1%
08 Nov 2026 03:00 UTC44,05615,48235.1%
08 Nov 2026 02:00 UTC43,04814,55233.8%
08 Nov 2026 01:00 UTC45,00014,53732.3%
08 Nov 2026 00:00 UTC43,13014,38033.3%
07 Nov 2026 23:00 UTC44,54013,37530.0%
07 Nov 2026 22:00 UTC44,69015,03633.6%
07 Nov 2026 21:00 UTC43,20015,18235.1%
07 Nov 2026 20:00 UTC43,20014,05532.5%
07 Nov 2026 19:00 UTC41,40015,70637.9%
07 Nov 2026 18:00 UTC42,79615,03635.1%
07 Nov 2026 17:00 UTC42,62414,23733.4%
07 Nov 2026 16:00 UTC42,63314,82234.8%
07 Nov 2026 15:00 UTC44,65715,85735.5%
07 Nov 2026 14:00 UTC44,55615,08933.9%
07 Nov 2026 13:00 UTC42,77912,51129.2%
07 Nov 2026 12:00 UTC42,96712,10328.2%
07 Nov 2026 11:00 UTC43,49412,73029.3%
07 Nov 2026 10:00 UTC41,23513,21532.0%
07 Nov 2026 09:00 UTC43,72313,49830.9%
07 Nov 2026 08:00 UTC41,85312,78430.5%
07 Nov 2026 07:00 UTC43,32114,52133.5%
07 Nov 2026 06:00 UTC42,08514,02833.3%
07 Nov 2026 05:00 UTC41,59413,03131.3%
07 Nov 2026 04:00 UTC42,41714,16833.4%
07 Nov 2026 03:00 UTC43,62415,95436.6%
07 Nov 2026 02:00 UTC41,10915,36737.4%
07 Nov 2026 01:00 UTC42,34015,15135.8%
07 Nov 2026 00:00 UTC44,37116,58937.4%
06 Nov 2026 23:00 UTC42,18514,87035.2%
06 Nov 2026 22:00 UTC42,87915,33835.8%
06 Nov 2026 21:00 UTC41,27314,52235.2%
06 Nov 2026 20:00 UTC39,60014,73637.2%
06 Nov 2026 19:00 UTC40,23415,84539.4%

Full 30-day dataset, hourly, per program, CC BY 4.0: /api/v1/index/history

Why they fail

Named causes, from programs that publish their errors.

  • ExceededSlippage198,734
  • SlippageToleranceExceeded169,993
  • InsufficientFunds65,515
  • Lighthouse guard: assertion failed45,278
  • Overflow26,449
  • BuySlippageBelowMinBaseAmountOut26,182
  • BuySlippageBelowMinTokensOut19,811
  • Insufficient SOL14,881
  • TooLittleSolReceived7,813
  • Program failed to complete4,723
  • AmountOutBelowMinimum4,682
  • RequireGteViolated4,650

Who raised the error

The innermost program that failed.

  • Private programs (unnamed)779,893
  • Jupiter Aggregator v6174,096
  • Meteora DBC83,950
  • Meteora DAMM v272,949
  • Pump.fun65,677
  • Pump.fun Amm64,754
  • Lighthouse (assertion guard)47,481
  • Token-202238,079
  • SPL Token28,556
  • System Program16,633

Could TxWhy have fixed it?

The worker also pushes a sample of these real, already-landed failures through the repair engine and records only the verdict. Landed failures are the hard case: the price has moved and the blockhash has expired by the time we see them, so this is a floor, not a ceiling, for what pre-send repair achieves.

Of 225,555 real failures pushed through the engine, 52% were automated traders that were meant to fail once the opportunity was gone (private bot programs and circular arbitrage). Nobody can or should repair those. The rest, 108,034, are the failures a person or an app would care about:

Rebuilt and verified
21%
22,867 transactions
Price moved too far
21%
stale by the time it landed
Wallet guard tripped
6.6%
needs a fresh transaction
No rebuild can fix
51%
no funds, overflow, used nonce

Average time per attempt: 1.8 s.

Exactly what happened to each one

The engine's own reason for every attempt since Oct 4, 2026 (185,161 so far). Nothing is rounded into a friendlier bucket.

  • Private program faileda bot's own unpublished program; nothing to decode or rebuild58,956
  • Wallet or pool changed since it landedan artifact of replaying after the fact; does not apply before sending21,750
  • Not enough fundsno rebuild adds money13,678
  • Rebuilt: budget or blockhash onlyreturned as a working transaction, verified12,246
  • Otheroverflow and the long tail; a class gets its own row once it is named11,994
  • Circular arbitragebuilt to fail when the price gap closes11,352
  • Slippage was not the only problemstill fails with the limit moved8,446
  • Rebuilt: swap limit or quote movedreturned as a working transaction, verified8,224
  • Swap routed through a private programthe limit lives inside a router TxWhy cannot rewrite; mostly sniper bots8,128
  • Wallet guard trippedneeds a fresh transaction from the app7,936
  • Same order sent twicea bot program's replay guard (NonceAlreadyExists); the first copy already ran5,229
  • Launch pool already graduatedthe token trades elsewhere now4,132
  • Price moved more than 25%TxWhy refuses to move a limit that far2,750
  • Pump.fun fee math overflowa router's percentage sell gave Pump.fun an amount its fee arithmetic cannot take; sell directly, or sell less2,543
  • Needs a fresh quoteno supported swap to re-quote2,019
  • More than one swaptwo or more swaps in one transaction; TxWhy changes at most one per repair, so the sequence must be rebuilt from fresh quotes1,652
  • Instruction data the program cannot reada client built against another version of the program, or a private program's own encoding; only the app can rebuild it (counted since Oct 23)1,463
  • Pool moved againthe limit was moved to the current price and the pool moved past it before the final check; the pool is moving faster than a fixed limit can follow971
  • Fits its own limit nowthe price came back; something else fails835
  • Launch pool nearly fullthe buy is bigger than what is left before graduation; buy less or use partial fill287
  • Built wrong by the clienta price limit on the wrong side, tick arrays for a price the pool has left, a swap program the route does not accept; only a fresh build fixes it (counted since Oct 23)269
  • Fee recipient rejectedPump.fun refused the fee account the client passed; rebuild with the recipient the SDK picks for this mint172
  • Trade amount is zerothe client built a sell or buy for 0 tokens, usually a percentage sell of an empty balance; nothing to repair57
  • Token account does not exist yetthe program named an account that was never created; a buy gets it created by the repair, a sell on it has nothing to sell, the rest the app must create first (counted since Nov 4)38
  • Token account frozenthe mint's freeze authority froze the account; only the issuer can thaw it, and no rebuild changes that21
  • Version 1 transaction, not rebuiltdiagnosed exactly; TxWhy's rebuild path for the SIMD-0385 format covers budget and blockhash so far, not swaps (counted since Nov 7)7
  • Rebuilt transaction would not fitthe fresh route is longer than the original and the transaction would pass 1,232 bytes; only a shorter route or more lookup tables from the client fix it (counted since Oct 28)6

Rebuilt, by program

  • Meteora DAMM v27,058
  • Meteora DBC6,622
  • PumpSwap3,184
  • Raydium LaunchLab1,807
  • Raydium AMM1,481
  • Pump.fun1,011
  • Jupiter815
  • Orca Whirlpool654
  • Meteora DLMM235

Why the rest could not be

Ranked by how often real senders hit it. This list decides what gets built next.

  • Private program (unnamed)Program … raised this code. It has not published an IDL or an error list, which is typical of59,545
  • Private program (unnamed)This transaction fails for a reason that cannot be fixed by rebuilding it.41,077
  • SlippageToleranceExceededThis is a circular arbitrage: the same token goes in and comes out. It only succeeds while a 15,039
  • Lighthouse guardassertion failed: A safety guard set by the wallet or app that built this transaction aborted it. Noth6,713
  • Not enough tokens to transferThe token transfer at instruction #N spends N from token account …, which holds N. Usuall5,327
  • NonceAlreadyExistsThe program keeps a nonce per order and this one was already used: the same order was sent twice and3,893
  • InsufficientFundsThe token account holds fewer tokens than the instruction needs.3,617
  • Pump.fun fee arithmetic overflowPump.fun's sell_v2 overflowed inside its fee arithmetic (programs/pump/src/lib.rs) rig2,532
  • Insufficient SOLA transfer inside this transaction moves more lamports than the source account holds.2,124
  • InstructionMissingThe program has no instruction with this 8-byte discriminator: the client was built against a differ2,098
  • Launch pool already graduatedThe Meteora DBC swap2 cannot be repaired by moving its limit: this launch pool has comple1,767
  • OverflowAn arithmetic operation inside the program went out of range. In exchanges this usually means the amount, pric1,614

Node errors during replays, counted apart from the engine: RPC: Internal error (79)

Last attempt Sun, 08 Nov 2026 18:30:47 GMT: Raydium LaunchLab, not repairable (Private program (unnamed): Program … raised this code. It has not published an IDL or an error list, which is typical of), 1.8 s.

Most failures on these programs are automated traders firing transactions they expect to miss. The ones that hurt are the rest: an agent or an app whose swap, payment or transfer should have worked. That is what TxWhy repairs →