Understand every failed transaction.

Why did your Solana transaction fail?

Paste a transaction signature and get a clear explanation, technical evidence, and practical next steps.

Read-only. No wallet, seed phrase, or signature is ever requested.

No signature handy? Load a synthetic demo:DEMO DATA
Your report will appear here. Paste a signature above or load a demo to see what a report looks like.

How it works

  1. 01

    Paste a signature

    Choose Mainnet or Devnet and paste the transaction signature from your wallet or an explorer.

  2. 02

    We read the chain

    FailedSwap fetches the transaction, its logs, fees and balance changes. It never sends or retries anything.

  3. 03

    Rules, not guesses

    Deterministic rules match the logged evidence. If nothing matches, you get the raw evidence and an honest “unknown”.

Errors FailedSwap can explain

Every diagnosis shows the evidence behind it and how confident the match is. Anything else is reported as unknown.

  • Slippage or price movementThe output fell below the minimum your slippage setting allowed.
  • Insufficient fundsSOL for fees or rent, or an input token balance, was too low. Each is told apart.
  • Account not initializedA program expected an account that was never set up.
  • Missing token accountAn expected token account is missing or configured incorrectly.
  • Insufficient liquidityOnly when a program reports it explicitly, never inferred from market cap.
  • Expired blockhashThe transaction expired before it could be processed.
  • Compute budgetThe transaction ran out of compute units. Not the same as a low priority fee.
  • Program errorsKnown error codes are explained. Unmapped ones show raw evidence.

Sample report

A demonstration built from a synthetic transaction. It is not real blockchain data.

Developer API

The same engine is available over HTTP. Responses are validated before they are returned.

POST /api/analyze
curl -X POST https://YOUR-DEPLOYMENT/api/analyze \
  -H "content-type: application/json" \
  -d '{"signature":"<TRANSACTION_SIGNATURE>","network":"mainnet-beta"}'

Returns a report with status (SUCCESS, FAILED or UNABLE_TO_DETERMINE), diagnosis, transaction and developer details.

Free plan today

Individual analysis with a limited number of requests per day.

No API keys and no accounts yet.

Pro and Developer plans (batch analysis, higher limits) are planned and not available.

FAQ

Do I need to connect a wallet?

No. FailedSwap only reads public blockchain data from a signature. It never asks for a wallet connection, seed phrase, private key or signature.

Will it retry or fix my transaction?

No. It is strictly read-only. It never sends, signs or resubmits anything.

Why does it sometimes say “unable to determine”?

If the RPC node has no record of the signature, is slow, or returns incomplete data, FailedSwap says so instead of guessing.

What does the confidence level mean?

HIGH means the logs or error codes state the cause directly. MEDIUM means the evidence points to it but relies on interpretation. LOW means weak evidence. Confirmed facts and inferences are labelled separately.

My app said the swap failed but the report says SUCCESS. Why?

The report may refer to a different transaction than the one your app attempted, or the failure may have been an application-level error that never reached the chain.

Should I just raise my slippage?

Not automatically. A higher tolerance can make a swap succeed at a worse price. FailedSwap never suggests a specific value.