{"slug":"tanod-dev-v1-chain-approvals-757ca0","title":"chainpeek (Tanod) live token approvals of a wallet","host":"tanod.dev","method":"POST","resource":"https://tanod.dev/v1/chain/approvals","category":"market","description":"chainpeek (Tanod) live token approvals of a wallet: ERC-20 and Permit2 allowances with risk flags and unsigned revoke transactions, on Base or Ethereum. Use when an agent must list and revoke its wallet's live token approvals, on a schedule or after a risky signature.","price_listed":0.005,"price_asked":0.005,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":369,"reported_calls_30d":2,"reported_payers_30d":2,"networks":["eip155:137","eip155:42161","eip155:56","eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"chain":"base","spenders":["0x8F2E6A1c3B9d7e5F0A4C2b8D6E1f3a9c7B5d0E24"],"wallet":"0x5A0b54D5dc17e0AadC383d2db43B0a0D3E029c4c"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"chain":{"description":"base or ethereum (the chains with built-in USDC and USDT here).","enum":["base","ethereum"],"type":"string"},"lookback_blocks":{"default":6000,"description":"Latest blocks scanned for approval events (0-6,000; default 6,000, about 3.3 hours on Base and 20 hours on Ethereum). 0 scans nothing and checks `spenders` and Permit2 only.","maximum":6000,"minimum":0,"type":"integer"},"spenders":{"anyOf":[{"items":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"maxItems":50,"minItems":1,"type":"array"},{"type":"null"}],"default":null,"description":"Up to 50 spender addresses whose ERC-20 and Permit2 allowances are read directly on every audited token, however old (tokens x spenders at most 200). The full-coverage path for spenders you know."},"stale_days":{"default":90,"description":"An allowance is stale when the spender pulled nothing from the wallet in this many days (1-3,650; default 90).","maximum":3650,"minimum":1,"type":"integer"},"tokens":{"anyOf":[{"items":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"maxItems":50,"minItems":1,"type":"array"},{"type":"null"}],"default":null,"description":"Up to 50 token contracts to audit. Default: USDC, USDT and up to 18 tokens the wallet has sent (from its transfer history)."},"wallet":{"description":"The wallet whose approvals are audited (0x + 40 hex).","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"}},"required":["chain","wallet"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"description":"Abridged to fit the header. Full example: the 402 JSON body. Full schema: https://tanod.dev/openapi.json POST /v1/chain/approvals","properties":{"allowances":{"type":"array"},"allowances_total":{"type":"integer"},"block":{"type":["integer","null"]},"block_timestamp":{"type":["integer","null"]},"chain":{"type":"string"},"checked":{"type":"object"},"history":{"type":"object"},"limits":{"type":"array"},"reasons":{"type":"array"},"risk":{"type":"string"},"rpc_calls":{"type":"integer"},"rules":{"type":"object"},"stale_days":{"type":"integer"},"tokens":{"type":"array"},"wallet":{"type":"string"}},"required":["chain","wallet","risk","reasons","allowances","allowances_total","tokens","checked","history","stale_days","rules","limits"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-10-18","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.005,"price_match":true,"latency_ms":369,"error":null}],"description_full":"chainpeek (Tanod) live token approvals of a wallet: ERC-20 and Permit2 allowances with risk flags and unsigned revoke transactions, on Base or Ethereum. Use when an agent must list and revoke its wallet's live token approvals, on a schedule or after a risky signature.","last_updated":"2026-10-15T04:57:48.415Z","schemes":["exact"]}