One round trip, every time
Independent contracts, different protocols. Every read in an expression is batched into a single Multicall3 call per chain.
1 request4 reads1 round trip
NFT floors, DAO votes, token flows: ask in English, get the real onchain answer. One install, every contract, across multiple chains.
cel.bind(d, token.decimals(), {
"name": token.name(),
"symbol": token.symbol(),
"decimals": string(formatUnits(d, 0)),
"totalSupply": string(formatUnits(token.totalSupply(), d))
})Works with Claude, ChatGPT, Cursor, Windsurf, Cline
Claude is brilliant at reasoning. It's also completely blind to onchain state unless you hand it the data. And handing it raw RPC responses burns context and confuses the model.
Ask an LLM about a contract and it guesses from training data that's months stale. Balances, governance outcomes, NFT floors: all wrong.
Etherscan read tab, decode the hex, paste back into the chat, hope the model interprets it right. Repeat for every question.
Whichever plugin you find usually only speaks one chain and a handful of protocols. The rest of the EVM universe is invisible.
Every tool reinvents contract reading. None of it is interoperable. Your Claude setup doesn't help your Cursor setup.
One MCP URL works across Claude, ChatGPT, Cursor, Windsurf, and Cline. Any agent that speaks MCP can now read any contract on multiple EVM chains.
Ask "What's the floor of Pudgy Penguins?" and get the number from the contract, at the block you're on.
DAO proposal state, vote counts, and quorum come straight from the governor contract, without a third-party indexer in between.
Verified contracts on Ethereum, Base, BNB Smart Chain, and Polygon work out of the box. Proxies resolve automatically.
One URL, one sign-in. Claude, Cursor, Windsurf, VS Code, Cline, and Zed all get the same capability.
evmquery only reads public onchain state. No private keys, no signing. Your agent conversations stay with your AI provider.
claude mcp add evmquery \
--transport http \
https://api.evmquery.com/mcpRead any EVM contract without wiring providers, ABIs, or decoders by hand.
Independent contracts, different protocols. Every read in an expression is batched into a single Multicall3 call per chain.
1 request4 reads1 round trip
Read state by address. No ABI files, ever.
BigInt, address, struct: decoded and ready.
{ "value": "37192124", "type": "sol_int" }
EIP-1967, transparent, beacon: resolved automatically.
resolved via EIP-1967 slot
The same expression language on every surface. Learn it once, query from anywhere.
Anything that speaks the Model Context Protocol. Tested with Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Cline, and Zed. Setup is a single URL, with no plugins or SDKs to install.
ChatGPT's custom connector support lets you wire MCP servers into your workspace. Point it at https://api.evmquery.com/mcp and sign in. If you need a specific integration pattern, let us know.
Anything that maps to reading a verified contract. NFT floor and ownership, ERC-20 balances and allowances, DAO proposal states and vote counts, Aave health, Uniswap positions, Chainlink price feeds. All of it is one question away.
Ethereum, Base, BNB Smart Chain, and Polygon today. More EVM chains are being added continuously. If a contract is verified on one of the supported chains, your agent can read it.
No. evmquery reads onchain state by public address. It never sees private keys, never signs transactions, and never stores your AI conversations.
Blockscout and Bitquery are indexed data layers: they've already crawled the chain, so their MCP servers are strongest at explorer-style lookups and DEX/wallet analytics. evmquery is a contract-logic query layer: you point it at any verified contract, including ones nobody has indexed yet, and it resolves the ABI, unwinds proxies, and batches the calls into one typed response. Point your agent at evmquery when the question is about a specific contract's own state; an indexer is the better fit for broad wallet or trade history.
Free tier included. No credit card. One URL, multiple EVM chains.