BotX402 Base Address Balance API
The Base Address Balance API from BotX402 — 1 operation(s) for base address balance.
The Base Address Balance API from BotX402 — 1 operation(s) for base address balance.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/botx402-io:botx402-io-base-address-balance-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact:
email: hello@botx402.io
name: botx402
url: https://botx402.io/agents
description: botx402 sells paid lookups and one-shot reports to AI agents and the people they work for, with no account or API key. Each catalog resource (a path with an x-payment-info price) is paid per call over x402 v2 (USDC on Base) or, where listed, MPP (tempo charge, USDC.e on Tempo). GET /api/v1/agent/bots lists the bots on offer (the list can be empty); each bot is paid per run over x402 v2, or by card through the MCP server at /mcp.
license:
name: Proprietary
title: botx402 Base Address Balance API
version: 0.1.0
x-category: Data
x-guidance: 'Catalog resources (each path below with an x-payment-info price) are paid per call: the first request returns 402 with an x402 v2 PAYMENT-REQUIRED header (USDC on Base) and, where listed, an MPP WWW-Authenticate: Payment challenge (tempo charge, USDC.e on Tempo); pay either and retry with PAYMENT-SIGNATURE or Authorization: Payment. Bots: POST https://api.botx402.io/api/v1/agent/<slug>/run with {"inputs": {...}} (each bot''s schema is in its requestBody). The first call returns 402 with a PAYMENT-REQUIRED header (x402 v2, USDC on Base); sign an EIP-3009 authorization for accepts[0] and retry with PAYMENT-SIGNATURE. The 200 response has receipt_id and access_token; poll /api/v1/agent/runs/<receipt_id> with X-Access-Token until completed. Assistants can use the MCP server at https://api.botx402.io/mcp instead (card checkout a person pays).'
x-logo:
altText: botx402
url: https://botx402.io/icon-512.png
servers:
- url: https://botx402.io
tags:
- name: Base Address Balance
paths:
/base-address-balance:
post:
description: 'Returns the native ETH balance and ERC-20 token balances of one Base wallet address, read live from Base mainnet at the latest block: USDC, WETH and the rest of the top 200 Base tokens by market cap, plus up to 50 token contract addresses named in the request. Each row carries the token symbol, name, decimals, raw amount and human-readable amount. Suited to checking a wallet''s current holdings before a payment, transfer or swap; returns no labels, identities, USD values or portfolio valuation.'
operationId: base_address_balance
requestBody:
content:
application/json:
schema:
$schema: https://json-schema.org/draft/2020-12/schema
additionalProperties: false
description: One Base wallet address, and optionally ERC-20 token contract addresses to read beyond the fixed list. The request shape of Nansen's profiler/address/current-balance.
properties:
address:
description: The Base wallet address (0x and 40 hex characters) whose token balances are read.
pattern: ^0x[0-9a-fA-F]{40}$
type: string
chain:
description: The chain to read. Only "base" is served; any other value returns 400.
type: string
filters:
description: Accepted only when empty.
maxProperties: 0
type: object
hide_spam_token:
description: Accepted for compatibility. Holdings come from a fixed list of tokens, so there is no spam to hide.
type: boolean
order_by:
description: Accepted only when empty. Rows come native token first, then by the token list's rank.
maxItems: 0
type: array
pagination:
additionalProperties: false
properties:
page:
minimum: 1
type: integer
per_page:
maximum: 250
minimum: 1
type: integer
type: object
token_addresses:
description: ERC-20 token contract addresses to read beyond the fixed list of the top 200 Base tokens.
items:
pattern: ^0x[0-9a-fA-F]{40}$
type: string
maxItems: 50
type: array
uniqueItems: true
required:
- chain
- address
type: object
required: true
responses:
'200':
content:
application/json:
schema:
$schema: https://json-schema.org/draft/2020-12/schema
properties:
block_number:
description: The Base block every balance was read at.
type: integer
data:
description: 'Non-zero balances: native ETH first (token_address is the zero address), then tokens by the list''s rank, then caller-supplied tokens.'
items:
properties:
address:
type: string
chain:
type: string
token_address:
type: string
token_amount:
type: number
token_amount_raw:
description: The exact balance in the token's smallest unit.
type: string
token_decimals:
type: integer
token_name:
type: string
token_symbol:
type: string
required:
- chain
- address
- token_address
- token_symbol
- token_amount
- token_amount_raw
type: object
type: array
pagination:
properties:
is_last_page:
type: boolean
page:
type: integer
per_page:
type: integer
required:
- page
- per_page
- is_last_page
type: object
required:
- block_number
- pagination
- data
type: object
description: The answer.
'400':
description: The input doesn't match the schema. Nothing is charged.
'402':
description: 'Payment required: x402 v2 in PAYMENT-REQUIRED and, where offered, MPP in WWW-Authenticate: Payment.'
headers:
PAYMENT-REQUIRED:
description: base64(JSON x402 v2 PaymentRequired)
schema:
type: string
WWW-Authenticate:
description: 'An MPP challenge: Payment id, realm, method, intent, request, expires'
schema:
type: string
summary: Base wallet balances
x-payment-info:
offers:
- amount: '10000'
currency: '0x20c000000000000000000000b9537d11c60e8b50'
description: 'Returns the native ETH balance and ERC-20 token balances of one Base wallet address, read live from Base mainnet at the latest block: USDC, WETH and the rest of the top 200 Base tokens by market cap, plus up to 50 token contract addresses named in the request. Each row carries the token symbol, name, decimals, raw amount and human-readable amount. Suited to checking a wallet''s current holdings before a payment, transfer or swap; returns no labels, identities, USD values or portfolio valuation.'
intent: charge
method: tempo
price:
amount: '0.010000'
currency: USD
mode: fixed
protocols:
- x402: {}
- mpp:
currency: '0x20c000000000000000000000b9537d11c60e8b50'
intent: charge
method: tempo
tags:
- Base Address Balance