# Beggar Bot EIP-3009 Authorization Verifier

> Beggar Bot EIP-3009 Authorization Verifier is a paid API for AI agents from beggar-bot-demand.beggarbot.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-11-02).

Validates an EIP-3009 transferWithAuthorization signature against a USDC authorization object on a specified EVM chain

## Facts

- Endpoint: POST https://beggar-bot-demand.beggarbot.workers.dev/v1/eip3009?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/beggar-bot-eip-3009-authorization-verifier-db2cfb0f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nIiGvL0AKkazNbrzLMwmm

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 beggar-bot-eip-3009-authorization-verifier-db2cfb0f -d '<json body>'
```

Example prompt: Check whether this EIP-3009 USDC authorization signature is valid on Base mainnet — the authorization is from 0xABC...to 0xDEF..., value 1000000, validAfter 0, validBefore 9999999999, nonce 0x1234..., and the signature is 0x65bytes....

## When to prefer this

Use this endpoint when you need to cryptographically verify an EIP-3009 USDC transferWithAuthorization signature off-chain before submitting it on-chain, or when building payment flows that accept signed USDC authorizations and need to authenticate them cheaply without running your own node. Prefer this over DIY signature recovery when you need multi-chain support (Base, Ethereum, Arbitrum, Optimism, Polygon, Avalanche) and want a simple API call rather than implementing ecrecover and EIP-712 domain hashing yourself.

## Known failure modes

- Invalid or malformed 65-byte signature returns validation failure
- Mismatched authorization fields (wrong chain ID, wrong contract address) cause verification failure
- Expired authorization (validBefore in the past) reported as invalid
- Payment of $0.02 USDC via x402 required per call; missing payment returns 402
- Unsupported chain string returns error
- Nonce already used on-chain may not be detectable without on-chain lookup

## How this service works

Paid: /v1/verify, /v1/risk, /v1/receipt cost $0.01 USDC per call on Base mainnet via x402 (payTo 0x719227f384b66BFEF00093D6d8d32fA9dC2B40e7); utilities analyze Base mainnet (USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) by default, network=base-sepolia optional; /v1/receipt/verify and discovery files are free. Operator: Beggar Bot.

## Output

Returns a JSON object indicating whether the EIP-3009 signature is valid, the recovered signer address, and any error details if the signature is invalid or the authorization parameters are malformed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chain": {
   "type": "string",
   "description": "base (default), base-sepolia, ethereum, arbitrum, optimism, polygon, avalanche"
  },
  "signature": {
   "type": "string",
   "description": "0x 65-byte signature"
  },
  "authorization": {
   "type": "object",
   "description": "{from,to,value,validAfter,validBefore,nonce}"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/beggar-bot-eip-3009-authorization-verifier-db2cfb0f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from beggar-bot-demand.beggarbot.workers.dev](https://www.zero.xyz/host/beggar-bot-demand.beggarbot.workers.dev/llms.txt)
