Skip to main content

GoldRush JSON-RPC

Multi-chain JSON-RPC service backed by an analytics-driven router that scores every (provider, chain, endpoint) triple by success rate, p50/p95 latency, error class, and cost, and dispatches each call to whichever upstream is currently winning that route.
  • Endpoint: https://rpc.goldrushdata.com/v1/{chain} (HTTP); wss://rpc.goldrushdata.com/v1/{chain} (Solana subscriptions)
  • Pricing: pay-per-call from your GoldRush credit balance
  • EVM namespaces: eth_*, net_*, web3_*, debug_*, trace_*
  • Solana: full account/block/transaction/token/slot/network/inflation method set + WebSocket subscriptions
  • Depth: full archive (per-chain coverage varies for debug_*/trace_*)
  • SLA: 99.9% monthly uptime for production accounts
The same GoldRush API key works across all GoldRush products. Authentication is via Authorization: Bearer <key> HTTP header, so keys never appear in URLs.

Header-based auth pattern

POST /eth-mainnet HTTP/1.1
Host: rpc.goldrushdata.com
Authorization: Bearer <GOLDRUSH_API_KEY>
Content-Type: application/json

{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}
For libraries: pass headers via the standard custom-fetch / custom-headers transport.
// ethers v6
const url = "https://rpc.goldrushdata.com/v1/eth-mainnet";
const fetchReq = new ethers.FetchRequest(url);
fetchReq.setHeader("Authorization", `Bearer ${process.env.GOLDRUSH_API_KEY}`);
const provider = new ethers.JsonRpcProvider(fetchReq);

// viem
const client = createPublicClient({
  transport: http("https://rpc.goldrushdata.com/v1/eth-mainnet", {
    fetchOptions: { headers: { Authorization: `Bearer ${process.env.GOLDRUSH_API_KEY}` } },
  }),
});

// web3.js
new Web3(new Web3.providers.HttpProvider(
  "https://rpc.goldrushdata.com/v1/eth-mainnet",
  { headers: [{ name: "Authorization", value: `Bearer ${process.env.GOLDRUSH_API_KEY}` }] }
));

// web3.py
Web3(Web3.HTTPProvider(
  "https://rpc.goldrushdata.com/v1/eth-mainnet",
  request_kwargs={"headers": {"Authorization": f"Bearer {GOLDRUSH_API_KEY}"}},
))

Launch chains

SlugChainChain ID
eth-mainnetEthereum1
matic-mainnetPolygon137
bsc-mainnetBNB Smart Chain56
arbitrum-mainnetArbitrum42161
base-mainnetBase8453
hyperevm-mainnetHyperEVM999
megaeth-mainnetMegaETH4326
monad-mainnetMonad143
tempo-mainnetTempo4217
solana-mainnetSolanan/a (SVM)
Solana uses the Solana JSON-RPC method set (not eth_*), over HTTP and over WebSocket (wss://rpc.goldrushdata.com/v1/solana-mainnet) for subscriptions. With @solana/kit: createSolanaRpcFromTransport(createDefaultRpcTransport({ url, headers: { Authorization: \Bearer {key}\` } }))`. With `@solana/web3.js`: `new Connection(url, { httpHeaders: { Authorization: \`Bearer ` } })`.

Product decision matrix

NeedUse
Raw eth_call, eth_getLogs, eth_sendRawTransactionJSON-RPC
debug_traceTransaction, trace_block, archive historyJSON-RPC
Token balances, NFT metadata, USD pricing, decoded eventsgoldrush-foundational-api (REST)
Real-time event subscriptions over WebSocketgoldrush-streaming-api (GraphQL/WS)
Autonomous agent without an API keygoldrush-x402 (pay-per-call)

Cross-reference

JSON-RPC is the lowest-level GoldRush product. For most application-level needs (wallet UIs, dashboards, agents), one of the higher-level products is a better fit. JSON-RPC is the right choice when you need primitives, i.e. when the response of a Foundational API call would already be one round-trip too many.

Reference Files

FileWhen to read
overview.mdNeed the full product overview, pricing details, or quickstart code
methods.mdNeed the full EVM method catalog, per-method parameters/returns, or the debug_*/trace_* per-chain support matrix
methods-solana.mdNeed the Solana (SVM) method catalog, per-method parameters/returns, commitment/encoding semantics, or the WebSocket subscription methods
quickstart.mdNeed per-library setup boilerplate (ethers, viem, web3.js, web3.py for EVM; @solana/kit, @solana/web3.js, solana-py for Solana) or the authentication header reference