DevX Multichain Balances
One call, nine chains. Native coin plus the major tokens for an address on Base, Ethereum, Arbitrum, Optimism, Polygon, Avalanche, BNB Chain, Solana and Tron. It is built for AI agents and apps that need to answer "what does this wallet hold?" without running their own RPC setup.
Everything here is read-only. It never asks for keys and never moves funds.
Live: https://wallet-balances.nextill-pos.workers.dev · token list: /tokens.json
CLI
How paying works: the CLI asks the API for its x402 quote, checks that it is USDC on Base, goes to 0xB3cD…f247 and is at or under --max-usd (default 0.01), then signs a gasless EIP-3009 authorization with your key via @x402/fetch. The key stays on your machine. Without a key, all prints the quote, pays nothing and exits with code 2. Since v2.0.0 the package is a thin client. It no longer ships the balance-reading code, and the addresses you query are sent to the hosted API.
MCP
Claude Desktop / Cursor (stdio):
Or remote (streamable HTTP): https://wallet-balances.nextill-pos.workers.dev/mcp (free tool + info only)
Tools: basic_balance (free), multichain_balances (0.002 USDC per call, pays only if X402_PRIVATE_KEY is set and never above 0.01 USDC, otherwise returns the quote), multichain_balances_info.
Paid hosted call (x402)
- Answers
402 with an x402 v1 body (X-PAYMENT, network base) and a v2 PAYMENT-REQUIRED header (PAYMENT-SIGNATURE, eip155:8453). Both work. POST with a JSON body works too.
- 2000 atomic USDC (0.002 USDC) to
0xB3cDDccEe6B150c8efFD55B961afc0Ecefe7f247, settled through the Coinbase CDP facilitator, listed in the CDP x402 Bazaar.
- Settled only after a result is produced. Bad input, or every chain's RPC failing, is not charged. Failed chains are listed in
summary.chains_failed.
chains defaults to every chain that matches the addresses you gave (evm = the 7 EVM chains).
Limits
- It does not discover arbitrary tokens. It checks a fixed, verified list (see
/tokens.json), and you can pass extra tokens yourself.
- On Solana it reads the owner's associated token accounts (where wallets normally keep tokens). Tokens held in other token accounts are not counted.
- The stablecoin total is face value (1 token = 1 unit), not a market price.
- Data comes from free public RPC nodes (publicnode.com with fallbacks: mainnet-beta / Tatum gateway for Solana, TronGrid for Tron). Identical calls within 20 s may be served from a short per-instance cache (
cache.hit).
OpenAPI: /openapi.json · Terms: /terms
Related DevX tools
Layout
cli/: npm package devx-multichain-balances (CLI + stdio MCP client for the hosted API), npm test
worker/: the Cloudflare Worker behind the hosted API (npm run build, npm test)
MIT. Made by DevX · [email protected]