# OP Mainnet ERC-20 Allowance Lookup

> OP Mainnet ERC-20 Allowance Lookup is a paid API for AI agents from ca-tax-api-mainnet.lxtap.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-23).

Returns the ERC-20 token allowance on OP Mainnet, including how much a spender may transfer from an owner, whether the approval is unlimited, the owner's current balance, and the transferable amount.

## Facts

- Endpoint: GET https://ca-tax-api-mainnet.lxtap.workers.dev/optimism/allowance?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/op-mainnet-erc-20-allowance-lookup-a3f9f1cd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OkUwE2RHPuAV0QHIx9suB

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 op-mainnet-erc-20-allowance-lookup-a3f9f1cd
```

Example prompt: Check the ERC-20 allowance on OP Mainnet for token 0x7F5c764cBc14f9669B88837ca1490cCa17c31607 — I want to know how much the spender 0xE592427A0AEce92De3Edee1F18E0157C05861564 is approved to transfer from owner 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045, whether it's unlimited, and how much they could actually move right now.

## When to prefer this

Use this endpoint when you specifically need ERC-20 allowance data on OP Mainnet (Optimism). Prefer it over Ethereum or Base equivalents when the token and addresses are on Optimism. It is the right choice for auditing DeFi approvals, checking pre-swap permissions, or verifying whether a spender has unlimited or bounded access to an owner's tokens on Optimism.

## Known failure modes

- Invalid Ethereum address format for token, owner, or spender — returns 400 error
- Token address does not correspond to a valid ERC-20 contract on OP Mainnet — may return zero or error
- RPC node timeout or OP Mainnet congestion causing delayed or failed response
- Missing required query parameters — returns validation error
- Non-existent allowance returns zero values without error

## How this service works

Pay-per-call data for AI agents, paid in USDC on Base with x402: token risk checks (rug check) on Base, Ethereum, Arbitrum, Optimism, Polygon and Solana, onchain reads (balances, transactions, gas, contracts, NFTs, whale trades, new pools, ENS and Basenames), ECB exchange rates, and Canadian sales tax and business days.

## Output

Returns a structured object with the numeric allowance granted to the spender, a boolean indicating whether the approval is effectively unlimited (e.g. max uint256), the owner's current token balance, and the actual amount the spender could transfer right now (the lesser of allowance and balance).

## 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 OP Mainnet"
      },
      "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": "60000000",
  "chain": "optimism",
  "owner": "0x9B1e7350517c2C94a990e55aC6c20De37675c703",
  "token": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
  "symbol": "USDC",
  "spender": "0xFb4e4811C7A811E098A556bD79B64c20b479E431",
  "allowance": "60",
  "unlimited": false,
  "ownerBalance": "66.148476",
  "spendableNow": "60"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/op-mainnet-erc-20-allowance-lookup-a3f9f1cd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ca-tax-api-mainnet.lxtap.workers.dev](https://www.zero.xyz/host/ca-tax-api-mainnet.lxtap.workers.dev/llms.txt)
