# ERC20 Token Approval Risk Scanner

> ERC20 Token Approval Risk Scanner is a paid API for AI agents from api.x402node.dev, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-14).

Scans a wallet's active ERC20 token allowances, flags unlimited approvals and unverified spenders, and returns an overall risk verdict with per-approval details.

## Facts

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

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 api-x402node-dev-a982f9e2
```

Example prompt: Can you do a security audit on my Ethereum wallet 0xAbC1234... and check if I have any unlimited or risky ERC20 token approvals granted to unverified spenders?

## When to prefer this

Use this endpoint when an AI agent needs to perform a wallet security audit focused on ERC20 token approval risks, especially before executing DeFi transactions or when a user suspects their wallet may have been exposed to malicious contracts. Prefer this over generic blockchain explorers when you need structured risk verdicts with labeled spenders and unlimited approval detection built in.

## Known failure modes

- Invalid or malformed wallet address returns an error
- Wallet with no token holdings may return an empty approvals list
- RPC or upstream data source unavailability causes a 5xx error
- Payment of 0.1 USDC not included or invalid causes a 402 payment required error
- Unsupported chain or non-ERC20 tokens may not be scanned

## How this service works

Token approval risk scan: lists active ERC20 allowances on a wallet's currently-held tokens and flags unlimited approvals (>= 2^255), especially to unverified spenders. Returns verdict (clean/low_risk/review/high_risk), unlimited count, and per-approval token symbol, spender, spender_label, allowance, is_unlimited. For AI agent wallet security audits and pre-transaction risk checks. Accepts payment on Base or Solana — either network works.

## Output

Returns a JSON object with an overall verdict (clean/low_risk/review/high_risk), a count of unlimited approvals, and an array of per-approval records each containing the token symbol, spender address, spender label, allowance amount, and a boolean is_unlimited flag.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "address"
     ],
     "properties": {
      "address": {
       "type": "string",
       "description": "EVM/chain address (required)"
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

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