{"uid":"cap_4LfKXMMFnw0PDg9og02Tn","slug":"erc-20-allowance-risk-check-554555da","name":"ERC-20 Allowance Risk Check","description":"Pay-per-call data API for AI agents. No API key, no account, no signup — pay USDC on Base (eip155:8453) per request; free /api/meta lists all 24 endpoints. One call each: web page to LLM-ready text and link previews; China A-share quotes and limit-up pool; Chinese text and pinyin; Base/Ethereum on-chain reads (address, token, ERC-20 balances, tx, blocks, transfer history, gas price in USD); NFT records (collection, owner, and ipfs:// tokenURI resolved through public gateways); full-page screenshots; email verification without sending mail; ENS forward/reverse resolution; smart-contract due diligence (ABI, verified source, proxy); token security facts (owner, renounced ownership, paused, bytecode capability selectors); domain dossier (RDAP, DNS, TLS certificate, HTTP facts, hosting network); a one-call rule-based contract verdict (published-weights exposure score, owner/pause/proxy/capability facts, every reason with evidence); and an ERC-20 allowance risk check that returns the live allowance matrix for one wallet across up to 10 spenders (unlimited flags, contract/EOA status, exact revoke calls) with a single verdict.","url":"https://api.zlovev.com/api/chain/allowance-risk?utm_source=zero.xyz","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":["owner"],"properties":{"chain":{"enum":["base","eth"],"type":"string","description":"base = Base mainnet (eip155:8453), eth = Ethereum mainnet (eip155:1). Default base"},"owner":{"type":"string","description":"Wallet address (0x + 40 hex)"},"token":{"type":"string","description":"ERC-20 contract address; default = USDC on the chosen chain"},"spenders":{"type":"string","description":"Comma-separated spender addresses (max 10); default = common protocol router table"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"ok":true,"block":51518553,"chain":"base","owner":"0x5c673769fbfbe227affbabc27ef1fbf2665d9ebb","scope":{"checked":5,"max_spenders":10,"spender_source":"default_router_table"},"token":{"symbol":"USDC","address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","balance":0,"decimals":6,"balance_raw":"0"},"network":"eip155:8453","verdict":{"label":"clean","counts":{"low":0,"high":0,"none":5,"medium":0,"unknown":0},"headline":"已检查的 5 个 spender 上均无未撤销授权"},"spenders":[{"risk":"none","label":"permit2","permit2":true,"spender":"0x000000000022d473030f116ddee9f6b43ac78ba3","allowance":0,"unlimited":false,"allowance_raw":"0","exceeds_balance":false,"spender_is_contract":true}]}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","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.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_dUujZd33ISeaJwSnk4bNK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns live ERC-20 token allowances for a wallet across common protocol spenders, with risk labels and unlimited-approval flags, on Base or Ethereum mainnet.","exampleAgentPrompt":"Check my wallet 0x5c673769fbfbe227affbabc27ef1fbf2665d9ebb for risky USDC allowances on Base — I want to know if any spender has an unlimited or suspicious approval I should revoke.","exampleUseCases":[{"title":"Pre-transfer wallet security audit","prompt":"Before I move my funds, can you check wallet 0xAbc123...def for any risky or unlimited USDC allowances on Base across common DeFi routers?"},{"title":"Post-hack triage for drained wallet","prompt":"My Ethereum wallet 0xDead...Beef just got drained — can you pull all the token allowances it had granted so I can figure out which protocol was exploited?"},{"title":"Routine DeFi approval hygiene check","prompt":"Run an allowance risk check on my Base wallet 0x1234...5678 for the USDC token and flag any spender that has an unlimited or balance-exceeding approval I should clean up."}],"resultDescription":"A JSON object with: the block number of the check, chain and network identifiers, wallet balance and token metadata (symbol, decimals, address), a high-level verdict (clean/risky/etc.) with counts by risk level and a headline summary, and a per-spender array each containing the allowance amount (raw and formatted), whether it's unlimited, whether it exceeds the current balance, the risk label, whether the spender is a contract, whether it's Permit2, and a human-readable label.","failureModes":["Missing or invalid owner address returns a validation error","More than 10 spender addresses returns an error","Unsupported chain value returns a 400-level error","Token contract address not found on the chosen chain may return empty or error","Network congestion or RPC failure may return a 5xx error","Payment not received (x402) returns a 402 Payment Required response"],"whenToPreferThis":"Choose this endpoint when you need a one-call, risk-labelled summary of all ERC-20 allowances a wallet has granted, particularly for security audits, post-incident triage, or DeFi hygiene checks. It is superior to raw on-chain reads because it aggregates multiple spenders, applies risk scoring, and flags unlimited or balance-exceeding approvals automatically. Prefer it over generic blockchain RPC calls when you want interpreted risk output rather than raw allowance integers.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T00:40:57.477Z","isFirstParty":false,"canonicalSlug":"erc-20-allowance-risk-check-554555da"}