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

# HyperEVM system transactions on Edge RPC

> Choose between HyperEVM archive nodes (with system transactions) and realtime nodes (without) on Edge RPC via the use-upstream request directive.

HyperEVM (Chain ID: 999) has two distinct node pools with different transaction visibility:

| Type        | Node     | Description                                                | Use Case                                |
| ----------- | -------- | ---------------------------------------------------------- | --------------------------------------- |
| `systx*`    | nanoreth | Full archive nodes, **includes system transactions**       | Indexing, historical queries, debugging |
| `standard*` | hlnode   | Realtime-optimized nodes, **excludes system transactions** | Frontend dApps, realtime data           |

<Warning>
  If you don't specify a node type, requests may load-balance across both pools, causing inconsistent results.
</Warning>

## Archive Nodes (with system transactions)

```bash theme={null}
https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=systx*
```

<CodeGroup>
  ```bash curl theme={null}
  curl "https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=systx*" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1", true],"id":1}'
  ```

  ```javascript ethers.js theme={null}
  import { JsonRpcProvider } from 'ethers'

  const provider = new JsonRpcProvider(
    'https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=systx*'
  )
  // Archival data with system transactions
  const block = await provider.getBlock(1)
  ```

  ```javascript viem theme={null}
  import { createPublicClient, http } from 'viem'

  const client = createPublicClient({
    transport: http('https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=systx*')
  })
  const block = await client.getBlock({ blockNumber: 1n })
  ```
</CodeGroup>

## Realtime Nodes (without system transactions)

```bash theme={null}
https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=standard*
```

<CodeGroup>
  ```bash curl theme={null}
  curl "https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=standard*" \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
  ```

  ```javascript ethers.js theme={null}
  import { JsonRpcProvider } from 'ethers'

  const provider = new JsonRpcProvider(
    'https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=standard*'
  )
  const blockNumber = await provider.getBlockNumber()
  ```

  ```javascript viem theme={null}
  import { createPublicClient, http } from 'viem'

  const client = createPublicClient({
    transport: http('https://edge.goldsky.com/standard/evm/999?key=demo&use-upstream=standard*')
  })
  const blockNumber = await client.getBlockNumber()
  ```
</CodeGroup>


## Related topics

- [HyperEVM](/chains/hyperevm.md)
- [ctx.hypercore: trade and deploy on Hyperliquid HyperCore](/compose/context/hypercore.md)
- [Supported networks](/chains/supported-networks.md)
- [x402 nanopayments: pay-per-call access to Edge RPC](/edge-rpc/capabilities/x402.md)
- [Edge RPC](/edge-rpc/introduction.md)
