EIP-712 Typed Data & Uniswap Permit2 Phishing Signature Decoder
decode_eip712_permit_signatureDecodes EIP-712 and Uniswap Permit2 off-chain typed-data payloads to verify spender identity, detect unlimited (uint256.max) token approvals, and flag expired deadlines. Use when inspecting an off-chain eth_signTypedData_v4 or Permit2 payload before signing; for decoding raw on-chain hex transaction calldata (0x...) for eth_sendTransaction, use simulate_evm_transaction_calldata instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'typed_data_json' ('chain_id' defaults to '1'), supports '?demo=true' or L402 (20 sats), and returns HTTP 400 if invalid.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain_id | No | EVM chain ID used to verify canonical router spender addresses; defaults to '8453' (Base) when omitted. | |
| typed_data_json | Yes | JSON string or object containing the EIP-712 / Permit2 message (spender, amount, deadline). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| signing_verdict | Yes | Safety recommendation ('SAFE_BOUNDED_PERMIT' or 'CRITICAL_UNLIMITED_APPROVAL_UNVERIFIED_SPENDER'). | |
| spender_address | Yes | Normalized lowercase EVM address of the permit spender. | |
| spender_identity | Yes | Identified protocol router label or 'Unknown Third-Party Spender'. | |
| unlimited_approval_detected | Yes | True if the approval value equals uint256.max / uint160.max. |