{"uid":"cap_fmT_5Qc7_o1YTcWZRiESI","slug":"presign-guard-v1-check-3b86cebe","name":"presign-guard /v1/check","description":"Is this transaction, approval or signature safe to sign? Check it before your AI agent or wallet signs it: pre-sign verdict (green/orange/red + reason codes) for EVM transactions, token approvals and Permit/Permit2/EIP-3009/Seaport signatures. Screens the spender or recipient wallet for OFAC sanctions and scam, phishing or theft reports, and flags unlimited allowances, plain-wallet spenders and risky tokens. Bulk: 100 checks for $0.80 via /v1/credits.","url":"https://presign-guard.fizzl.eu/v1/check?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"to":{"type":"string","description":"transaction: target contract"},"tx":{"type":"object","description":"xrpl: the unsigned transaction JSON"},"data":{"type":"string","description":"transaction: 0x-prefixed calldata"},"from":{"type":"string","description":"optional: your wallet; an EVM transaction is then simulated"},"lang":{"enum":["en","nl"],"type":"string","description":"explain only: en or nl"},"type":{"enum":["approval","transaction","signature","message","solana","xrpl","algorand"],"type":"string","description":"What is about to be signed"},"x402":{"type":"object","description":"optional, EIP-3009 payments: the x402 accepts entry being paid"},"token":{"type":"string","description":"approval: token contract"},"value":{"type":"string","description":"transaction: native value in wei"},"amount":{"type":"string","description":"approval: amount in base units (0 = revoke)"},"intent":{"type":"string","maxLength":500,"description":"optional: what the agent means to do, in one sentence"},"method":{"enum":["personal_sign","eth_sign"],"type":"string","description":"message: personal_sign (default) or eth_sign"},"origin":{"type":"string","description":"optional: the site asking (URL or hostname)"},"chainId":{"enum":[1,10,56,137,8453,42161],"type":"integer","description":"EVM chain; required for approval, transaction and signature"},"mandate":{"type":"object","description":"optional, EIP-3009 payments: the spending mandate paid under"},"message":{"type":"string","maxLength":16384,"description":"message: the text or 0x-hex to be signed"},"network":{"enum":["xrpl:0","xrpl:1"],"type":"string","description":"xrpl: xrpl:0 (default) or xrpl:1"},"spender":{"type":"string","description":"approval: who gets the allowance"},"typedData":{"type":["object","string"],"description":"signature: the eth_signTypedData_v4 payload"},"transaction":{"type":"string","maxLength":12000,"description":"solana: the base64 wire transaction; algorand: one base64 msgpack transaction"},"transactions":{"type":"array","items":{"type":"string"},"maxItems":16,"description":"algorand: an atomic group, each base64 msgpack"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_BJ2lUHr-i0bORd4Sl3Tum","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a green/orange/red safety verdict with reason codes for EVM transactions, token approvals, and typed-data signatures before they are signed","exampleAgentPrompt":"Before I sign this Uniswap approval on Ethereum mainnet (chain ID 1), check if it's safe — the spender is 0xE592427A0AEce92De3Edee1F18E0157C05861564, the token is 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 (USDC), and the amount is 115792089237316195423570985008687907853269984665640564039457584007913129639935 (unlimited).","exampleUseCases":[{"title":"Unlimited allowance pre-sign check","prompt":"I'm about to approve an unlimited USDC allowance on Base (chain ID 8453) for spender 0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24 — can you run a safety check and tell me if this is green, orange, or red before I sign?"},{"title":"DeFi transaction screening before execution","prompt":"Check if this Ethereum transaction is safe to send: it's going to contract 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D on chain ID 1, with calldata 0x38ed1739000000000000000000000000000000000000000000000000002386f26fc10000 and 0 ETH value — give me the risk verdict."},{"title":"Seaport signature phishing check","prompt":"Before I sign this typed data from opensea.io, can you check if it's a legitimate Seaport order or a phishing attempt? Here's the eth_signTypedData_v4 payload on chain ID 1."}],"resultDescription":"A pre-sign verdict of green (safe), orange (caution), or red (dangerous) accompanied by structured reason codes such as OFAC_MATCH, SCAM_REPORTED, UNLIMITED_ALLOWANCE, PLAIN_WALLET_SPENDER, RISKY_TOKEN, NEW_DOMAIN, or similar flags explaining the risk level.","failureModes":["Unsupported chain ID returns an error (only chains 1, 10, 56, 137, 8453, 42161 are supported)","Missing required fields for the chosen type (e.g. approval without spender) returns a 422 validation error","Malformed calldata or invalid address format causes a parsing error","Rate limiting or insufficient credits results in a 402 Payment Required response","Unrecognized typedData schema may produce an incomplete analysis"],"whenToPreferThis":"Use this endpoint when an AI agent or automated wallet is about to sign any EVM transaction, token approval, or typed-data signature and needs a fast, structured safety verdict before execution. It is especially valuable for agentic DeFi workflows where the agent cannot rely on human review, for catching OFAC-sanctioned counterparties, unlimited allowances, or phishing-style Permit/Seaport signatures. Choose this over generic contract explorers when you need a machine-readable verdict (green/orange/red + reason codes) that can gate signing logic programmatically.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T00:32:06.639Z","isFirstParty":false,"canonicalSlug":"presign-guard-v1-check-3b86cebe"}