{"uid":"cap_gqsr6vbicyN_ZExd3XYW8","slug":"saylor-innovations-evm-calldata-decoder-20232b1a","name":"Saylor Innovations EVM Calldata Decoder","description":"Decode EVM calldata into plain English: ERC-20, NFT, Uniswap, Aave and permit calls, with risk flags for unlimited approvals, setApprovalForAll and proxy upgrades.","url":"https://saylorinnovations.com/api/crypto/tx-explain?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":["to"],"properties":{"to":{"type":"string","description":"the contract or recipient address (0x...)"},"data":{"type":"string","description":"optional calldata as 0x hex; omit for a plain transfer"},"chain":{"type":"string","description":"optional: ethereum, base, arbitrum, optimism, polygon, bsc or avalanche; adds a contract-vs-account check on the destination"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"json"},"example":{"type":"object","required":["value_wei","value_native","native_symbol","summary","risk_level","risks","note","source"],"properties":{"to":{"type":["string","null"],"description":"End of the range"},"note":{"type":"string","description":"Caveat or context for reading the result"},"chain":{"type":["string","null"],"description":"Blockchain the data is for"},"risks":{"type":"array"},"source":{"type":"string","description":"Data source the values come from"},"decoded":{"type":["object","null"]},"summary":{"type":"string","description":"Short summary"},"to_kind":{"type":["string","null"],"description":"To kind"},"selector":{"type":["string","null"]},"to_label":{"type":["string","null"],"description":"To label"},"value_wei":{"type":"string","description":"Value wei"},"risk_level":{"type":"string","description":"Risk level"},"value_native":{"type":"number","description":"Value native"},"native_symbol":{"type":"string","description":"Native symbol"},"known_function":{"type":["boolean","null"],"description":"Known function"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_aCL3jeJOF9DWJdztjOQQY","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Decodes EVM transaction calldata into plain English with risk flags for dangerous operations like unlimited approvals, setApprovalForAll, and proxy upgrades","exampleAgentPrompt":"Before I sign this transaction, can you decode and explain what this calldata is doing — it's going to contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum with data 0x095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff — and flag any risks like unlimited approvals?","exampleUseCases":[{"title":"Spot unlimited token approval","prompt":"I'm about to approve a DeFi protocol but the calldata looks weird — can you decode 0x095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff sent to 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum and tell me if it's an unlimited approval?"},{"title":"Verify Uniswap swap before signing","prompt":"Can you explain what this Uniswap transaction is actually doing? It's going to 0xE592427A0AEce92De3Edee1F18E0157C05861564 on Arbitrum with this calldata: 0x414bf389 — I want to know the function name, what it's swapping, and whether there are any risk flags."},{"title":"Audit NFT setApprovalForAll call","prompt":"My wallet is asking me to sign a transaction to 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D on Ethereum with data 0xa22cb465 — can you decode it and warn me if it's granting full NFT collection access to some operator?"}],"resultDescription":"Returns a JSON object containing a plain-English summary of the transaction, the decoded function call and its arguments, the risk level (e.g. low/medium/high), an array of specific risk flags (e.g. unlimited approval, setApprovalForAll, proxy upgrade), the native token value in wei and human-readable form, a label for the destination contract if known, whether the function selector is recognized, the blockchain context, and a caveat note for interpreting the result.","failureModes":["Unknown or unrecognized function selector returns decoded=null with known_function=false","Invalid or malformed hex calldata may return an error or unparseable result","Unverified or unrecognized contract address yields no to_label","Unsupported chain value returns an error or falls back to no contract-vs-account check","Missing required 'to' parameter returns a validation error","Network or upstream failure returns a non-200 response"],"whenToPreferThis":"Use this endpoint when an AI agent or user needs to understand what an EVM transaction will do before signing it — especially for security-sensitive operations like token approvals, NFT permissions, DeFi protocol interactions, or proxy upgrades. It is ideal for wallet assistants, transaction pre-flight checks, and security auditing workflows where the raw calldata needs to be translated into plain English with risk classification. Prefer this over generic blockchain explorers when you need programmatic, structured risk flags and human-readable summaries in a single API call.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T07:24:56.870Z","isFirstParty":false,"canonicalSlug":"saylor-innovations-evm-calldata-decoder-20232b1a"}