{"uid":"cap_eEjB87Pete0sxQP5G1dSH","slug":"signature-decoder-3e3d46b5","name":"Signature Decoder","description":"Decode an off-chain SIGNATURE REQUEST before you sign it: EIP-712 typed data (eth_signTypedData_v4) or a plain personal_sign string. Turns the opaque request into a human-readable summary plus security risk flags for the drainer patterns wallets miss - gasless unlimited token approvals (EIP-2612 Permit, DAI permit, Uniswap Permit2) and asset-transferring marketplace orders (Seaport). Keyless, deterministic, zero network.","url":"https://sign.cyberwarex.com/decode","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","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":[],"properties":{"message":{"type":"string","description":"A plain personal_sign string (use instead of typed_data)."},"typed_data":{"type":["object","string"],"description":"EIP-712 typed data (object or JSON string) as passed to eth_signTypedData_v4: types, domain, primaryType, message."}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"kind":{"type":"string","description":"typed_data or personal_sign."},"risk":{"type":"object","description":"level (none|caution|danger) + flags."},"domain":{"type":"object","description":"EIP-712 domain (name, chainId, verifyingContract)."},"summary":{"type":"string","description":"human-readable statement of what signing does."},"disclaimer":{"type":"string"},"primaryType":{"type":"string"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_l4jWQn9Oz4XmarwOQFIKQ","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Decodes EIP-712 typed data or personal_sign requests into human-readable summaries with security risk flags for drainer patterns like Permit approvals and Seaport orders","exampleAgentPrompt":"Before I sign this, can you decode it and tell me what it actually does and whether it's dangerous — here's the typed_data 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\":\"USD Coin\",\"chainId\":1,\"verifyingContract\":\"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\"},\"primaryType\":\"Permit\",\"message\":{\"owner\":\"0xabc...\",\"spender\":\"0xdef...\",\"value\":\"115792089237316195423570985008687907853269984665640564039457584007913129639935\",\"nonce\":0,\"deadline\":9999999999}}","exampleUseCases":[{"title":"Catch unlimited token approval scam","prompt":"I got a sign request from a dApp and it looks suspicious — can you decode this typed_data and tell me if I'd be giving away unlimited token access? Here it is: {\"types\":{\"Permit\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"spender\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"nonce\",\"type\":\"uint256\"},{\"name\":\"deadline\",\"type\":\"uint256\"}]},\"domain\":{\"name\":\"DAI Stablecoin\",\"chainId\":1,\"verifyingContract\":\"0x6B175474E89094C44Da98b954EedeAC495271d0F\"},\"primaryType\":\"Permit\",\"message\":{\"owner\":\"0xabc\",\"spender\":\"0xevil\",\"value\":\"115792089237316195423570985008687907853269984665640564039457584007913129639935\",\"nonce\":0,\"deadline\":9999999999}}"},{"title":"Verify Seaport NFT order safety","prompt":"A marketplace is asking me to sign something before listing my NFT — please decode this Seaport typed_data and flag any risks: {\"types\":{\"OrderComponents\":[{\"name\":\"offerer\",\"type\":\"address\"},{\"name\":\"zone\",\"type\":\"address\"}]},\"domain\":{\"name\":\"Seaport\",\"chainId\":1,\"verifyingContract\":\"0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC\"},\"primaryType\":\"OrderComponents\",\"message\":{\"offerer\":\"0xabc\",\"zone\":\"0x000\"}}"},{"title":"Explain plain personal_sign message","prompt":"My wallet is showing a weird sign request with just a string — can you tell me what this personal_sign message actually means and if it's safe to sign? The message is: 'Sign in to CoolApp.xyz with your wallet. Nonce: 8f2e1a'"}],"resultDescription":"Returns a JSON object with: 'kind' (typed_data or personal_sign), 'summary' (plain-English explanation of what signing would do), 'risk' object with level (none/caution/danger) and specific flags for dangerous patterns like unlimited Permit approvals or asset-transferring Seaport orders, 'domain' with EIP-712 domain info, 'primaryType', and a 'disclaimer'.","failureModes":["Missing required 'typed_data' or 'message' parameter returns an error","Malformed or non-EIP-712 typed_data JSON causes a parse failure","Unknown primaryType may result in limited risk analysis with reduced flags","Very large or deeply nested typed data structures may be truncated","Payment of 0.002 USDC required per call; missing x402 payment returns 402 error"],"whenToPreferThis":"Choose this endpoint when you need to decode and risk-assess an Ethereum signing request (EIP-712 or personal_sign) before a user signs it, especially to detect token drainer patterns like EIP-2612 Permit, DAI permit, Uniswap Permit2 unlimited approvals, and Seaport asset transfers. It is deterministic and requires no network calls or private keys, making it safe and fast for pre-signing security checks in wallet UIs, DeFi agents, or security bots.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:33:53.590Z","isFirstParty":false}