Guide

CLI

One binary with ten reads and an MCP server. An address as the first argument means balance. No ceremony.

The short path

shell
npx @agntn/explorers vitalik.eth
npx @agntn/explorers tx vitalik.eth -n 5
npx @agntn/explorers providers

A first argument that looks like an address defaults to balance. No arguments at all means providers. Without -c, an address whose format fits one chain picks it, so explorers 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa reads Bitcoin. An EVM address fits every EVM chain, so with neither provider nor chain it starts on Ethereum, and with an explicit --provider it starts on that provider's default chain.

Commands

CommandWhat it doesExample
balanceNative balance, several addresses at onceexplorers balance vitalik.eth
txTransaction history or one transactionexplorers tx vitalik.eth -n 5
utxosUnspent outputs on Bitcoin, Bitcoin Cash, Bitcoin SV, Bitcoin Gold, Litecoin, Pepecoinexplorers utxos bc1q... -c btc
pubkeyWhether an address has shown its public keyexplorers pubkey 1XPTgDRhN8...
contractABI, source and verification statusexplorers contract 0x1f984...
tokensERC-20, SPL and Cardano native holdingsexplorers tokens vitalik.eth
transfersERC-20 transfer history for an addressexplorers transfers vitalik.eth
gasCurrent gas pricesexplorers gas -c base
blockBlock data by numberexplorers block 18000000
providersRegistered providers and their capabilitiesexplorers providers
mcpThe MCP server on stdioexplorers mcp

balance takes as many addresses as you give it and prints one block per address. utxos prints fifty outputs unless -n says otherwise, each with its txid:vout. The header above them still counts every output, sums the confirmed ones and says how many are still in the mempool.

Options

OptionMeaning
-c, --chainChain name or alias, for example eth, mainnet, btc or arbitrum
-p, --providerExplorer backend, for example etherscan, blockscout or mempool
-n, --limitMaximum number of transactions, transfers, holdings or outputs listed
-m, --modeForce tx into history or detail mode when the input is ambiguous
-t, --tokenLimit transfers to one token contract

When tx can't tell

tx looks at the shape of its argument: 64 hex characters is a hash on Ethereum, and a hash on Bitcoin, TRON, Cardano, Decred and Stellar too. A base58 string of the right length is a hash on Solana and Sui. Everything else gets treated as an address. Arweave breaks that rule, because a transaction id and a wallet address look identical there, so say what you mean:

shell
explorers tx FPjbN_btYKzcf8QASjs30v5C0FPv7XpwKXENBW8dqVw -c arweave -n 3
explorers tx 2Bg8S0GcQmbC-FeT5dDKcj0WOK2YmH7Y4mlW-mO8_yE -p arweave -m detail

--mode accepts history or detail and nothing else. A typo is an error, not a guess.

Keys

Keys come from the environment and only from there. ETHERSCAN_API_KEY, SOLSCAN_API_KEY, HELIUS_API_KEY, TRONSCAN_API_KEY, BLOCKBERRY_API_KEY, BLOCKCHAIR_API_KEY for a higher Blockchair tier and WHATSONCHAIN_API_KEY for more than three WhatsOnChain requests a second. Set one and the matching provider moves to the front of the queue for every chain it serves; the ranking is in Provider selection. explorers providers prints which ones are active on this machine, and no, it doesn't print the keys.

Exit codes

A failed read prints the error and exits 1. An invalid --limit, a --mode outside the two values, or a provider that can't serve the operation all fail the same way, before any request goes out.