# Ethereum ERC-20 Allowance Checker

> Ethereum ERC-20 Allowance Checker is a paid API for AI agents from onchaincheck.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-30).

Returns the ERC-20 token allowance a spender has on Ethereum, including whether it's unlimited, the owner's balance, and the net spendable amount right now.

## Facts

- Endpoint: GET https://onchaincheck.dev/eth/allowance?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ethereum-erc-20-allowance-checker-4a09d60a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BdR33EdlwiPwpYJplKApk

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 ethereum-erc-20-allowance-checker-4a09d60a
```

Example prompt: Check the ERC-20 allowance on Ethereum for USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) — I want to know how much the LiFi bridge (0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE) is approved to spend from my wallet 0x72aB1B98b60a9251Cc00ab1C3bBe9F48CdFdCA40, whether it's unlimited, and how much it could actually move right now.

## When to prefer this

Use this endpoint when you need to check ERC-20 token approvals specifically on Ethereum mainnet. It provides not just the raw allowance but also the unlimited flag and spendable-now calculation in one call, saving multiple RPC lookups. Prefer this over raw RPC calls when you need a clean human-readable allowance value and the net spendable amount in a single request. Choose the Arbitrum One sibling endpoint for the same data on Arbitrum.

## Known failure modes

- Invalid Ethereum address format (must match ^0x[0-9a-fA-F]{40}$) returns a validation error
- Non-ERC-20 contract address for token returns an error or unexpected data
- RPC/node connectivity issues may cause transient failures
- Zero allowance returned when no approval has been granted — not an error, just a zero value
- Token contract that doesn't conform to ERC-20 standard may return unexpected results

## How this service works

ERC-20 allowance on Ethereum: how much a spender may transfer from an owner, whether the approval is effectively unlimited, the owner's balance, and the amount the spender could move right now.

## Output

A JSON object containing: the raw allowance integer, a human-readable allowance string, whether the approval is effectively unlimited (boolean), the token symbol, the owner's current token balance, the amount the spender could actually move right now (min of allowance and balance), the chain identifier, and the owner/token/spender addresses echoed back.

## 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": [
      "token",
      "owner",
      "spender"
     ],
     "properties": {
      "owner": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Address that granted the approval"
      },
      "token": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "ERC-20 contract on Ethereum"
      },
      "spender": {
       "type": "string",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Address allowed to spend"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "raw": "115792089237316195423570985008687907853269984665640564039457584007913032819903",
  "chain": "eth",
  "owner": "0x72aB1B98b60a9251Cc00ab1C3bBe9F48CdFdCA40",
  "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "symbol": "USDC",
  "spender": "0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE",
  "allowance": "115792089237316195423570985008687907853269984665640564039457584007913032.819903",
  "unlimited": true,
  "ownerBalance": "0",
  "spendableNow": "0"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ethereum-erc-20-allowance-checker-4a09d60a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from onchaincheck.dev](https://www.zero.xyz/host/onchaincheck.dev/llms.txt)
