Wallet balances, ERC-20, blocks, transactions, receipts, ENS and payment checks, pay per call
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use when you need a block header on Base, Ethereum, Arbitrum, Polygon or Optimism: latest or a given number, with hash, parent, timestamp, miner, gas used/limit. Returns the exact paid x402 request for your input (GET /evm/block, $0.001 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
Chain; default base
Block number (decimal or 0x hex) or latest
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http evm-wallet-onchain https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/mcp/evm-wallet-onchain
Use when you need a block header on Base, Ethereum, Arbitrum, Polygon or Optimism: latest or a given number, with hash, parent, timestamp, miner, gas used/limit. Returns the exact paid x402 request for your input (GET /evm/block, $0.001 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain; default base |
| number | string | Block number (decimal or 0x hex) or latest |
{
"type": "object",
"required": [],
"properties": {
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"polygon",
"optimism"
],
"type": "string",
"default": "base",
"description": "Chain; default base"
},
"number": {
"type": "string",
"default": "latest",
"description": "Block number (decimal or 0x hex) or latest"
}
}
}Use when you must know whether an address is a contract on Base, Ethereum, Arbitrum, Polygon or Optimism: is_contract, bytecode size, sha256 of the bytecode. Returns the exact paid x402 request for your input (GET /evm/code, $0.002 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain; default base |
| address* | string | 0x address (40 hex) |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"polygon",
"optimism"
],
"type": "string",
"default": "base",
"description": "Chain; default base"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "0x address (40 hex)"
}
}
}Use when you need ENS on Ethereum: name to address (name=vitalik.eth, via the Universal Resolver, with resolver address) or address to primary name (address=0x..., reverse record, forward-verified). Returns the exact paid x402 request for your input (GET /evm/ens, $0.002 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| name | string | ENS name (lowercase labels), e.g. vitalik.eth |
| address | string | 0x address for the reverse (primary name) lookup instead of name |
{
"type": "object",
"required": [],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "ENS name (lowercase labels), e.g. vitalik.eth"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "0x address for the reverse (primary name) lookup instead of name"
}
}
}Use when you need one ERC-20 balance for one wallet: balanceOf, decimals and symbol read in a single multicall on Base, Ethereum, Arbitrum, Polygon or Optimism, with raw units, a decimal amount. Returns the exact paid x402 request for your input (GET /evm/erc20-balance, $0.002 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. One token on one chain; for several tokens or chains at once use wallet_balance. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain; default base |
| token* | string | ERC-20 contract address |
| address* | string | Wallet address (0x + 40 hex) |
{
"type": "object",
"required": [
"address",
"token"
],
"properties": {
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"polygon",
"optimism"
],
"type": "string",
"default": "base",
"description": "Chain; default base"
},
"token": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "ERC-20 contract address"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Wallet address (0x + 40 hex)"
}
}
}Use when you need the native coin balance (ETH or POL) of an address on Base, Ethereum, Arbitrum, Polygon or Optimism: wei and a decimal amount from a public node, with the block number and as_of. Returns the exact paid x402 request for your input (GET /evm/native-balance, $0.001 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Native coin on one chain only; for stablecoins or several chains use wallet_balance. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain; default base |
| address* | string | 0x address (40 hex) |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"polygon",
"optimism"
],
"type": "string",
"default": "base",
"description": "Chain; default base"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "0x address (40 hex)"
}
}
}Use when you need an account's transaction count on Base, Ethereum, Arbitrum, Polygon or Optimism: nonce at the latest block and the pending nonce (queued transactions in the node's pool). Returns the exact paid x402 request for your input (GET /evm/nonce, $0.001 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| chain | string | Chain; default base |
| address* | string | 0x address (40 hex) |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"polygon",
"optimism"
],
"type": "string",
"default": "base",
"description": "Chain; default base"
},
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "0x address (40 hex)"
}
}
}Use when you need to know whether a transaction succeeded on Base, Ethereum, Arbitrum, Polygon or Optimism: receipt status, block, confirmations, gas used, effective gas price. Returns the exact paid x402 request for your input (GET /evm/receipt, $0.002 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Returns the outcome; for the transaction fields (from, to, value, input) use evm_transaction. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| hash* | string | Transaction hash (0x + 64 hex) |
| chain | string | Chain; default base |
{
"type": "object",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "Transaction hash (0x + 64 hex)"
},
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"polygon",
"optimism"
],
"type": "string",
"default": "base",
"description": "Chain; default base"
}
}
}Use when you need a transaction by hash on Base, Ethereum, Arbitrum, Polygon or Optimism: from, to, value, nonce, gas and fee fields, block, confirmations, method id and input (first 1 KB). Returns the exact paid x402 request for your input (GET /evm/tx, $0.002 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. Returns the transaction itself; to know whether it succeeded (status, gas used, logs) use evm_receipt. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| hash* | string | Transaction hash (0x + 64 hex) |
| chain | string | Chain; default base |
{
"type": "object",
"required": [
"hash"
],
"properties": {
"hash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "Transaction hash (0x + 64 hex)"
},
"chain": {
"enum": [
"ethereum",
"base",
"arbitrum",
"polygon",
"optimism"
],
"type": "string",
"default": "base",
"description": "Chain; default base"
}
}
}Use when you must confirm that a transaction paid at least an amount of an asset to an address: pass tx, to, amount. Returns the exact paid x402 request for your input (GET /pay/check, $0.003 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| to* | string | expected recipient address |
| tx* | string | transaction hash (0x + 64 hex for EVM) |
| asset* | string | USDC, USDT, DAI, WETH, WBTC, cbBTC, ETH, POL or a listed token address |
| chain | string | ethereum, base, arbitrum or polygon (optional for EVM) |
| amount* | string | minimum amount in asset units, e.g. 0.01 |
{
"type": "object",
"required": [
"tx",
"to",
"amount",
"asset"
],
"properties": {
"to": {
"type": "string",
"description": "expected recipient address"
},
"tx": {
"type": "string",
"description": "transaction hash (0x + 64 hex for EVM)"
},
"asset": {
"type": "string",
"description": "USDC, USDT, DAI, WETH, WBTC, cbBTC, ETH, POL or a listed token address"
},
"chain": {
"type": "string",
"description": "ethereum, base, arbitrum or polygon (optional for EVM)"
},
"amount": {
"type": "string",
"pattern": "^[0-9]{1,30}(\\.[0-9]{1,36})?$",
"description": "minimum amount in asset units, e.g. 0.01"
}
}
}Use for a DEX swap quote with a ready unsigned transaction: best route from Velora (ParaSwap), KyberSwap as fallback, on Base, Arbitrum, Ethereum, Optimism, Polygon, BNB Chain. Returns the exact paid x402 request for your input (GET /quote/swap, $0.002 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| to* | string | token to buy: symbol or 0x address |
| from* | string | token to sell: symbol (USDC, WETH, ETH...) or 0x address |
| chain* | string | base, arbitrum, ethereum, optimism, polygon or bsc (or chain id) |
| taker* | string | wallet that will sign and send the swap |
| amount* | string | amount to sell in base units (10 USDC = 10000000) |
| to_decimals | integer | only for tokens P0 does not know |
Use when you need a wallet's token balances on several chains in one call: native coin plus USDC, USDT, DAI, WETH, WBTC/cbBTC on Ethereum, Base, Arbitrum and Polygon. Returns the exact paid x402 request for your input (GET /wallet/balance, $0.003 per call), with a link to the full schema; call that URL with an x402 or MPP client to get the data. Bad input is refused before any charge. One wallet across several chains. For one token on one chain use evm_erc20_balance; for the native coin on one chain use evm_native_balance; for many wallets use wallet_balance_batch. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| chains | string | comma list of ethereum, base, arbitrum, polygon (default: all EVM chains for a 0x address) |
| address* | string | 0x address or ENS name (lowercase a-z, 0-9, hyphen) |
{
"type": "object",
"required": [
"address"
],
"properties": {
"chains": {
"type": "string",
"description": "comma list of ethereum, base, arbitrum, polygon (default: all EVM chains for a 0x address)"
},
"address": {
"type": "string",
"description": "0x address or ENS name (lowercase a-z, 0-9, hyphen)"
}
}
}Use when you need native and stablecoin balances for a list of wallets: up to 25 addresses (0x or ENS names) in one POST. Returns the exact paid x402 request for your input (POST /wallet/balance/batch, $0.075 per call), with a link to the full schema; POST that JSON body to the URL with an x402 or MPP client to get the data. Bad input is refused before any charge. For one wallet use wallet_balance. With a P0 access key (header Authorization: Bearer p0k_…, buy one at https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/keys/buy?usd=5) this tool makes the paid call itself and returns the data, deducting the listed price.
| Argument | Type | Description |
|---|---|---|
| chains | string | optional, for every address: comma list of chains, as in the single call |
| addresses* | array | 1 to 25 addresses; duplicates are removed |
{
"type": "object",
"required": [
"addresses"
],
"properties": {
"chains": {
"type": "string",
"maxLength": 120,
"description": "optional, for every address: comma list of chains, as in the single call"
},
"addresses": {
"type": "array",
"items": {
"type": "string",
"maxLength": 255
},
"maxItems": 25,
"minItems": 1,
"description": "1 to 25 addresses; duplicates are removed"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 7, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
| slippage_bps |
| integer |
| max slippage in basis points (50 = 0.5%). The alias 'slippage' is read as basis points too (Velora's unit); a 'slippage' below 10 is refused as ambiguous |
| from_decimals | integer | only for tokens P0 does not know |
{
"type": "object",
"required": [
"chain",
"from",
"to",
"amount",
"taker"
],
"properties": {
"to": {
"type": "string",
"description": "token to buy: symbol or 0x address"
},
"from": {
"type": "string",
"description": "token to sell: symbol (USDC, WETH, ETH...) or 0x address"
},
"chain": {
"type": "string",
"description": "base, arbitrum, ethereum, optimism, polygon or bsc (or chain id)"
},
"taker": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "wallet that will sign and send the swap"
},
"amount": {
"type": "string",
"pattern": "^[0-9]{1,78}$",
"description": "amount to sell in base units (10 USDC = 10000000)"
},
"to_decimals": {
"type": "integer",
"maximum": 36,
"minimum": 0,
"description": "only for tokens P0 does not know"
},
"slippage_bps": {
"type": "integer",
"default": 50,
"maximum": 500,
"minimum": 1,
"description": "max slippage in basis points (50 = 0.5%). The alias 'slippage' is read as basis points too (Velora's unit); a 'slippage' below 10 is refused as ambiguous"
},
"from_decimals": {
"type": "integer",
"maximum": 36,
"minimum": 0,
"description": "only for tokens P0 does not know"
}
}
}