Before you begin, make sure you have:
A HypeRPC account — sign up for free at console.hyperpc.app
An active API key — generated from the Console dashboard
A Hyperliquid-compatible application or development environment
Log in to the HypeRPC Console and navigate to Products → Endpoints. Click Create Endpoint and choose your region:
Region | Code | Best for |
|---|
Japan | JP
| Lowest latency, closest to the Hyperliquid validator set. Trading bots, execution engines, real-time infrastructure |
Europe | EU
| Cost-efficient. Analytics, ETL jobs, and non-latency-critical workloads |
Your endpoint URL will look like this:
https://rpc.hyperpc.app/00a9a207-9e15-4a5e-abee-400554f330ef
Use your endpoint URL to send a standard EVM JSON-RPC request. Here is an example using cURL to call eth_blockNumber:
curl -X POST https:
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}'curl -X POST https:
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}'curl -X POST https:
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}'You should receive a response like:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1a2b3c"
}{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1a2b3c"
}{
"jsonrpc": "2.0",
"id": 1,
"result": "0x1a2b3c"
}The result field contains the current HyperEVM block number in hexadecimal format.
If you are building a JavaScript application, use ethers.js to connect:
import { ethers } from 'ethers';
const provider = new ethers.JsonRpcProvider(
'https://rpc.hyperpc.app/YOUR-ENDPOINT-ID'
);
const blockNumber = await provider.getBlockNumber();
console.log('Current block:', blockNumber);import { ethers } from 'ethers';
const provider = new ethers.JsonRpcProvider(
'https://rpc.hyperpc.app/YOUR-ENDPOINT-ID'
);
const blockNumber = await provider.getBlockNumber();
console.log('Current block:', blockNumber);import { ethers } from 'ethers';
const provider = new ethers.JsonRpcProvider(
'https://rpc.hyperpc.app/YOUR-ENDPOINT-ID'
);
const blockNumber = await provider.getBlockNumber();
console.log('Current block:', blockNumber);For Python applications, use web3.py:
from web3 import Web3
w3 = Web3(Web3.HTTPProvider(
'https://rpc.hyperpc.app/YOUR-ENDPOINT-ID'
))
print('Current block:', w3.eth.block_number)
print('Connected:', w3.is_connected())from web3 import Web3
w3 = Web3(Web3.HTTPProvider(
'https://rpc.hyperpc.app/YOUR-ENDPOINT-ID'
))
print('Current block:', w3.eth.block_number)
print('Connected:', w3.is_connected())from web3 import Web3
w3 = Web3(Web3.HTTPProvider(
'https://rpc.hyperpc.app/YOUR-ENDPOINT-ID'
))
print('Current block:', w3.eth.block_number)
print('Connected:', w3.is_connected())Page | What you'll learn |
|---|
Authentication | API key management and security best practices |
Rate Limits | Request limits per plan and how to handle 429 responses |
EVM JSON-RPC | All supported methods: eth_call, eth_getBalance, eth_getLogs, and more |
Data API | Market data, user state, and funding rates via REST |
WebSocket | Real-time orderbook and trade stream setup |