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.

Runs in your browser: the URL (and any key in it) is sent only to that endpoint, never to us.

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_getBalance answers 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 newHeads block, 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>.