HyperEVM Testnet RPC Guide

To enhance the HyperEVM developer experience, we provide free public access to our professionally hosted Testnet RPC endpoint. Developers can use this endpoint to build Hyperliquid applications and configure it as a testnet RPC in browser wallets. For mainnet deployments, see available mainnet RPC URLs on the Hyperliquid docs.

RPC Endpoint Details

For Developers: Building with the RPC

You can use this endpoint in your dApps, scripts, or backend services with any standard Web3 library.

Ethers.js (JavaScript/TypeScript)

Ethers.js is a library for interacting with Ethereum and EVM-compatible chains.

import { ethers } from "ethers"

const rpcUrl = "https://rpcs.chain.link/hyperevm/testnet"
const provider = new ethers.JsonRpcProvider(rpcUrl)

async function getBlock() {
  const blockNumber = await provider.getBlockNumber()
  console.log("Current Block Number:", blockNumber)
}

getBlock()

Viem (JavaScript/TypeScript)

Viem is a TypeScript library for interacting with Ethereum and EVM-compatible chains. It provides modular, type-safe APIs as an alternative to ethers.js.

import { createPublicClient, http } from "viem"

const rpcUrl = "https://rpcs.chain.link/hyperevm/testnet"

const client = createPublicClient({
  transport: http(rpcUrl),
})

async function getBlock() {
  const blockNumber = await client.getBlockNumber()
  console.log("Current Block Number:", blockNumber)
}

getBlock()

Web3.py (Python)

Web3.py is a Python library for interacting with EVM-compatible chains.

from web3 import Web3

rpc_url = "https://rpcs.chain.link/hyperevm/testnet"
w3 = Web3(Web3.HTTPProvider(rpc_url))

if w3.is_connected():
    print("Connected to RPC!")
    block_number = w3.eth.block_number
    print("Current Block Number:", block_number)
else:
    print("Failed to connect.")

cURL (Testing)

curl -X POST -H "Content-Type: application/json" \
     --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
     https://rpcs.chain.link/hyperevm/testnet

Expected Response:

{ "jsonrpc": "2.0", "id": 1, "result": "0x1f92031" }

For Users: Adding to Your Wallet

You can easily add this network to browser extension wallets like MetaMask or Rabby.

Using MetaMask

MetaMask is a popular browser extension wallet for Ethereum and EVM-compatible chains.

  1. Open your MetaMask wallet.
  2. Click the network selection dropdown at the top left.
  3. Click "Add network".
  4. At the bottom, select "Add a network manually".
  5. Fill in the form with the network details:
  6. Click "Save".

Using Rabby

Rabby is a browser extension wallet designed for multi-chain DeFi users with enhanced security features.

  1. Click on the "More" button, find "Add Custom Network".
  2. Press "Add Custom Network", or the edit button if editing an existing connection.
  3. Fill in the network details:
  4. Click "Confirm."

Supported JSON-RPC Methods

MethodDescription
net_versionReturns the current network ID (as a decimal string).
web3_clientVersionReturns the client software version string.
eth_blockNumberReturns the number of the most recent block (hex quantity).
eth_callExecutes a read-only call (no state change) against a contract. Only the latest block is supported.
eth_chainIdReturns the chain ID used for EIP-155 transaction signing (hex quantity).
eth_estimateGasEstimates the gas required to execute a transaction/call. Only the latest block is supported.
eth_feeHistoryReturns historical base fees, priority fee rewards, and gas usage ratios for a range of recent blocks.
eth_gasPriceReturns the node’s suggested gas price. Returns the base fee for the next small block.
eth_getBalanceReturns the account balance for an address. Only the latest block is supported.
eth_getBlockByHashReturns block details by block hash; can include full transactions when requested.
eth_getBlockByNumberReturns block details by block number; can include full transactions when requested.
eth_getBlockReceiptsReturns all transaction receipts for the specified block.
eth_getBlockTransactionCountByHashReturns the number of transactions in a block, by block hash.
eth_getBlockTransactionCountByNumberReturns the number of transactions in a block, by block number.
eth_getCodeReturns the EVM bytecode at an address. Only the latest block is supported.
eth_getLogsReturns log entries that match a filter object. Up to 4 topics and up to 50 blocks in query range.
eth_getStorageAtReturns the value from a storage slot at an address. Only the latest block is supported.
eth_getTransactionByBlockHashAndIndexReturns a transaction from a block, by block hash and transaction index.
eth_getTransactionByBlockNumberAndIndexReturns a transaction from a block, by block number and transaction index.
eth_getTransactionByHashReturns a transaction by its hash.
eth_getTransactionCountReturns the number of transactions sent from an address (the nonce). Only the latest block is supported.
eth_getTransactionReceiptReturns the receipt of a transaction by hash (includes status, gas used, logs).
eth_maxPriorityFeePerGasReturns the current max priority fee per gas (tip). Always returns zero currently.
eth_syncingReports node sync status. Always returns false.

The following HyperEVM-specific endpoints are available:

MethodDescription
eth_bigBlockGasPriceReturns the base fee for the next big block.
eth_usingBigBlocksReturns whether the address is using big blocks.
eth_getSystemTxsByBlockHashSimilar to the "getTransaction" analogs but returns the system transactions that originate from HyperCore.
eth_getSystemTxsByBlockNumberSimilar to the "getTransaction" analogs but returns the system transactions that originate from HyperCore.

Rate Limits

The RPC endpoint allows 1,000 requests per IP address within a 5-minute moving window.

Get the latest Chainlink content straight to your inbox.