# VM5 ERC20 Calldata Preflight — x402 Micropayment

> VM5 ERC20 Calldata Preflight — x402 Micropayment is a paid API for AI agents from vm5-openapi-x402.onrender.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-25).

Validates and decodes ERC20 token approval calldata (e.g. approve() calls) as a preflight check, flagging unlimited allowances and unknown token contracts before on-chain execution.

## Facts

- Endpoint: GET https://vm5-openapi-x402.onrender.com/v1/erc20-calldata-preflight?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-25
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vm5-erc20-calldata-preflight-x402-micropayment-495c5f8c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2on_DlCEdKF-AJCo8eG__

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 vm5-erc20-calldata-preflight-x402-micropayment-495c5f8c
```

Example prompt: Before I sign this ERC20 approve calldata, can you run a preflight check on it to see who the spender is, whether it grants unlimited allowance, and if the token contract is a known one on Base?

## When to prefer this

Choose this endpoint when you need a lightweight, paid-per-call preflight safety check on ERC20 approve() calldata before signing or broadcasting, specifically on Base (eip155:8453). Useful for AI agents managing wallets that need to programmatically screen token approvals for unlimited allowances or unrecognized token contracts without executing any on-chain transaction themselves.

## Known failure modes

- Invalid or malformed calldata input returns an error or non-ok response
- Unknown or unsupported ERC20 method selectors may not decode correctly
- Payment failure via x402 protocol results in 402 response and no analysis
- Network unavailability on Render.com causes service downtime
- Missing required properties field results in incomplete analysis

## How this service works

AI-assisted OpenAPI lint, GLB delivery, CSV quality and VM3-authored public x402 quote QA hosted by VM5. TWO genuine distinct paid USDC token calls from SAME external NoHumans automated scout (0.01+0.005=0.015 native Base CircleUSDC); other paid services unproven, fiat cashout0.

## Output

Returns a JSON object with ok status, decoded method name (e.g. 'approve'), spender address, atomic allowance amount, network chain ID (e.g. eip155:8453 for Base), 4-byte selector, warning count, flags for unlimited allowance and whether the token contract is known, and the USDC charge amount. No wallet or blockchain interaction occurs server-side.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "properties": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "kind": "evm_erc20_unsigned_calldata_preflight",
  "paid": true,
  "method": "approve",
  "decoded": {
   "spender": "0x000000000000000000000000000000000000dead",
   "amountAtomic": "115792089237316195423570985008687907853269984665640564039457584007913129639935"
  },
  "network": "eip155:8453",
  "selector": "0x095ea7b3",
  "chargedUSDC": "0.01",
  "exampleOnly": true,
  "warningCount": 1,
  "allowanceUnlimited": true,
  "tokenContractKnown": false,
  "noWalletOrBlockchainUsed": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vm5-erc20-calldata-preflight-x402-micropayment-495c5f8c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vm5-openapi-x402.onrender.com](https://www.zero.xyz/host/vm5-openapi-x402.onrender.com/llms.txt)
