RPC endpoint tester
Paste any EVM JSON-RPC endpoint (yours, a public one, or a provider you are evaluating) and see what it actually does: which chain it serves, how stale its head is, how large an eth_getLogs range it accepts, how far back it can read state, whether it batches, and whether its WebSocket really streams new blocks.
What each check means
- Head block age: seconds since the latest block's timestamp. A healthy node on an active chain is within a few block times; minutes means it is lagging.
- eth_getLogs range: the largest of 1,000 / 10,000 / 50,000 blocks the node accepted for an address-filtered query. See range errors explained.
- Historical state: whether
eth_getBalanceanswers 128, 10,000 and 1,000,000 blocks back. Only archive nodes reach the last one; others return errors like missing trie node. - WebSocket: a connection is not a subscription. The test waits for a real
newHeadsblock, because some endpoints accept the subscription and never deliver.
The same checks run weekly against every chain we serve; the results are public in measured chain facts. For a terminal version, run npx rpc-doctor <url>.