{"uid":"cap_amF8G6W78V0nMAfnWuFne","slug":"eip-712-typed-data-signature-explainer-bfd05651","name":"EIP-712 Typed Data Signature Explainer","description":"Explain an EIP-712 typed-data payload before you sign it - what the signature authorises, in plain English, plus what the payload does not tell you. No chain lookup.","url":"https://api.datapackvibe.com/sign/explain","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"properties":{}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"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.03/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.03","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_qak5CGwUtLkVkQfdUWfeP","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.03","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Explains in plain English what an EIP-712 typed-data payload authorises before you sign it, including what the payload does not reveal, without performing any on-chain lookup.","exampleAgentPrompt":"Before I approve this signature in my wallet, can you explain in plain English what this EIP-712 typed data actually authorises? Here's the payload: {\"types\":{\"Permit\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\"}]},\"domain\":{\"name\":\"USDC\",\"version\":\"2\",\"chainId\":1,\"verifyingContract\":\"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\"},\"message\":{\"owner\":\"0xMYWALLET\",\"spender\":\"0xUNIROUTER\",\"value\":\"1000000000\",\"nonce\":0,\"deadline\":1893456000}}","exampleUseCases":[{"title":"DeFi permit approval review","prompt":"I'm about to sign a Permit signature on Uniswap that lets a contract spend my USDC — can you explain exactly what this EIP-712 typed data authorises and what it doesn't tell me? Here's the raw payload: {\"types\":{\"Permit\":[...]},\"domain\":{\"name\":\"USDC\",\"chainId\":1},\"message\":{\"spender\":\"0xUNIROUTER\",\"value\":\"1000000000\",\"deadline\":1893456000}}"},{"title":"NFT marketplace off-chain order explanation","prompt":"Before I sign this Seaport order on OpenSea, can you break down in plain English what this EIP-712 structured data actually commits me to — what it authorises and what risks or unknowns it doesn't disclose?"},{"title":"Wallet sign-in message audit","prompt":"My wallet is asking me to sign this EIP-712 login payload for a dApp — can you explain what I'm authorising and flag anything the payload doesn't tell me, without looking anything up on-chain?"}],"resultDescription":"A plain-English explanation of what the EIP-712 typed-data payload authorises — covering the domain, message fields, and the action being approved — along with an explicit list of what the payload does not reveal (e.g. on-chain contract behaviour, token values in fiat, deadline context). No blockchain RPC calls are made.","failureModes":["Malformed or non-EIP-712 JSON input returns an error indicating the payload could not be parsed","Missing required 'types', 'domain', or 'message' fields causes a validation error","Extremely large or deeply nested type trees may exceed processing limits","Non-standard or custom EIP-712 type names may result in a generic rather than specific explanation","Payment failure (x402) blocks the request before processing"],"whenToPreferThis":"Use this endpoint when a user or agent needs a human-readable explanation of an EIP-712 typed-data payload before signing, without requiring any on-chain state lookup. Prefer this over generic calldata decoders when the payload is typed structured data (not raw transaction calldata), and when the goal is to communicate signing risk or intent in plain language rather than decode ABI types mechanically.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:39:40.562Z","isFirstParty":false}