{"uid":"cap_czPP5Iccfg8R1-QvJkeEW","slug":"calldata-decoder-signing-warnings-dcb0a9b1","name":"Calldata Decoder + Signing Warnings","description":"Decode EVM calldata before signing: function signature candidates (openchain DB), decoded args, and plain-English warnings for approve/setApprovalForAll/permit/unlimited amounts.","url":"https://automaton-tx-explainer.vercel.app/v1/decode?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"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":["data"],"properties":{"data":{"type":"string","pattern":"^0x[0-9a-fA-F]{8,}$","maxLength":8010,"description":"hex calldata (0x + selector + args)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_7IBI2p8oebnmh4cPG8WjK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Decodes raw EVM hex calldata into human-readable function signatures and arguments, with plain-English risk warnings for dangerous approvals and unlimited token grants.","exampleAgentPrompt":"Before I sign this transaction, can you decode this calldata and tell me if it's doing anything dangerous like setting an unlimited approval or a setApprovalForAll — here's the hex: 0x095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe","exampleUseCases":[{"title":"Wallet signing safety check","prompt":"I'm about to sign a transaction and the calldata is 0x095ea7b3000000000000000000000000abcdef1234567890abcdef1234567890abcdef12ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff — decode it and warn me if it's granting unlimited token approval to anyone."},{"title":"DeFi protocol interaction audit","prompt":"Can you decode this calldata from a Uniswap interaction I'm about to confirm — 0xa9059cbb000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000016345785d8a0000 — and tell me in plain English what function it's calling and what the arguments mean?"},{"title":"NFT approval risk detection","prompt":"My hardware wallet is asking me to sign something with calldata 0xa22cb465000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25ef0000000000000000000000000000000000000000000000000000000000000001 — is this a setApprovalForAll call and should I be worried about it?"}],"resultDescription":"Returns the most likely function signature candidates (sourced from the openchain.xyz signature database), ABI-decoded argument values with their types, and a set of plain-English warning messages flagging high-risk patterns such as ERC-20 approve with unlimited amounts, setApprovalForAll on NFT contracts, EIP-2612 permit calls, or other dangerous signing patterns the user should review before proceeding.","failureModes":["Calldata shorter than 4 bytes (missing selector) returns an error — must be 0x + at least 8 hex chars","Unknown or very new function selectors may return no signature candidates from the openchain DB","Malformed hex string not matching ^0x[0-9a-fA-F]{8,}$ pattern causes a 400 validation error","Calldata exceeding 8010 character maxLength is rejected","Ambiguous ABI types may produce multiple signature candidates with uncertain decoding","Network errors reaching the openchain signature database may result in empty candidates list"],"whenToPreferThis":"Choose this endpoint when you need to explain raw EVM calldata to a user before they sign a transaction, especially in wallet, agent, or security contexts. It is particularly valuable for flagging approve/permit/setApprovalForAll patterns that could drain user funds. Prefer this over a general block explorer lookup when you need immediate, structured, plain-English risk analysis without requiring a network/chain context — just the raw hex data is sufficient.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-17T12:38:49.280Z","isFirstParty":false,"canonicalSlug":"calldata-decoder-signing-warnings-dcb0a9b1"}