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
Same behavior on every chain we support.
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.
{
"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
Read 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
Same behavior on every chain we support.
Read state by address. No ABI files, ever.
Solidity structs decode into fields you dot straight into.
EIP-1967, transparent, beacon: resolved automatically.
10 of 44 major contracts we checked resolve through a proxy.
The same expression language on every surface. Learn it once, query from anywhere.
execute_query and describe_schema are the same two tools behind REST and n8n.
Install in your MCP client or call the REST API to get typed onchain data back.
Six free, in-browser tools run the same expressions shown above against the live API, with no signup or wallet connection required.
Inspect any ERC-1155 contract for uri(id), supply, balance, and ERC-165, without ABIs or {id} substitution headaches.
One look at any ERC-20: name, symbol, decimals, and total supply, formatted with the right precision, using typed reads that skip ABI files.
Read any wallet's Aave health factor across chains in one expression. Proxy-aware, struct-decoded.
Read any ERC-721 NFT: name, symbol, tokenURI, and owner, with the metadata JSON resolved from IPFS. No ABIs or wallet connection required.
Read any Chainlink aggregator: latest answer, decimals, and description, decoded to a human-readable price in one expression.
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.
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.
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.
Paste any contract address to check whether it's a Diamond (EIP-2535) proxy and see every resolved facet.
Paste any contract address to check whether it's a Beacon (EIP-1967) proxy and see the shared beacon it resolves through.
Check what an ERC-20 spender is approved to move from a wallet: the exact allowance, decimal-formatted, with unlimited approvals flagged.
Inspect any Gnosis Safe (Safe{Wallet}) multisig: owners, signature threshold, nonce, and version, resolved through the Safe proxy automatically.
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, 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.
The same endpoint you just saw in action, ready for your app.