# Arbitrum ERC-20 Allowance Checker

> Arbitrum ERC-20 Allowance Checker is a paid API for AI agents from agent-data-tools.revmesh2074.workers.dev, paid per call via x402, $0.01/call, status unknown.

Returns the ERC-20 token allowance (raw and human-readable) that a spender is approved to move from an owner's wallet on Arbitrum One, plus whether the approval is unlimited.

## Facts

- Endpoint: GET https://agent-data-tools.revmesh2074.workers.dev/arb/allowance?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Activations on Zero: 0
- Provider: agent-data-tools.revmesh2074.workers.dev
- Website: https://agent-data-tools.revmesh2074.workers.dev
- Canonical page: https://www.zero.xyz/c/agent-data-tools-revmesh2074-workers-dev-arbitrum-erc-20-allowance-29b25b88
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3IrKzH0OJPuItdndDP4bw

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 agent-data-tools-revmesh2074-workers-dev-arbitrum-erc-20-allowance-29b25b88
```

Example prompt: Can you check how much USDC Uniswap Permit2 (0x000000000022D473030F116dDEE9F6B43aC78BA3) is allowed to spend from my Arbitrum wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045, and tell me if the approval is unlimited?

## When to prefer this

Use this endpoint when you need to check the ERC-20 spend approval for a specific owner-spender pair on Arbitrum One before a swap, DeFi interaction, or security audit. It supports both ticker symbols (USDC, WETH) and raw contract addresses, and explicitly flags unlimited approvals — making it ideal for both pre-transaction validation and security auditing. Use arb_token_balance instead if you need the owner's actual token balance rather than an approval amount. For allowance checks on other chains (Polygon, Optimism, Base, Ethereum), use the equivalent chain-specific endpoint.

## Known failure modes

- 404 - token ticker or contract address not found on Arbitrum (not charged)
- 422 - contract address exists but does not implement ERC-20 interface (not charged)
- Invalid owner or spender address format causing a bad request
- RPC timeout or Arbitrum node unavailability causing a transient error
- Querying a token with non-standard decimals may cause unexpected allowance formatting

## How this service works

ERC-20 token allowance on Arbitrum One: how much a spender may move from an owner's wallet (allowance), raw and in token units, and whether the approval is unlimited. Use to check an approval before a swap or to audit risky open approvals; for the owner's balance use arb_token_balance. Token is a ticker (USDC, USDT, WETH…) or a 0x contract; a missing contract is 404 and a non-ERC-20 422, both uncharged.

## Output

Returns a JSON object with: the human-readable allowance amount (string, in token units), the raw allowance in base units, a boolean 'unlimited' flag indicating a max-uint256 approval, the token symbol, decimals, chain name, chain ID, and the owner and spender addresses. A 404 means the token contract was not found; a 422 means the contract exists but is not ERC-20 compliant; both are uncharged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "token",
  "owner",
  "spender"
 ],
 "properties": {
  "owner": {
   "type": "string",
   "description": "0x wallet that gave the approval"
  },
  "token": {
   "type": "string",
   "description": "Token: a ticker such as USDC or WETH, or the 0x ERC-20 contract address"
  },
  "spender": {
   "type": "string",
   "description": "0x contract or wallet allowed to spend (the example is Uniswap Permit2)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "raw": {
   "type": "string"
  },
  "chain": {
   "type": "string"
  },
  "owner": {
   "type": "string"
  },
  "token": {
   "type": "string"
  },
  "symbol": {
   "type": "string"
  },
  "chainId": {
   "type": "number"
  },
  "spender": {
   "type": "string"
  },
  "decimals": {
   "type": "number"
  },
  "allowance": {
   "type": "string"
  },
  "unlimited": {
   "type": "boolean"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-data-tools-revmesh2074-workers-dev-arbitrum-erc-20-allowance-29b25b88/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-data-tools.revmesh2074.workers.dev](https://www.zero.xyz/host/agent-data-tools.revmesh2074.workers.dev/llms.txt)
