Skip to content

Read any smart contract, instantly.

One HTTP call returns typed, decoded contract state from multiple EVM chains, with no ABI files, no node, and no SDK required. Available over REST, MCP, and n8n.

Ethereum
{
  "pair":   feed.description(),
  "price":  string(formatUnits(feed.latestAnswer() / priceScale, 2)),
  "supply": string(formatUnits(weth.totalSupply() / weiPerEth, 0))
}

Free to start. No monthly cap, no credit card

Everything you reach for, in one expression.

Read any EVM contract without wiring providers, ABIs, or decoders by hand.

One round trip, every time

Independent contracts, different protocols. Every read in an expression is batched into a single Multicall3 call per chain.

token.name()token.symbol()token.decimals()token.totalSupply()
Multicall3Ethereum

1 request4 reads1 round trip

Same behavior on every chain we support.

Any contract

Read state by address. No ABI files, ever.

usdc.balanceOf(vitalik)
37.19 USDC

Structs decode too

Solidity structs decode into fields you dot straight into.

pool.slot0().tick201774sol_int

Proxy-aware

EIP-1967, transparent, beacon: resolved automatically.

0x87870B…A4E2
via EIP-1967 slot
0x728a13…03CF

10 of 44 major contracts we checked resolve through a proxy.

Drop it in your agent

The same expression language on every surface. Learn it once, query from anywhere.

MCPClaudeCursorVS CodeWindsurf
HTTPRESTn8n

execute_query and describe_schema are the same two tools behind REST and n8n.

One line of config. Multiple EVM chains.

Install in your MCP client or call the REST API to get typed onchain data back.

Install
claude mcp add evmquery \ --transport http \ https://api.evmquery.com/mcp
Then

Ask your agent for onchain data in plain language. It resolves the chain, picks the right call, and returns typed results in the same turn:

You "What's Vitalik's USDC balance on Ethereum?"

usdc.balanceOf(vitalik) on evm_ethereum
37,192,124 USDCblock 25,612,852 · 229 ms

Try it without an API key

Six free, in-browser tools run the same expressions shown above against the live API, with no signup or wallet connection required.

ERC-1155 Inspector

Inspect any ERC-1155 contract for uri(id), supply, balance, and ERC-165, without ABIs or {id} substitution headaches.

EthereumBaseBNB Smart ChainPolygon

ERC-20 Token Inspector

One look at any ERC-20: name, symbol, decimals, and total supply, formatted with the right precision, using typed reads that skip ABI files.

EthereumBaseBNB Smart ChainPolygon

Aave Health Factor Checker

Read any wallet's Aave health factor across chains in one expression. Proxy-aware, struct-decoded.

EthereumBasePolygon

ERC-721 NFT Inspector

Read any ERC-721 NFT: name, symbol, tokenURI, and owner, with the metadata JSON resolved from IPFS. No ABIs or wallet connection required.

EthereumBaseBNB Smart ChainPolygon

Chainlink Price Feed Reader

Read any Chainlink aggregator: latest answer, decimals, and description, decoded to a human-readable price in one expression.

EthereumBaseBNB Smart ChainPolygon

Contract Inspector

Paste any contract address to see its proxy chain, resolved implementation, and full method schema, including which address each call executes on and where its ABI came from.

EthereumBaseBNB Smart ChainPolygon

Calldata Decoder

Decode raw transaction calldata into a function name and typed arguments. Paste the contract address instead of an ABI file: evmquery resolves the ABI for you.

EthereumBaseBNB Smart ChainPolygon

Proxy Contract Detector

Paste any contract address to check whether it's a proxy: EIP-1967, UUPS, Beacon, and Diamond (EIP-2535) patterns resolved and rendered as a chain.

EthereumBaseBNB Smart ChainPolygon

Diamond Proxy Checker

Paste any contract address to check whether it's a Diamond (EIP-2535) proxy and see every resolved facet.

EthereumBaseBNB Smart ChainPolygon

Beacon Proxy Checker

Paste any contract address to check whether it's a Beacon (EIP-1967) proxy and see the shared beacon it resolves through.

EthereumBaseBNB Smart ChainPolygon

Token Allowance Checker

Check what an ERC-20 spender is approved to move from a wallet: the exact allowance, decimal-formatted, with unlimited approvals flagged.

EthereumBaseBNB Smart ChainPolygon

Gnosis Safe Inspector

Inspect any Gnosis Safe (Safe{Wallet}) multisig: owners, signature threshold, nonce, and version, resolved through the Safe proxy automatically.

EthereumBaseBNB Smart ChainPolygon

ENS Resolver

Resolve any .eth name to its ETH address in two chained onchain reads: the ENS Registry's resolver lookup, then the resolver's address record. Namehash computed entirely server-side, no crypto library required.

Ethereum

Frequently asked questions

Ethereum, Base, BNB Smart Chain, and Polygon today. We’re actively adding more EVM-compatible chains.

Yes. There's no monthly cap, a generous free tier for development and early production use, bounded by a rate limit rather than a quota. No credit card required to get started.

Rate limits are applied per API key. Auto-batching means a single expression touching multiple contracts counts as one request. Need higher throughput? Pro and Enterprise plans are available now.

Every query is a single round trip: auto-batching folds multi-contract expressions into one Multicall3 call instead of one request per contract, and there's no caching layer between you and the chain, so you always read live state. Actual response time depends on the target chain and contract complexity. Watch the live query console on the homepage for real, current numbers rather than a quoted average.

For MCP connections, evmquery uses browser-based sign-in. Your client handles it automatically. For the REST API, requests are authenticated with an API key transmitted over HTTPS. You can generate and rotate keys from the dashboard.

No. evmquery auto-resolves ABIs for verified contracts. For unverified contracts, you can supply an ABI in the schema field of your query.

evmquery works with any client that supports the Model Context Protocol. We've tested with Claude Code, Cursor, VS Code, Windsurf, and Zed. Setup is a single URL, with no plugins or SDKs to install. Your client handles sign-in automatically.

Yes. Every query reads from the latest block at execution time, and there is no caching layer between you and the chain. Response metadata includes the exact block number so you always know what you're looking at.

Start reading contract state with one REST call.

The same endpoint you just saw in action, ready for your app.

Free tier includedNo credit cardNo monthly cap