Skip to main content

Start building on Hyperliquid for free

Create an endpoint in under a minute. The Free plan includes 50 million compute units a month, and no credit card is required.

Try free
Hyperliquid is a Layer 1 built around an on-chain order book. HyperEVM is its EVM execution layer, sharing state with HyperCore, the exchange. This endpoint serves the HyperEVM JSON-RPC API. Developer docs: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm Mainnet block explorer: https://hyperevmscan.io

Network Support

Endpoint URLs end in /evm. The URL shown in your dashboard already includes it.
Two clients answer this endpoint:
- The Hyperliquid node serves the standard JSON-RPC methods with roughly 165 days of block, receipt and log history and no historical state: eth_call, eth_getBalance, eth_getCode, eth_getStorageAt and eth_getTransactionCount return the latest state whatever block parameter you pass.

- Nanoreth, the HyperEVM archive client, serves the Debug API, the Trace API, the filter methods and WebSocket connections, with data back to genesis.
HyperCore deposits into HyperEVM are not listed in blocks, receipts or logs by the standard methods.

Use eth_getSystemTxsByBlockNumber to read them.

Block-level traces (debug_traceBlockByNumber, debug_traceBlockByHash, trace_block, trace_replayBlockTransactions) do include the deposit as their first entry, under a hash that differs from the one eth_getSystemTxsByBlockNumber reports, so on a deposit block a trace lists one more transaction than the block and its transactionPosition values run one ahead of the block’s transactionIndex.
eth_getLogs is limited to a range of 1,000 blocks per request.
WebSocket connections are served entirely by nanoreth, so behaviour differs from HTTPS in three ways: the four HyperEVM API methods are not available over WebSocket; eth_call and eth_getBalance at a past block return historical state over WebSocket; and eth_call against HyperCore read precompiles may fail over WebSocket. Use HTTPS for those calls.
WebSocket clients MUST respond to server ping frames, otherwise the connection will be closed and re-established every minute.

Getting Started

Send a request to check that your endpoint works. Replace <YOUR_API_KEY_HERE> with the key from your endpoint in the Validation Cloud app.
Connect over WebSocket:

Compute Units