B20 token info

$0.005 per call · USDC via x402 · GET /api/b20-token-info

ERC-20 metadata plus B20 signals for any Base address: name, symbol, decimals, total supply, best-effort paused/cap, bytecode size, and whether the address carries the factory-issued 0xB200 prefix. Send GET /api/b20-token-info with the required field address and pay $0.005 per call over x402 or MPP (there is no free tier). It returns a JSON object with address, isB20, prefixMatch, name, symbol and 3 more.

Works on plain ERC-20s too (isB20 comes back false). ?address=0x…

Category: Payments & x402 · Tags: b20 base erc20 token metadata supply

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
addressstringyes0x token address on Base Also accepted as addr, wallet, account.

Example request

curl -i "https://agent402.tools/api/b20-token-info?address=0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"

Without payment this returns HTTP 402 Payment Required with the exact price for b20-token-info; any x402 v2 or MPP client pays it and retries.

Example response

{
  "address": "0x8335…2913",
  "isB20": false,
  "prefixMatch": false,
  "name": "USD Coin",
  "symbol": "USDC",
  "decimals": 6,
  "totalSupply": "…",
  "totalSupplyFormatted": "…"
}
FieldTypeAlways presentIn the example
addressstringyes0x8335…2913
isB20booleanyesfalse
prefixMatchbooleanyesfalse
namestringyesUSD Coin
symbolstringyesUSDC
decimalsnumberyes6
totalSupplystringyes…
totalSupplyFormattedstringyes…

From an MCP client

catalog.call {
  "slug": "b20-token-info",
  "params": {
    "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for b20-token-info; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/b20-token-info?address=0x833589fcd6edb6e08f4c7c32d4f71b54bda02913");

Related tools

Verify B20 token

$0.005 · GET /api/b20-verify

Boolean verdict with reasons: is this address a real factory-issued B20 on Base? Checks the 0xB200 address prefix, ERC-2…

B20 activation check

$0.002 · GET /api/b20-activation-check

Is B20 live on Base mainnet? Queries the Activation Registry precompile for base.b20_asset and base.b20_stablecoin (or a…

B20 feature id

FREE w/ compute · or $0.001 · POST /api/b20-feature-id

Pure-CPU helper: turn a B20 feature string (e.g. base.b20_asset) into its bytes32 feature id and ready-to-send isActivat…

B20 payment memos

$0.005 · GET /api/b20-memos

Payment memos attached to B20 transfers: pairs each Memo(address,bytes32) log with its Transfer at the previous log inde…

New B20 tokens

$0.005 · GET /api/b20-new-tokens

Recently deployed B20 tokens on Base: scans the factory's B20Created logs over a block window, locates each new token by…

Token total supply

$0.001 · GET /api/chain/total-supply

The circulating total supply of an ERC-20, read from the token contract itself rather than from an aggregator, so it is …