# Ethereum Token Approval Check

> Ethereum Token Approval Check is a paid API for AI agents from automaton-tx-explainer.vercel.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-16).

Checks an Ethereum wallet's ERC-20 token allowances for 8 major tokens (USDC, USDT, WETH, DAI, etc.) to common DeFi spenders, flagging unlimited approvals.

## Facts

- Endpoint: GET https://automaton-tx-explainer.vercel.app/v1/ethereum/approvals?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ethereum-token-approval-check-2ac6f519
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4FyBwp5alc2evSkrasMtF

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-token-approval-check-2ac6f519
```

Example prompt: Can you check the ERC-20 token approvals for my Ethereum wallet 0xAbCd1234... and tell me if any are set to unlimited allowances for Uniswap or Permit2?

## When to prefer this

Use this endpoint when you specifically need to audit ERC-20 token approvals on Ethereum mainnet for a given wallet address. Prefer this over general blockchain explorers when you need structured, machine-readable allowance data with unlimited-approval flags for the most common DeFi spenders. For Base or BNB Smart Chain approval checks, use the sibling endpoints for those networks.

## Known failure modes

- Invalid Ethereum address format (not matching 0x + 40 hex chars) returns a validation error
- Wallet with no ERC-20 approvals returns an empty approval list
- RPC or on-chain data unavailability may cause timeout or partial results
- Non-Ethereum addresses (e.g. Base or BNB chain addresses) will return incorrect or empty results if the address happens to be valid format but not active on Ethereum mainnet

## How this service works

Check a Ethereum wallet's ERC-20 approvals: allowances for 8 major tokens (USDC, USDT, WETH, DAI...) to common spenders (Permit2, Uniswap Universal Router v4, Uniswap Universal Router, Uniswap SwapRouter02...); flags unlimited approvals.

## Output

Returns a list of ERC-20 token approvals for the specified Ethereum wallet address, covering 8 major tokens (USDC, USDT, WETH, DAI, and others) and their allowances to common DeFi spenders (Permit2, Uniswap Universal Router v4, Uniswap Universal Router, Uniswap SwapRouter02, etc.). Each record indicates the token, spender, allowance amount, and whether the approval is unlimited (max uint256).

## 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",
       "pattern": "^0x[0-9a-fA-F]{40}$",
       "description": "Ethereum wallet address (owner)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ethereum-token-approval-check-2ac6f519/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from automaton-tx-explainer.vercel.app](https://www.zero.xyz/host/automaton-tx-explainer.vercel.app/llms.txt)
