{"slug":"presign-guard-fizzl-eu-v1-approvals-fafb56","title":"Wallet approval audit (green/orange/red, grade, one-line summary)","host":"presign-guard.fizzl.eu","method":"GET","resource":"https://presign-guard.fizzl.eu/v1/approvals","category":"code","description":"Wallet approval audit (green/orange/red, grade, one-line summary): every open ERC-20 allowance of an EVM wallet with who the spender is (flagged, plain wallet, unverified, unlimited) and which ones to revoke. Bulk: 100 checks for $0.80 via /v1/credits.","price_listed":0.02,"price_asked":0.02,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":923,"reported_calls_30d":0,"reported_payers_30d":0,"networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"address":"0x28c6c06298d514db089934071355e5743bf21d60","chain":"ethereum"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET"],"type":"string"},"queryParams":{"properties":{"address":{"description":"Wallet address (0x...)","type":"string"},"chain":{"description":"EVM chain to audit","enum":["base","ethereum","arbitrum","optimism","polygon","bsc"],"type":"string"}},"required":["chain","address"],"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"properties":{"approvals":{"description":"Per allowance: token, spender (address, name, trusted, contract), amount, approvedAt, severity, codes, revoke","items":{"type":"object"},"type":"array"},"checkedAt":{"type":"string"},"grade":{"enum":["SAFE","CAUTION","RISKY","AVOID"],"type":"string"},"one_liner":{"type":"string"},"reasons":{"items":{"properties":{"code":{"type":"string"},"details":{},"severity":{"enum":["red","orange","info"],"type":"string"}},"required":["code","severity"],"type":"object"},"type":"array"},"receipt":{"description":"Signature over this whole answer (without receipt.signature), so the verdict can be verified later: EIP-191 personal_sign over canonical JSON (sorted keys, compact, ASCII-escaped). Signer addresses: /.well-known/presign-guard-signer.json; free check: POST /v1/verify.","properties":{"algorithm":{"enum":["eip191-canonical-json-v1"],"type":"string"},"cert":{"description":"The payout wallet's certificate for this signing key: personal_sign by authority over 'fizzl receipt signer\\nservice: <service>\\nsigner: <signer>\\nvalid_from: <date>'. Pin the payout wallet and a rotated key still verifies.","properties":{"authority":{"type":"string"},"service":{"type":"string"},"signature":{"type":"string"},"signer":{"type":"string"},"valid_from":{"type":"string"}},"type":"object"},"input_sha256":{"description":"sha256 of canonical JSON {route, input}: your body (POST) or query parameters (GET)","type":"string"},"payment":{"description":"The payment behind this answer, from your x402 payment payload. EVM: payer + EIP-3009 nonce; find the settlement as AuthorizationUsed(payer, nonce) on the asset contract. Solana: payer + sha256 of the signed transaction you sent.","properties":{"amount":{"type":"string"},"asset":{"type":"string"},"network":{"type":"string"},"nonce":{"type":"string"},"pay_to":{"type":"string"},"payer":{"type":"string"},"proof":{"enum":["eip3009","svm-transaction"],"type":"string"},"transaction_sha256":{"type":"string"}},"type":"object"},"request_id":{"type":"string"},"route":{"type":"string"},"signature":{"type":"string"},"signed_at":{"type":"string"},"signer":{"type":"string"}},"required":["request_id","route","input_sha256","signed_at","signer","algorithm","signature"],"type":"object"},"revokeUrl":{"type":"string"},"summary":{"description":"approvals, tokens, unlimited, toRevoke","type":"object"},"verdict":{"enum":["green","orange","red"],"type":"string"}},"required":["verdict","grade","one_liner","reasons","approvals"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-04","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.02,"price_match":true,"latency_ms":923,"error":null}],"description_full":"Wallet approval audit (green/orange/red, grade, one-line summary): every open ERC-20 allowance of an EVM wallet with who the spender is (flagged, plain wallet, unverified, unlimited) and which ones to revoke. Bulk: 100 checks for $0.80 via /v1/credits.","last_updated":"2026-10-04T14:51:36.535Z","schemes":["exact"]}