HyperRPC
HyperRPC is a read-only JSON-RPC endpoint serving cryptographically verified data. Swap one URL, and data-heavy calls like eth_getLogs are served by HyperSync behind the scenes.
import { createPublicClient, http, parseAbiItem } from "viem";
import { base } from "viem/chains";
const client = createPublicClient({
chain: base,
- transport: http("https://mainnet.base.org"),
+ transport: http("https://8453.rpc.hypersync.xyz/<api-token>"),
});
// Every address USDC has blacklisted on Base, since block 0.
// Range-capped RPCs need thousands of calls for this; HyperRPC
// scans the whole chain in one.
const logs = await client.getLogs({
address: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
event: parseAbiItem("event Blacklisted(address indexed _account)"),
fromBlock: 0n,
toBlock: "latest",
});Range Queries (MIP-16)
HyperSync-style filtered queries over JSON-RPC, as a proposed open standard. HyperRPC will be the first RPC provider to support them.
Filter blocks, transactions, logs, traces and transfers across any block range, and page through the results.
- eth_queryBlocks
- eth_queryTransactions
- eth_queryLogs
- eth_queryTraces
- eth_queryTransfers
curl https://eth.rpc.hypersync.xyz/$ENVIO_API_TOKEN \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_queryLogs",
"params": [{
"filter": {
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
},
"fields": {
"logs": ["blockNumber", "blockTimestamp", "transactionHash", "data"]
},
"order": "desc"
}]
}'Same JSON-RPC interface, faster reads
Your RPC code stays the same; the infrastructure behind the endpoint changes.
| Other RPC providers | HyperRPC |
|---|---|
| Node data that can silently miss logs | Cryptographically verified data |
| Block-range caps on eth_getLogs | No block-range cap on eth_getLogs |
| Pricing that varies by method | Flat, predictable price per request |
| Rate limits on heavy workloads | Virtually no rate limit on paid usage |
Built for read-heavy workloads
The standard read methods on every supported chain, the client code you already have, and billing per request.
Same code
ethers, viem and web3 keep working for the read methods HyperRPC supports. Only the URL changes.
Standard read methods
eth_getLogs, blocks, transactions and receipts, plus trace_block on selected chains.
Metered per call
Free endpoints for development, then metered per call, with each method in a batch counted once.
Every chain by name or id
base.rpc.hypersync.xyz or 8453.rpc.hypersync.xyz: the same endpoint, either way.
Where HyperRPC fits
Wherever your code already reads chains over JSON-RPC.
Read-heavy workloads on HyperRPC
What teams say after moving their JSON-RPC reads to HyperRPC.
“I spent a few months testing different EVM indexers and now recommend everyone to use @envio… HyperRPC is also awesome, can easily sync a million events in less than an hour.”
fastfourier.ethPimlico
Pay per request
Start on the free tier, then pay $4 per million requests, billed monthly in arrears. Custom bundles are available for large volumes.
- DevelopmentFreeFor building and testing
- Metered$4/MPer million requests, $1 monthly minimum
- EnterpriseCustomCustom request bundles
HyperRPC FAQ
Supported methods and chains, how data is verified, tokens, traces and billing.
What is HyperRPC?
HyperRPC is a read-only JSON-RPC endpoint built for data-intensive reads, serving cryptographically verified data. It's a drop-in replacement for the read methods it supports.
HyperRPC overview →How is the data verified?
As each block is ingested, its transactions and receipts are used to recompute the roots in the block header, and data that doesn't match is refetched from another source. On chains where a transaction type can't be reconstructed yet, those checks are held back.
Nodes silently miss events →Should I use HyperRPC or HyperSync?
For new code, use HyperSync. It's faster and returns more in one query. HyperRPC is the quick win when existing code already speaks JSON-RPC.
HyperSync →