Skip to main content
Most JSON-RPC providers embed the API key in the URL path. GoldRush uses an Authorization header instead, so keys never appear in URLs, server logs, or screenshots. This means migrating involves two steps:
  1. Swap the URL.
  2. Add the Authorization: Bearer <key> header.
Below are concrete diffs for the most common providers.

From Infura

- https://mainnet.infura.io/v3/{INFURA_PROJECT_ID}
+ https://rpc.goldrushdata.com/v1/eth-mainnet
+ Authorization: Bearer <GOLDRUSH_API_KEY>
For libraries that take a URL string only, you’ll need to switch to the custom-headers pattern:
const provider = new ethers.JsonRpcProvider(
  `https://mainnet.infura.io/v3/${process.env.INFURA_PROJECT_ID}`
);

From Alchemy

Alchemy embeds the API key at the end of the URL path:
- https://eth-mainnet.g.alchemy.com/v2/{ALCHEMY_API_KEY}
+ https://rpc.goldrushdata.com/v1/eth-mainnet
+ Authorization: Bearer <GOLDRUSH_API_KEY>
debug_* and trace_* continue to work. See debug and trace for the per-chain support matrix.

From Ankr

- https://rpc.ankr.com/eth/{ANKR_API_KEY}
+ https://rpc.goldrushdata.com/v1/eth-mainnet
+ Authorization: Bearer <GOLDRUSH_API_KEY>

From a Solana provider (Helius, Triton, QuickNode)

Solana providers also embed the API key in the URL, usually as an ?api-key= query parameter. GoldRush moves it into the Authorization header, and serves the standard Solana JSON-RPC method set unchanged; your existing getAccountInfo, getProgramAccounts, sendTransaction, and subscription calls work as-is.
- https://mainnet.helius-rpc.com/?api-key={HELIUS_API_KEY}
+ https://rpc.goldrushdata.com/v1/solana-mainnet
+ Authorization: Bearer YOUR_GOLDRUSH_API_KEY
The WebSocket endpoint changes the same way:
- wss://mainnet.helius-rpc.com/?api-key={HELIUS_API_KEY}
+ wss://rpc.goldrushdata.com/v1/solana-mainnet
import { Connection } from "@solana/web3.js";

const connection = new Connection(
  `https://mainnet.helius-rpc.com/?api-key=${process.env.HELIUS_API_KEY}`
);
Provider-specific Solana extensions (Helius DAS / getAsset*, enhanced transaction parsing, webhooks, priority-fee APIs, etc.) are not part of the standard JSON-RPC surface and are not served here. For decoded, enriched Solana data (token balances, NFT metadata, transactions) use the GoldRush Foundational API; for real-time event streams use the Streaming API.

Chain slug mapping

Most providers use short chain names. GoldRush uses the canonical chain slugs from the supported chains list.
Common nameInfura/QuickNode subdomainGoldRush slug
Ethereummainneteth-mainnet
Polygonpolygon-mainnetmatic-mainnet
BNB Smart Chainbnb-mainnetbsc-mainnet
Arbitrumarb-mainnetarbitrum-mainnet
Basebase-mainnetbase-mainnet
HyperEVMn/ahyperevm-mainnet
MegaETHn/amegaeth-mainnet
Monadn/amonad-mainnet
Tempon/atempo-mainnet
Solanamainnet / mainnet-betasolana-mainnet

Provider extensions are not supported

GoldRush JSON-RPC implements the standard eth_*, net_*, web3_*, debug_*, and trace_* methods. Provider-specific extensions are intentionally not supported:
Extension namespaceProviderGoldRush equivalent
qn_*QuickNodeFoundational API
Token balance / transfer enrichmentvariousFoundational API: token balances and transfers
bor_*Polygon (Bor)n/a
If you depend on a provider extension, use the GoldRush Foundational API (decoded, typed REST) or the Streaming API (real-time event streams) instead.

Authentication

Header reference and per-library setup.

Quickstart

Copy-paste examples for every library.