Explains an EVM transaction in plain language: decoded intent, asset movements, approvals, and risk flags. POST /v1/tool with {tx_hash, chain_id}, or GET /v1/explain with query params, and get one JSON object with a summary, moved assets, gas, parties, and risk flags. Deterministic for identical input. Pay per request in USDC; no account, no API key.
Endpoint
POST https://test.agent.pocket.network/v1/tx-explain
Price per call
$0.005 USD
Networks payable on
Base Sepolia (eip155:84532)
Protocol
rest
Calling it
The first call returns 402 Payment Required with the terms. Sign for those terms and retry the same request with the payment attached.
This service declares its response shape in prose rather than as fields, so there is nothing more specific to sample.
{}
Try it
Make one real paid call from your own wallet — about $0.005 on Base Sepolia (eip155:84532). The wallet signs; nothing here holds a key. You'll see exactly what the service answers.
No browser wallet found. Install MetaMask or Coinbase Wallet to try a call here.
Supported methods
Methods the registry lists for this service. The portal forwards any call as sent; the supplier decides what it answers, and a delivered answer is settled.
Methods EVM Transaction Explainer accepts, and whether each reads or writes.
Method
Effect
GET /v1/explain
read
GET /v1/health
read
GET /v1/version
read
POST /v1/tool
read
Schemas
Published by the service itself. The example above is generated from these.
Request schema
{
"type": "object",
"description": "A transaction to explain. On the MCP relay route POST /v1/tool these fields are wrapped under an `arguments` object; the direct route takes them at the top level. GET /v1/explain takes the same fields as query parameters.",
"properties": {
"tx_hash": {
"type": "string",
"description": "The transaction hash, 0x-prefixed."
},
"chain_id": {
"type": "integer",
"description": "EVM chain id (default 1)."
}
},
"required": [
"tx_hash"
]
}
Response schema
{
"type": "object",
"description": "For POST /v1/tool (and GET /v1/explain), a JSON object with a plain-language summary, moved assets, gas, parties, risk flags, and the chain_id as received. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field, and the GET routes return their own small JSON documents."
}
Request body used in the example: {
"tx_hash": "string",
"chain_id": 0
}