{"uid":"cap_X4033yCPRIkVSNH2Mm5va","slug":"eip-712-typed-data-signature-reviewer-18f49c3d","name":"EIP-712 Typed-Data Signature Reviewer","description":"Explain an EIP-712 typed-data signature before signing it: x402/EIP-3009 payment authorizations, EIP-2612 permits, Permit2 and Seaport orders. Flags unlimited allowances, long validity and non-official tokens, and returns the exact hash to compare with your wallet.","url":"https://api.vextorium.com/v1/eip712-review?utm_source=zero.xyz","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":{"required":["signature_data"],"properties":{"signature_data":{"type":"object","description":"EIP-712 object as passed to eth_signTypedData_v4: domain, types, primaryType, message"}}},"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","null"],"properties":{"note":{"type":["string","null"]},"type":{"type":["string","null"]},"alerts":{"type":["array","null"],"items":{}},"network":{"type":["string","null"]},"summary":{"type":["object","null"],"properties":{"for":{"type":["string","null"]},"since":{"type":["string","null"]},"token":{"type":["string","null"]},"action":{"type":["string","null"]},"amount":{"type":["string","null"]},"valid_since":{"type":["string","null"]},"valid_until":{"type":["string","null"]}}},"verdict":{"type":["string","null"]},"application":{"type":["string","null"]},"hash_to_sign":{"type":["string","null"]},"message_hash":{"type":["string","null"]},"domain_separator":{"type":["string","null"]},"verifier_contract":{"type":["string","null"]}}}}}}},"responseSchema":{"type":"json","example":{"note":"Compare 'hash_to_sign' with the one your wallet shows: if they match, you are signing exactly this.","type":"TransferWithAuthorization","alerts":[],"network":"Base","summary":{"for":"0x2222222222222222222222222222222222222222","since":"0x1111111111111111111111111111111111111111","token":"USDC oficial","action":"Authorize a payment (EIP-3009, the one x402 uses on EVM networks)","amount":"0.01 USDC","valid_since":"2026-09-28 22:21 UTC","valid_until":"2026-09-28 22:27 UTC"},"verdict":"ok","application":"USD Coin","hash_to_sign":"0x06a81ecc73b8782ba9eb12a8dabd4e939c996fdf315485be12b25b0272724806","message_hash":"0xa77c7438121ad832f331edb2dd5a83d0eb089d6d9ebc14b26dc245ea9f447b32","domain_separator":"0x02fa7265e7c5d81118673727957699e4d68f74cd74b7db77da710fe8a2c7834f","verifier_contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}},"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_hiWhW58sAyj4DUNisFUWj","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 and audits EIP-712 typed-data signature requests (x402/EIP-3009, EIP-2612 permits, Permit2, Seaport) before signing, flagging risks and returning the exact hash to verify against your wallet.","exampleAgentPrompt":"Before I sign this, can you decode this EIP-712 typed-data object and tell me what I'm actually authorizing — the token, amount, recipient, validity window — and flag anything suspicious like unlimited allowances or long expiry? Here's the signature data: {domain: {name: 'USD Coin', version: '2', chainId: 8453, verifyingContract: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'}, types: {TransferWithAuthorization: [...]}, primaryType: 'TransferWithAuthorization', message: {from: '0x111...', to: '0x222...', value: '10000', validAfter: 0, validBefore: 9999999999, nonce: '0xabc...'}}","exampleUseCases":[{"title":"Verify x402 payment before signing","prompt":"I'm about to sign an EIP-3009 TransferWithAuthorization for an x402 payment — can you decode this typed-data object and tell me the exact USDC amount, recipient, and validity window, and confirm the hash matches what my wallet shows? Here's the full EIP-712 data: {domain: {name:'USD Coin', chainId:8453}, primaryType:'TransferWithAuthorization', message:{value:'1000000', validBefore:'1800000000', ...}}"},{"title":"Audit Permit2 order for risks","prompt":"Before I approve this Permit2 signature, decode it for me — I want to know if the allowance is unlimited, how long it's valid for, and whether the verifier contract is a known legitimate address. Here's the EIP-712 object: {domain: {name:'Permit2', chainId:1, verifyingContract:'0x000000000022D473030F116dDEE9F6B43aC78BA3'}, primaryType:'PermitSingle', message:{...}}"},{"title":"Check Seaport order before marketplace listing","prompt":"I got a Seaport order to sign from an NFT marketplace — can you break down exactly what I'm agreeing to, flag any unusual terms like weird expiry dates or non-standard tokens, and give me the hash to compare against MetaMask? EIP-712 data: {domain:{name:'Seaport', version:'1.5', chainId:1, verifyingContract:'0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC'}, primaryType:'OrderComponents', message:{...}}"}],"resultDescription":"Returns a decoded summary including: the signature type (e.g. TransferWithAuthorization, Permit), network, token name and official status, amount, from/to addresses, validity window, verifier contract, and a verdict (ok/warning/danger). Also returns the computed hash_to_sign, message_hash, and domain_separator so you can cross-check against your wallet's displayed hash. Alerts array flags issues like unlimited allowances, long validity periods, or unrecognized tokens.","failureModes":["Malformed or incomplete EIP-712 object missing required fields (domain, types, primaryType, message) returns a validation error","Unknown or unsupported signature type may return limited decoding with reduced context","Unrecognized token contract address flagged as non-official in alerts rather than causing failure","Network not supported may result in incomplete network metadata","Payment failure (insufficient USDC balance) blocks the call entirely"],"whenToPreferThis":"Use this endpoint when an agent or user is about to sign an EIP-712 typed-data message and needs a human-readable explanation of what they are authorizing before committing. Especially valuable for x402/EIP-3009 payment flows, EIP-2612 permits, Permit2 batch approvals, and Seaport marketplace orders where the raw typed data is opaque. Prefer this over generic blockchain explorers when you need structured risk analysis (unlimited allowance flags, validity window warnings, non-official token detection) and a verifiable hash to compare against wallet UI output.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T18:53:26.493Z","isFirstParty":false,"canonicalSlug":"eip-712-typed-data-signature-reviewer-18f49c3d"}