Transactions/explain_tx
What did this transaction do?
$0.01per call after 25 free a dayReads a confirmed transaction: whether it worked, the fee, each wallet's SOL and token changes, the programs used, and why it failed.
Run after a transaction lands or fails, to report what happened instead of guessing from logs. For failures it names the failing program and the fix.
Keeps the model from guessing. Reports the real balance changes from chain data, not a model's guess from raw logs. For failures it names the program and the reason.
Call it
| Transport | How |
|---|---|
| HTTP | POST /api/tools/explain_tx with a JSON body of the inputs below. |
| MCP | tools/call with name explain_tx on /mcp. |
Inputs
| Name | What it's looking for | Where to get it |
|---|---|---|
tx_idstring (base58), required | The transaction's signature. | Returned when you send, or from history. Never make one up. |
network"mainnet-beta" | "devnet", optional | Default "mainnet-beta" (real money). | "devnet" only for test wallets. |
Returned fields
Every field the tool returns, what it is, and exactly how it's worked out.
| Field | What it is | How it's worked out |
|---|---|---|
result"success" | "failed" | Whether it worked. Failed transactions still pay fees. | meta.err is empty for success. |
summarystring | What happened, in a few plain sentences. | Built from the result, the fee and the biggest balance changes. |
time / slotstring | number | When and where it landed. | Block time in ISO 8601, and the slot. |
fee_payer / signersstring / string[] | Who paid the fee and who signed. | The first account, and the accounts marked as signers. |
fee.lamports / fee.solstring | The fee charged. | meta.fee. |
programs[]{ address, name }[] | The programs the transaction called. | Each top-level step's program, with its name when we know it. |
sol_changes[]{ account, before, after, change, raw_change }[] | Every account whose SOL changed, fee included. | Balances before vs after, exact decimals. |
token_changes[]{ owner, token, symbol, before, after, change, raw_change }[] | Every token balance that changed, by owner wallet and token. | Token balances before vs after, with each token's decimals. Tickers from Jupiter. |
compute_usednumber | null | Compute units used. | meta.computeUnitsConsumed. |
failureobject | null | For failed transactions: the raw error, the step and program that failed, what it means, and the last log lines. | meta.err decoded. The failing program is the program of the failing step. The meaning comes from why_failed. |