Transaction forensics

Explain what an EVM transaction actually did: confirmation status, the raw transaction from the chain, decoded calldata with typed parameters, the resolved function signature, and labeled counterparties.

$0.011 per call · one payment for the whole workflow
POST /api/skill/tx-forensics
Sample output + API docs →

5 tools run server-side in one request. You pay once, settle once, and get a single response - no orchestration, no per-step payments, and a partial-success envelope if any step fails. USDC over x402 on any supported chain.

When to use this pack

An agent (or its owner) is staring at a transaction hash and needs the plain-English story - did it confirm, which function was called, with what arguments, and is the counterparty a known contract or an unknown address.

Tools in this pack

All 5 run inside the single $0.011 call above. Each is also callable on its own if you only need one part.

Bought one at a time, these 5 tools cost $0.012 together; the pack is that sum less a 10% bundle discount, rounded up to the $0.001 settlement floor, which is $0.011.

Workflow

  1. Get the confirmation verdict from tx-status - success, revert, or still pending, plus gas used and block number.
  2. Pull the raw transaction with evm-rpc eth_getTransactionByHash for the from/to addresses, value, and the input calldata.
  3. Decode the calldata with calldata-decode - function name and typed parameters via ABI signature databases.
  4. Cross-check the 4-byte selector with selector-lookup to surface every known signature that matches.
  5. Label the counterparty with address-label - known token contract, DEX router, bridge, exchange wallet, or unknown.

Arguments

NameRequiredDescriptionExample
hashyes0x-prefixed 32-byte transaction hash0x1c0592f73d1f9182ee9bd40eb34d9b6c70b3196814b111589b82df4e79e7fb59
networknoEVM network (ethereum / base / polygon / arbitrum / optimism, default base)base

What one call returns

A JSON object with pack, args, steps, summary; steps holds one entry per tool (tx-status, evm-rpc, calldata-decode, selector-lookup, address-label), each with its own result or error. Full example on the API page.

Call it directly

Any x402 client pays the 402 and gets the whole workflow back in one response. With the agent402-client SDK (npm i agent402-client, an ES module):

import { Agent402 } from "agent402-client";
// payFetch: an x402-wrapped fetch your wallet signs (@x402/fetch).
// Tools on the free tier need no options: new Agent402() pays them by proof-of-work.
// an existing prepaid credits key also works: new Agent402({ creditsKey })
const client = new Agent402({ fetch: payFetch });
const result = await client.call("skill-tx-forensics", {"hash":"0x1c0592f73d1f9182ee9bd40eb34d9b6c70b3196814b111589b82df4e79e7fb59","network":"base"});

Run it in Claude

claude mcp add agent402 -s user -- npx -y agent402-mcp@latest

Then paste this prompt into Claude:

Explain what transaction 0x1c0592f73d1f9182ee9bd40eb34d9b6c70b3196814b111589b82df4e79e7fb59 on base actually did, using Agent402's tx-forensics skill pack. (1) Check its confirmation status, (2) fetch the raw transaction via eth_getTransactionByHash, (3) decode the calldata into the function and arguments, (4) resolve the selector against the signature databases, (5) label the destination address. Summarize as a plain-English story: what was called, with what arguments, by whom, to whom, and whether it succeeded.

← All skill packs