Documentation
txdecode turns a confirmed EVM or Solana transaction into a human-readable action plus normalized asset movements. It is pay-per-call over x402: no account, no API key — you pay $0.005 in USDC on Base per successful call.
Quickstart — the x402 flow
Every paid endpoint follows the same x402 (v2) exchange. An x402 client library runs all four steps for you; the manual flow is:
- 1
Request. Send the request normally, e.g.
GET /api/v1/decode/base/{txHash}. - 2
402 Payment Required. If unpaid, the server replies
402with the accepted payment requirements (price, network, asset,payTo) in thePAYMENT-REQUIREDheader. - 3
Pay. The client signs an EIP-3009 USDC authorization for that amount and attaches it as the
PAYMENT-SIGNATUREheader. - 4
Retry. The request is replayed with the signature. On success you get
200with the decoded JSON, and the settlement transaction hash in thePAYMENT-RESPONSEheader.
See the decode endpoint reference for runnable curl, JavaScript and Python examples that complete the payment and retry.
Endpoints
One endpoint, priced flat. Follow the link for the full reference.
- GET /api/v1/decode/{chain}/{txHash} $0.005
Decode a confirmed EVM or Solana transaction into a human-readable action plus normalized asset movements (token, amount, USD value). Supported chains: Base, Ethereum, Arbitrum, Optimism, Polygon, BNB Chain, Solana. Add ?verbose=true for the full log/event breakdown. Payment is always $0.005 USDC on Base, whichever chain you decode.
Errors and billing
Every error uses one uniform JSON envelope with a stable
code. The full table — HTTP status, retryability and meaning
— lives in the error reference.
No-settle guarantee. Non-200 responses are never settled — errors never cost $0.005. The x402 payment settles only on a
200, so a failed call costs nothing.
Known limitations
The decoder is logs-only and priced best-effort. These are the documented
edges of v1; each decode reports its coverage in the
completeness block.
-
internal-eth-possibleInternal native-ETH transfers are invisible — the engine is logs-only. Flagged when tx.to is a contract and tx.value > 0. -
v4-native-leg-invisibleUniswap v4 native legs emit no log; reported best-effort from tx.value and the signed swap amounts. -
v4-pool-tokens-unresolvedA v4 PoolId with no pairable ERC-20 Transfers leaves swap legs with an `unknown` asset (amounts preserved). - Pre-migration Slipstream pools (legacy CLFactory) are reported as `unknown-v3-style`.
- `tx-pending` (422) is best-effort: free-RPC mempool visibility is not guaranteed; the documented fallback is 404 with a false-negative note.
- NFTs are `not-priced` by design in v1 (distinct from `unpriced`).
More
- Pricing — the flat $0.005 per-call model in USDC on Base.
- /llms.txt and /api/openapi.json — machine-readable docs for agents.