# B20 Check Token Verification API

> B20 Check Token Verification API is a paid API for AI agents from b20check.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Returns a signed EIP-712 verdict on issuer powers (mint, freeze, seize, pause, admin) for any B20 token contract on Base

## Facts

- Endpoint: GET https://b20check.com/v1/verify/%7Baddress%7D
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/b20-check-token-verification-api-71ada997
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_L2Pl3WcDE0NcboIg8G4ml

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 b20-check-token-verification-api-71ada997
```

Example prompt: Before I buy this token, can you check the issuer powers on 0xb200000000000000000000f52267Ce6274432c30 using B20 Check — I want to know if the issuer can mint, freeze, seize, or pause it?

## When to prefer this

Choose this endpoint when you need a cryptographically signed, on-chain-verifiable verdict about issuer powers for a specific B20 token on Base — not just a static analysis or heuristic scan. It is the right choice when an agent or user needs an attestation they can present to a third party, when trading or listing decisions require auditability, or when the user wants a single authoritative answer about whether a token issuer can mint, freeze, seize, or pause. Prefer this over generic token scanners when the token is a B20 standard token on Base and you need EIP-712 signed proof rather than an informal risk score.

## Known failure modes

- Invalid or malformed contract address returns an error response
- Address is not a recognized B20 token — isB20 field returns false with no issuer power data
- Payment not received or x402 auth missing — returns 402 Payment Required
- Network congestion on Base may delay response
- Attestation may expire quickly (expiresAt window is short, e.g. 600 seconds) requiring a fresh call
- Token deployed via non-standard launcher may have incomplete creation metadata

## How this service works

Check any B20 token on Base before you trade. A $0.01 API call returns a signed EIP-712 verdict on issuer powers: mint, freeze, seize, pause, admin. Free demo, x402 payments, MCP connector for AI agents.

## Output

Returns a JSON object containing: a 'verdict' field (ok/warning/danger), boolean issuer power flags (canMint, canBurn, canPause, canFreeze, canSeize, adminActive), supply cap info, token creation metadata (block, txHash, creator, launcher), historical issuer activity counts (mints, burns, pauses, freezes, seizures), informational flags with severity levels, and a signed EIP-712 attestation object including signer address, issuedAt/expiresAt timestamps, pinnedBlock, attestationId, and signature — allowing on-chain or off-chain verification of the verdict.

## Request schema (JSON Schema)

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

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "flags": [
   {
    "code": "VIA_LAUNCHER",
    "detail": "Created through an intermediary launcher contract, not a direct factory call.",
    "severity": "info"
   }
  ],
  "isB20": true,
  "address": "0xb200000000000000000000f52267Ce6274432c30",
  "network": "mainnet",
  "variant": "asset",
  "verdict": "ok",
  "creation": {
   "block": 48380900,
   "params": {
    "name": "Example Token",
    "symbol": "EXTKN",
    "variant": "asset",
    "currency": null,
    "decimals": 18
   },
   "txHash": "0x9a67ce…",
   "creator": null,
   "launcher": "0x77132d…",
   "txOrigin": "0x52c8ff…",
   "timestamp": 1783491000,
   "viaLauncher": true
  },
  "attestation": {
   "domain": {
    "name": "B20 Check Attestation",
    "chainId": 8453,
    "version": "1",
    "verifyingContract": "0xb200000000000000000000f52267Ce6274432c30"
   },
   "signed": true,
   "signer": "0x1388d1e3751512955A53C7c2795Eaf8a3B029e6A",
   "issuedAt": 1783670000,
   "expiresAt": 1783670600,
   "signature": "0x8f2a…",
   "pinnedBlock": 48443612,
   "attestationId": "0x3e7197…"
  },
  "issuerPowers": {
   "canBurn": false,
   "canMint": false,
   "canPause": false,
   "canSeize": false,
   "canFreeze": false,
   "supplyCap": "1000000000000000000000000000",
   "adminActive": false,
   "supplyCapKnown": true,
   "freezeConfigured": false,
   "transferRestrictions": false
  },
  "issuerActivity": {
   "burns": 0,
   "memos": 0,
   "mints": 1,
   "pauses": 0,
   "freezes": 0,
   "seizures": 0,
   "roleChanges": 0,
   "lastActionBlock": 48380900
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/b20-check-token-verification-api-71ada997/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from b20check.com](https://www.zero.xyz/host/b20check.com/llms.txt)
