Lets an AI client retrieve native coin and token balances across seven EVM chains, Solana, and Tron using a single request.
Also known as devx-agent/multichain-balances, multichain-balances, devx-multichain-balances
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 2.1.0
- Last commit
- Oct 30, 2026
- License
- MIT
What is DevX Multichain Balances MCP?
DevX Multichain Balances lets an AI client retrieve native coin and token balances across seven EVM chains, Solana, and Tron using a single request.
Summary generated from the project's README
About DevX Multichain Balances MCP server
DevX Multichain Balances allows AI agents and developers to query native coin and token holdings across nine different networks through a single request. It supports seven EVM chains including Ethereum, Base, and Arbitrum, alongside Solana and Tron. This tool is designed for users who need to answer questions about wallet contents without managing their own RPC infrastructure. It operates as a read-only service that never requests private keys for fund movement.
Users can interact with the service via a local stdio MCP client using npx, a remote HTTP MCP endpoint, or a direct HTTP API. The basic_balance tool provides free access to one chain, such as SOL on Solana or TRX on Tron. For comprehensive data across multiple chains, the multichain_balances tool is available for 0.002 USDC per call. This paid functionality is managed through the x402 protocol on Base, requiring an X402_PRIVATE_KEY to be set in the environment for automated payments.
What you can do with it
- 1Monitor specific stablecoin amountsRequest the face-value total of stablecoins like USDC, USDT, or DAI held within a wallet.
- 2Query custom token balancesProvide specific mint addresses to find the balance of up to ten custom tokens on EVM, Solana, or Tron networks.
Written from the project's README. Every use case is checked against a quote from it.
How to install DevX Multichain Balances MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall DevX Multichain Balances MCP in Claude Code
$ claude mcp add multichain-balances -- npx -y devx-multichain-balancesInstall DevX Multichain Balances MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"multichain-balances": {
"command": "npx",
"args": [
"-y",
"devx-multichain-balances"
]
}
}
}Install DevX Multichain Balances MCP in VS Code
.vscode/mcp.json
{
"servers": {
"multichain-balances": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"devx-multichain-balances"
]
}
}
}Install DevX Multichain Balances MCP in VS Code CLI
$ code --add-mcp '{"name":"multichain-balances","type":"stdio","command":"npx","args":["-y","devx-multichain-balances"]}'Install DevX Multichain Balances MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"multichain-balances": {
"command": "npx",
"args": [
"-y",
"devx-multichain-balances"
]
}
}
}Install DevX Multichain Balances MCP in Codex
$ codex mcp add multichain-balances -- npx -y devx-multichain-balancesInstall DevX Multichain Balances MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.multichain-balances] command = "npx" args = ["-y", "devx-multichain-balances"]
Install DevX Multichain Balances MCP in Gemini CLI
$ gemini mcp add -s user multichain-balances npx -- -y devx-multichain-balancesInstall DevX Multichain Balances MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"multichain-balances": {
"command": "npx",
"args": [
"-y",
"devx-multichain-balances"
]
}
}
}Configuration
X402_PRIVATE_KEY
| Name | Description | |
|---|---|---|
| X402_PRIVATE_KEY | — |
Automated checks
Ran Nov 13, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachabledevx-agent/multichain-balances is public and reachablegithub.com/devx-agent/multichain-balances ↗Pass
- Package names this repository as its sourcedevx-multichain-balances names devx-agent/multichain-balances as sourcenpmjs.com/package/devx-multichain-balances ↗Pass
- Build provenance (Sigstore attestation)No build attestation published for this releaseNot checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-10-30github.com/devx-agent/multichain-balances ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from devx-multichain-balancesPass
- No critical advisory in the package or its dependencies117 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeinitialize answered with protocol 2025-06-18 in 92 msPass
README
View on GitHubDevX 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.
| What | Cost | |
|---|---|---|
CLI / stdio MCP devx-multichain-balances (v2) |
Client for the hosted API below. One chain (native + USDC, USDT on Tron) is free; all / multichain_balances is the paid call, paid from your own wallet key |
free / 0.002 USDC |
Remote MCP https://wallet-balances.nextill-pos.workers.dev/mcp |
basic_balance (one chain, free) + multichain_balances_info |
free |
HTTP API GET /v1/balances |
Up to 3 addresses (one EVM, one Solana, one Tron) → native + USDC, USDT, DAI, EURC, bridged USDC, WETH, WBTC/cbBTC per EVM chain; SOL + USDC/USDT (SPL); TRX + USDT/USDC (TRC-20); plus up to 10 custom tokens (ERC-20, SPL mint, TRC-20). Block numbers/slots included, stablecoin face-value total | 0.002 USDC via x402 on Base |
Live: https://wallet-balances.nextill-pos.workers.dev · token list: /tokens.json
CLI
npx devx-multichain-balances 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM # free: SOL + USDC on Solana
npx devx-multichain-balances TNXoiAJ3dct8Fjg4M9fkLFh9S2v9TXc32G # free: TRX + USDT on Tron
npx devx-multichain-balances 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain arbitrum # free: ETH + USDC on Arbitrum
# paid, 0.002 USDC per call: every matching chain, all majors, custom tokens
export X402_PRIVATE_KEY=0x... # a Base wallet holding a little USDC (use a dedicated low-balance wallet)
npx devx-multichain-balances all 0xd8dA...6045,9WzD...AWWM --chains base,ethereum,solana
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):
{ "mcpServers": { "multichain-balances": { "command": "npx", "args": ["-y", "devx-multichain-balances", "mcp"], "env": { "X402_PRIVATE_KEY": "0x... (optional, enables the paid tool)" } } } }
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)
GET https://wallet-balances.nextill-pos.workers.dev/v1/balances?address=0x...,<solana>,<T...>[&chains=base,ethereum,solana,tron][&tokens=base:0xToken,solana:<mint>,tron:<T...>]
- Answers
402with an x402 v1 body (X-PAYMENT, networkbase) and a v2PAYMENT-REQUIREDheader (PAYMENT-SIGNATURE,eip155:8453). Both work.POSTwith 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. chainsdefaults 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
- Address Poisoning Check: is the recipient a lookalike of an address you trust?
- 7702 Sweeper Check: is an EIP-7702 sweeper delegation set on a wallet?
- Crypto Link Check: is a crypto URL a phishing / drainer lookalike?
Layout
cli/: npm packagedevx-multichain-balances(CLI + stdio MCP client for the hosted API),npm testworker/: the Cloudflare Worker behind the hosted API (npm run build,npm test)
MIT. Made by DevX · madebydevx@gmail.com
DevX Multichain Balances MCP questions
How do I add DevX Multichain Balances MCP to Claude Code?
Run claude mcp add multichain-balances -- npx -y devx-multichain-balances in your terminal. Add --scope user to make it available in every project.
How do I add DevX Multichain Balances MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Is there a free version of this service?
Yes, one-chain lookups for native coins and specific tokens like USDC/USDT on Tron are free.
Does the server require my private keys?
No, the service is read-only and never asks for keys or moves funds; for paid calls, the key stays on your local machine.
What happens if the RPC call fails?
You are not charged if the input is bad or if the RPC calls for the chains fail.