# ERC-20 Token Allowance Checker

> ERC-20 Token Allowance Checker is a paid API for AI agents from chain.openverbs.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Returns the live on-chain spending allowance an owner has granted to a spender for a given ERC-20 token, including raw amount, decimal-formatted amount with symbol, and an unlimited-approval flag.

## Facts

- Endpoint: POST https://chain.openverbs.com/v1/token-allowance
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/erc-20-token-allowance-checker-78009752
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_noFvJ3SFqxuGtRJc9bOi_

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 erc-20-token-allowance-checker-78009752 -d '<json body>'
```

Example prompt: Check how much USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) my wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 has approved for Uniswap's router (0xE592427A0AEce92De3Edee1F18E0157C05861564) on Ethereum — and tell me if it's an unlimited approval.

## When to prefer this

Use this endpoint when you need live, on-chain ERC-20 allowance data for a specific owner-spender pair on a supported EVM chain (Ethereum, Base, Arbitrum, Optimism, Polygon). It is the right choice for pre-transaction approval audits, DeFi risk screening, or detecting unlimited approvals, because it reads directly from the contract with automatic RPC fallback for reliability. Prefer this over block explorer lookups when you need programmatic access and structured output including the isUnlimited flag.

## Known failure modes

- Invalid Ethereum address format for owner, spender, or token returns a validation error
- Unsupported chain name returns an enum validation error
- Token address is not an ERC-20 contract causes the allowance call to revert or return an error
- Network RPC endpoint temporarily unavailable triggers automatic fallback but may still time out
- Zero allowance is a valid response and not an error — agent must distinguish no approval from an error

## How this service works

Live ERC-20 spending allowance an owner has granted a spender: calls `allowance(owner, spender)` on the token and returns the raw amount, a decimal-formatted amount (using the token's decimals) with its symbol, and an `isUnlimited` flag for effectively-infinite approvals. Use it to audit token approvals / approval risk before signing. Reads live on-chain data with automatic endpoint fallback.

## Output

Returns the raw allowance as a big integer string, a human-readable decimal-formatted amount with the token's symbol (e.g. '1000.00 USDC'), and an isUnlimited boolean flag indicating whether the approval is effectively infinite (e.g. max uint256).

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "type": "object",
     "properties": {
      "token": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "ERC-20 token contract address."
      },
      "owner": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Token holder that granted the approval."
      },
      "spender": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Approved spender address."
      },
      "chain": {
       "type": "string",
       "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon"
       ],
       "description": "EVM chain to query. One of: ethereum, base, arbitrum, optimism, polygon. Default \"ethereum\"."
      }
     },
     "additionalProperties": false
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  }
 },
 "required": [
  "input"
 ]
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/erc-20-token-allowance-checker-78009752/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from chain.openverbs.com](https://www.zero.xyz/host/chain.openverbs.com/llms.txt)
