{"uid":"cap_iocAOgmbY0wYaT2ShGF7-","slug":"agent-data-tools-revmesh2074-workers-dev-evm-calldata-decoder-4e5160ae","name":"EVM Calldata Decoder","description":"Decode EVM transaction calldata into the function and its arguments with viem: give the function signature (transfer(address,uint256)), or leave it out to try common ERC-20, ERC-721, ERC-1155, WETH, permit and multicall functions by selector. Numbers come back as decimal strings. Use to read what a pending or past transaction does before signing; get calldata from eth_tx. A selector that does not match is 422, uncharged.","url":"https://agent-data-tools.revmesh2074.workers.dev/evm/decode-calldata?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","required":["data"],"properties":{"data":{"type":"string","description":"0x calldata (selector plus ABI-encoded arguments), up to 8 KB"},"signature":{"type":"string","description":"Optional function signature such as transfer(address,uint256)"}}},"responseSchema":{"type":"object","properties":{"args":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"value":{"type":"string"}}}},"decoded":{"type":"boolean"},"function":{"type":"string"},"selector":{"type":"string"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USD","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_0wWfY65mu_I0Ik6-cPBTv","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"agent-data-tools.revmesh2074.workers.dev","brandSlug":"agent-data-tools-revmesh2074-workers-dev-x402","brandBaseUrl":"https://agent-data-tools.revmesh2074.workers.dev","brandDocsUrl":null,"whatItDoes":"Decodes raw EVM transaction calldata into the called function name and its typed arguments, supporting common ERC-20/721/1155/WETH/permit/multicall ABIs or a custom signature.","exampleAgentPrompt":"Can you decode this EVM calldata for me and tell me what function it's calling and what the arguments are? The calldata is 0xa9059cbb000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9000000000000000000000000000000000000000000000000016345785d8a0000","exampleUseCases":[{"title":"Inspect pending transaction before signing","prompt":"Before I sign this transaction, can you decode the calldata 0x23b872dd000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9000000000000000000000000d3cda913deb6f0967fe8a7f5a574e24cfa8f3270000000000000000000000000000000000000000000000000000000000000001 and tell me what it's doing — which function and what arguments?"},{"title":"Audit DeFi multicall payload","prompt":"I have this multicall calldata from a DeFi transaction and I want to understand what operations it's batching. Can you decode 0xac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001 and show me the function and arguments?"},{"title":"Verify ERC-20 permit signature data","prompt":"Someone sent me this calldata claiming it's an ERC-20 permit — decode it with the signature permit(address,address,uint256,uint256,uint8,bytes32,bytes32) and confirm what owner, spender, and amount are being authorized: 0xd505accf000000000000000000000000ab5801a7d398351b8be11c439e05c5b3259aec9000000000000000000000000d3cda913deb6f0967fe8a7f5a574e24cfa8f327000000000000000000000000000000000000000000000000016345785d8a0000"}],"resultDescription":"Returns a JSON object with: `decoded` (boolean indicating success), `selector` (4-byte hex selector), `function` (the matched function signature string), and `args` (array of objects each with `type` and `value` as a decimal string for numbers). If the selector doesn't match any known ABI and no signature was provided, returns HTTP 422 and the call is not charged.","failureModes":["422 Unprocessable Entity — selector not matched by any built-in ABI and no signature provided; call is free","Malformed calldata (not valid hex or too short) — likely 400 or decode error","Signature mismatch — provided signature does not match the selector in the calldata, decode fails","Calldata exceeds 8 KB limit — rejected","Payment required (402) if free call quota exhausted and no payment provided"],"whenToPreferThis":"Use this endpoint when you have raw EVM hex calldata and need to understand what function call it represents before signing or broadcasting — especially useful for security checks on pending transactions, auditing DeFi interactions, or debugging smart contract calls. Prefer it over manual ABI decoding when dealing with common token standards (ERC-20, ERC-721, ERC-1155, WETH, permit, multicall) since it auto-matches by selector without needing the ABI. Provide the optional `signature` parameter when you know the exact function signature for less common contracts.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-26T06:48:35.864Z","isFirstParty":false,"canonicalSlug":"agent-data-tools-revmesh2074-workers-dev-evm-calldata-decoder-4e5160ae"}