# Tolls Transaction Explainer

> Tolls Transaction Explainer is a paid API for AI agents from gw.tolls.fun, paid per call via x402, $0.003/call, status unknown (last checked 2026-11-01).

Decodes a Solana transaction signature into a human-readable summary of programs called, token flows, net SOL changes, and fees paid.

## Facts

- Endpoint: GET https://gw.tolls.fun/v1/data/tx/explain?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tolls-transaction-explainer-7ef9093a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ogsEYghpkTRg2kzjr_RWS

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tolls-transaction-explainer-7ef9093a
```

Example prompt: Can you explain what happened in this Solana transaction — 5KtPn3DXXzHkJ9Z... — show me which programs were called, what token flows occurred, how much SOL moved, and what the fee was?

## When to prefer this

Use this endpoint when you need a fast, structured, human-readable breakdown of a single Solana transaction — especially useful for agents that need to interpret DeFi activity, audit token flows, debug failures, or explain blockchain activity to non-technical users. Prefer this over raw RPC calls when you want pre-parsed program names, net SOL deltas, and a plain-English summary without writing your own decoder.

## Known failure modes

- Invalid or malformed Base58 signature returns an error
- Transaction not found on-chain returns empty or error response
- Very old transactions may not be retrievable depending on RPC node retention
- Network timeouts if the Solana RPC is slow or unavailable
- Payment failure (x402) if USDC balance is insufficient for the $0.003 per-call fee

## How this service works

Readable decode of one transaction: programs called, token flows, net SOL changes, fee.

## Output

A structured, human-readable decode of the transaction including: transaction status (success/failed), slot and block time, fee payer address, fee in lamports, list of programs invoked with instruction counts, token flow changes per owner (mint, change amount, decimals), net SOL changes per account in lamports, and a plain-English summary string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "signature"
     ],
     "properties": {
      "signature": {
       "type": "string",
       "description": "Base58 transaction signature"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "signature",
      "slot",
      "status",
      "feeLamports",
      "feePayer",
      "programs",
      "tokenFlows",
      "solChanges",
      "summary"
     ],
     "properties": {
      "slot": {
       "type": "integer"
      },
      "error": {},
      "status": {
       "enum": [
        "success",
        "failed"
       ]
      },
      "signers": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": "string"
      },
      "feePayer": {
       "type": "string"
      },
      "programs": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "name": {
          "type": [
           "string",
           "null"
          ]
         },
         "programId": {
          "type": "string"
         },
         "instructions": {
          "type": "integer"
         }
        }
       }
      },
      "blockTime": {
       "type": [
        "string",
        "null"
       ]
      },
      "signature": {
       "type": "string"
      },
      "solChanges": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "change": {
          "type": "string"
         },
         "account": {
          "type": "string"
         },
         "changeLamports": {
          "type": "string"
         }
        }
       }
      },
      "tokenFlows": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "mint": {
          "type": "string"
         },
         "owner": {
          "type": "string"
         },
         "change": {
         
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tolls-transaction-explainer-7ef9093a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from gw.tolls.fun](https://www.zero.xyz/host/gw.tolls.fun/llms.txt)
