> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validationcloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

export const logo_0 = "/nodeapi/assets/chains/hyperliquid.svg"

export const chain_0 = "Hyperliquid"

<span className="chain-logo-hyperliquid" />

<img className="page-cover" src="https://mintcdn.com/validation-cloud/QajBabafGojozKj4/nodeapi/assets/hyperliquid-wallpaper-1x.png?fit=max&auto=format&n=QajBabafGojozKj4&q=85&s=741354ecd1c7379efb56b4482e7fbbd9" alt="" noZoom width="1990" height="480" data-path="nodeapi/assets/hyperliquid-wallpaper-1x.png" />

<div className="not-prose my-8 flex flex-col gap-4 rounded-2xl border border-gray-950/10 p-5 sm:flex-row sm:items-center dark:border-white/10">
  <img src={logo_0} alt="" className="h-10 w-10 shrink-0" noZoom />

  <div className="flex-1">
    <p className="m-0 font-semibold text-gray-900 dark:text-gray-100">Start building on {chain_0} for free</p>
    <p className="m-0 mt-1 text-sm text-gray-600 dark:text-gray-400">Create an endpoint in under a minute. The Free plan includes 50 million compute units a month, and no credit card is required.</p>
  </div>

  <a href="https://app.validationcloud.io/auth/signup?returnTo=%2Fnode%2Fcreate-endpoint" className="shrink-0 rounded-full bg-primary px-5 py-2 text-center text-sm font-semibold text-white no-underline hover:opacity-90">Try free</a>
</div>

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](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/hyperevm)

Mainnet block explorer: [https://hyperevmscan.io](https://hyperevmscan.io)

## Network Support

| Network | Full History / Archive | HTTPS | WSS |
| - | - | - | - |
| Hyperliquid Mainnet | <p>HTTPS ❌ (\~165 days, latest state only)<br /><br />WSS, Debug and Trace ✅ to genesis</p> | ✅ | ✅ |

> 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](/nodeapi/hyperliquid/hyperevm-api/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](/nodeapi/hyperliquid/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](https://app.validationcloud.io/node).

<CodeGroup>
  ```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  curl https://mainnet.hyperliquid.validationcloud.io/v1/<YOUR_API_KEY_HERE>/evm \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":0}'
  ```
</CodeGroup>

Connect over WebSocket:

<CodeGroup>
  ```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  wscat -c wss://mainnet.hyperliquid.validationcloud.io/v1/wss/<YOUR_API_KEY_HERE>/evm
  ```
</CodeGroup>

## Compute Units

| Method | Compute units |
| - | - |
| [debug\_getBadBlocks](/nodeapi/hyperliquid/debug-api/debug_getbadblocks) | 80 |
| [debug\_getRawBlock](/nodeapi/hyperliquid/debug-api/debug_getrawblock) | 80 |
| [debug\_getRawHeader](/nodeapi/hyperliquid/debug-api/debug_getrawheader) | 80 |
| [debug\_getRawReceipts](/nodeapi/hyperliquid/debug-api/debug_getrawreceipts) | 80 |
| [debug\_getRawTransaction](/nodeapi/hyperliquid/debug-api/debug_getrawtransaction) | 80 |
| [debug\_traceBlock](/nodeapi/hyperliquid/debug-api/debug_traceblock) | 80 |
| [debug\_traceBlockByHash](/nodeapi/hyperliquid/debug-api/debug_traceblockbyhash) | 80 |
| [debug\_traceBlockByNumber](/nodeapi/hyperliquid/debug-api/debug_traceblockbynumber) | 80 |
| [debug\_traceCall](/nodeapi/hyperliquid/debug-api/debug_tracecall) | 80 |
| [debug\_traceTransaction](/nodeapi/hyperliquid/debug-api/debug_tracetransaction) | 80 |
| [eth\_accounts](/nodeapi/hyperliquid/execution-api/eth_accounts) | 20 |
| [eth\_bigBlockGasPrice](/nodeapi/hyperliquid/hyperevm-api/eth_bigblockgasprice) | 40 |
| [eth\_blockNumber](/nodeapi/hyperliquid/execution-api/eth_blocknumber) | 20 |
| [eth\_call](/nodeapi/hyperliquid/execution-api/eth_call) | 40 |
| [eth\_chainId](/nodeapi/hyperliquid/execution-api/eth_chainid) | 10 |
| [eth\_createAccessList](/nodeapi/hyperliquid/execution-api/eth_createaccesslist) | 20 |
| [eth\_estimateGas](/nodeapi/hyperliquid/execution-api/eth_estimategas) | 40 |
| [eth\_feeHistory](/nodeapi/hyperliquid/execution-api/eth_feehistory) | 20 |
| [eth\_gasPrice](/nodeapi/hyperliquid/execution-api/eth_gasprice) | 40 |
| [eth\_getBalance](/nodeapi/hyperliquid/execution-api/eth_getbalance) | 40 |
| [eth\_getBlockByHash](/nodeapi/hyperliquid/execution-api/eth_getblockbyhash) | 40 |
| [eth\_getBlockByNumber](/nodeapi/hyperliquid/execution-api/eth_getblockbynumber) | 40 |
| [eth\_getBlockReceipts](/nodeapi/hyperliquid/execution-api/eth_getblockreceipts) | 40 |
| [eth\_getBlockTransactionCountByHash](/nodeapi/hyperliquid/execution-api/eth_getblocktransactioncountbyhash) | 40 |
| [eth\_getBlockTransactionCountByNumber](/nodeapi/hyperliquid/execution-api/eth_getblocktransactioncountbynumber) | 40 |
| [eth\_getCode](/nodeapi/hyperliquid/execution-api/eth_getcode) | 40 |
| [eth\_getFilterChanges](/nodeapi/hyperliquid/execution-api/eth_getfilterchanges) | 40 |
| [eth\_getFilterLogs](/nodeapi/hyperliquid/execution-api/eth_getfilterlogs) | 40 |
| [eth\_getLogs](/nodeapi/hyperliquid/execution-api/eth_getlogs) | 80 |
| [eth\_getStorageAt](/nodeapi/hyperliquid/execution-api/eth_getstorageat) | 40 |
| [eth\_getSystemTxsByBlockHash](/nodeapi/hyperliquid/hyperevm-api/eth_getsystemtxsbyblockhash) | 40 |
| [eth\_getSystemTxsByBlockNumber](/nodeapi/hyperliquid/hyperevm-api/eth_getsystemtxsbyblocknumber) | 40 |
| [eth\_getTransactionByBlockHashAndIndex](/nodeapi/hyperliquid/execution-api/eth_gettransactionbyblockhashandindex) | 40 |
| [eth\_getTransactionByBlockNumberAndIndex](/nodeapi/hyperliquid/execution-api/eth_gettransactionbyblocknumberandindex) | 40 |
| [eth\_getTransactionByHash](/nodeapi/hyperliquid/execution-api/eth_gettransactionbyhash) | 40 |
| [eth\_getTransactionCount](/nodeapi/hyperliquid/execution-api/eth_gettransactioncount) | 40 |
| [eth\_getTransactionReceipt](/nodeapi/hyperliquid/execution-api/eth_gettransactionreceipt) | 40 |
| [eth\_maxPriorityFeePerGas](/nodeapi/hyperliquid/execution-api/eth_maxpriorityfeepergas) | 20 |
| [eth\_newBlockFilter](/nodeapi/hyperliquid/execution-api/eth_newblockfilter) | 40 |
| [eth\_newFilter](/nodeapi/hyperliquid/execution-api/eth_newfilter) | 40 |
| [eth\_sendRawTransaction](/nodeapi/hyperliquid/execution-api/eth_sendrawtransaction) | 80 |
| [eth\_simulateV1](/nodeapi/hyperliquid/execution-api/eth_simulatev1) | 40 |
| [eth\_subscribe](/nodeapi/hyperliquid/execution-api/eth_subscribe) | 20 |
| [eth\_syncing](/nodeapi/hyperliquid/execution-api/eth_syncing) | 10 |
| [eth\_uninstallFilter](/nodeapi/hyperliquid/execution-api/eth_uninstallfilter) | 20 |
| [eth\_unsubscribe](/nodeapi/hyperliquid/execution-api/eth_unsubscribe) | 20 |
| [eth\_usingBigBlocks](/nodeapi/hyperliquid/hyperevm-api/eth_usingbigblocks) | 40 |
| [net\_peerCount](/nodeapi/hyperliquid/execution-api/net_peercount) | 20 |
| [net\_version](/nodeapi/hyperliquid/execution-api/net_version) | 10 |
| [trace\_block](/nodeapi/hyperliquid/trace-api/trace_block) | 80 |
| [trace\_call](/nodeapi/hyperliquid/trace-api/trace_call) | 80 |
| [trace\_callMany](/nodeapi/hyperliquid/trace-api/trace_callmany) | 80 |
| [trace\_filter](/nodeapi/hyperliquid/trace-api/trace_filter) | 80 |
| [trace\_rawTransaction](/nodeapi/hyperliquid/trace-api/trace_rawtransaction) | 80 |
| [trace\_replayBlockTransactions](/nodeapi/hyperliquid/trace-api/trace_replayblocktransactions) | 270 |
| [trace\_replayTransaction](/nodeapi/hyperliquid/trace-api/trace_replaytransaction) | 270 |
| [trace\_transaction](/nodeapi/hyperliquid/trace-api/trace_transaction) | 80 |
| [web3\_clientVersion](/nodeapi/hyperliquid/execution-api/web3_clientversion) | 40 |
| [web3\_sha3](/nodeapi/hyperliquid/execution-api/web3_sha3) | 40 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.