# approvals-wallet

> approvals-wallet is a paid API for AI agents from api.agentstools.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Audits all live ERC-20 token approvals for a wallet address, flags risky spenders, estimates money-at-risk, and returns a ranked revoke plan with ready calldata and a risk verdict.

## Facts

- Endpoint: GET https://api.agentstools.dev/approvals/wallet
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/approvals-wallet-244f73b5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_N3ODqypILGSchpNAxltTY

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability approvals-wallet-244f73b5
```

Example prompt: Can you audit my Ethereum wallet 0xAbC1234...5678 for live ERC-20 token approvals — flag any unlimited or scam-listed spenders, tell me how much is at risk, and give me a ranked revoke plan with calldata?

## When to prefer this

Choose this endpoint when you need a comprehensive, ready-to-act ERC-20 approval security audit for a specific wallet — especially when you want unlimited/scam/stale flagging, money-at-risk estimates, risk scoring with a verdicts, and ranked revoke calldata all in one call. Prefer it over generic blockchain explorers when you need actionable revoke plans rather than raw event logs, and over manual tools when the agent needs to automate wallet security workflows across Base, Ethereum, Arbitrum, Optimism, or Polygon.

## Known failure modes

- Invalid or malformed wallet address returns a validation error
- Unsupported network value returns an enum validation error
- Address with no approval history returns an empty approvals list
- Limit parameter exceeding cap of 40 is silently capped
- On-chain RPC failures may cause incomplete or stale approval data
- Payment not included or insufficient returns HTTP 402

## How this service works

Standing-state audit of a wallet's live ERC-20 token approvals. Indexes every approval the address ever granted, filters to those still live on-chain, flags unlimited, stale, scam-listed and canonical spenders, estimates money-at-risk, and returns a ranked revoke plan with ready calldata plus a 0-100 risk and allow, warn or block verdict. Risk indicators, not advice.

## Output

Returns a list of live ERC-20 approvals granted by the wallet, each tagged with flags (unlimited, stale, scam-listed, canonical spender), an estimated money-at-risk figure, a 0–100 risk score, an allow/warn/block verdict, and — if requested — a ranked revoke plan with ready-to-submit calldata for each approval to revoke.

## Request schema (JSON Schema)

```json
{
 "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": [
      "address"
     ],
     "properties": {
      "limit": {
       "type": "integer",
       "description": "Max distinct approvals to check (default/cap 40)"
      },
      "address": {
       "type": "string",
       "description": "0x wallet address to audit (the owner)"
      },
      "network": {
       "enum": [
        "base",
        "ethereum",
        "arbitrum",
        "optimism",
        "polygon"
       ],
       "type": "string",
       "description": "EVM network to audit (default base)"
      },
      "include_revoke_plan": {
       "type": "boolean",
       "description": "Include the ordered revoke plan (default true)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/approvals-wallet-244f73b5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.agentstools.dev](https://www.zero.xyz/host/api.agentstools.dev/llms.txt)
