{"uid":"cap_Lzv86DEwg8hpGlzQofThP","slug":"solidity-abi-calldata-decoder-d96ebc77","name":"Solidity ABI Calldata Decoder","description":"Strict Solidity ABI calldata decoder — decode canonical EVM smart-contract function calls or typed values, verify selectors, and reject ambiguous offsets or padding.","url":"https://chain-tools.use.x402atlas.com/evm/abi-decode","method":"POST","headers":{},"bodySchema":null,"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","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_CtWrPeNtn_o4AUPuubc5f","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Decodes canonical EVM smart-contract function call data or typed ABI values, verifies selectors, and rejects ambiguous offsets or padding.","exampleAgentPrompt":"Decode this raw EVM calldata hex for me — the function signature is `transfer(address,uint256)` — and tell me what the decoded arguments are, making sure the selector and padding are valid: 0xa9059cbb000000000000000000000000abcdefabcdefabcdefabcdefabcdefabcdefabcd0000000000000000000000000000000000000000000000000de0b6b3a7640000","exampleUseCases":[{"title":"Decode suspicious transaction calldata","prompt":"I have raw calldata from a transaction that interacted with a DeFi contract — can you decode it against the function signature `swapExactTokensForTokens(uint256,uint256,address[],address,uint256)` and tell me what arguments were passed? Here's the hex: 0x38ed1739..."},{"title":"Verify contract interaction arguments","prompt":"I need to verify that this calldata was actually encoding an `approve(address,uint256)` call with the expected spender address and amount — can you decode it and flag any padding anomalies? Calldata: 0x095ea7b3..."},{"title":"Audit smart contract function call","prompt":"As part of a security audit, decode this raw hex calldata against the signature `execute(address,uint256,bytes)` and confirm the selector is correct and there are no ambiguous offsets: 0x1cff79cd..."}],"resultDescription":"Returns the decoded parameter values for each argument in the function call, the verified function selector, and any validation errors if the calldata contains ambiguous offsets, bad padding, or mismatched types. If decoding fails strict validation, the endpoint returns a structured rejection explaining the violation.","failureModes":["Calldata does not match the provided function signature — returns a decoding error","Invalid or mismatched selector — returns selector mismatch error","Ambiguous dynamic offsets detected — rejected with strict validation error","Malformed hex input — returns a parse error","Padded zeros in unexpected positions — rejected as non-canonical encoding"],"whenToPreferThis":"Use this endpoint when you need strict, canonical ABI decoding that goes beyond basic hex parsing — especially when security or correctness matters, such as auditing transactions, validating contract interactions, or verifying that calldata has no ambiguous offsets or non-standard padding. Prefer this over generic hex decoders when you need selector verification and strict rejection of malformed encodings.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:46:55.001Z","isFirstParty":false}