What is an RPC endpoint?
RPC stands for remote procedure call: one program asking another, on a different machine, to do something and return the result. On Ethereum and every compatible network, apps talk to nodes using a standard called JSON-RPC, sent over HTTPS or WebSocket.
An RPC endpoint is the URL of a node that answers those requests. Your wallet needs one per network to show balances and send transactions. Without a working endpoint, the wallet is blind, even though your funds are safe on-chain.
POST https://<rpc-endpoint>
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getBalance",
"params": ["0xYourAddress", "latest"] }
{ "jsonrpc": "2.0", "id": 1, "result": "0x2386f26fc10000" } // 0.01 ETH in weiHow a request travels
Reads are answered straight from the node's copy of the chain. A write is a transaction your wallet has already signed: the node checks it and passes it to its peers, and it is mined like any other. The RPC cannot change a signed transaction, but it can delay or drop it.
| Method | What it does |
|---|---|
eth_getBalance | Native balance of an address (ETH, POL, BNB...) |
eth_call | Read a contract without a transaction, e.g. an ERC-20 balance or a quote |
eth_estimateGas | How much gas a transaction would use |
eth_sendRawTransaction | Broadcast a transaction your wallet has signed |
eth_getTransactionReceipt | Whether a transaction was mined, and whether it succeeded |
Public vs private endpoints
Public endpoints are run by the network's foundation, a community or an infrastructure company as a free service. Private endpoints come from providers that sell capacity and add their own APIs on top.
| Aspect | Public endpoint | Private provider |
|---|---|---|
| Cost | Free | Free tier, then paid by usage |
| Rate limits | Low and shared with everyone | Higher, tied to your key |
| Reliability | Can throttle or fail at busy times | Monitored, usually with an uptime commitment |
| Extras | Standard methods only | Archive data, traces, webhooks, enhanced APIs |
| Privacy | The operator sees your IP and requests | The provider sees them too, under its privacy policy |
Well-known providers include Alchemy, Infura (MetaMask's default), QuickNode, Ankr and dRPC. Plans and free tiers change often; compare them on their own sites. Some services, such as Flashbots Protect on Ethereum, are RPC endpoints that send transactions privately to block builders instead of the public mempool. See MEV protection.
How ChainBridge uses RPCs
Your wallet sends the transaction
When you sign a swap, your wallet broadcasts it through its own RPC. Changing your wallet's endpoint changes where your transactions go.
The app reads balances
The interface reads balances and receipts from a public endpoint for each of the eight supported networks, independently of your wallet's connection.
Aggregators run their own nodes
0x, KyberSwap and ParaSwap price routes from their own infrastructure. ChainBridge calls their APIs, so it does not need to run a node per chain to quote.
Simulation and checks on the server
Before you sign, the swap is simulated with Tenderly against current state, and server-side checks query several endpoints with fallback.
When an RPC fails
| Symptom | Likely cause | What to do |
|---|---|---|
| Balance or nonce looks wrong | The node is a few blocks behind | Check the address on a block explorer. Switch RPC if the gap persists. |
| Transaction stuck as pending | The RPC accepted it but did not propagate it, or the gas price is too low | Look up the hash on an explorer. If it is unknown, resend through another RPC; if it is known, speed it up from your wallet. |
| Requests fail with 429 or 5xx errors | Rate limit or provider outage | Add a second RPC for that network in your wallet and switch. |
| A call reverts that should succeed | Stale state, often right after a new block or a reorg | Wait a few seconds and refresh the quote. |
Choosing an RPC
- Occasional use: the wallet's default is fine. Note one backup endpoint per network you use, from the network's official docs or a site like chainlist.org, and check the chain ID matches.
- Active trading: a free account with a major provider gives you your own key and higher limits.
- Privacy: spread activity across providers, use a private transaction RPC on mainnet, or run your own node.
- Building an app: use at least two providers with automatic fallback, and never ship a provider key in browser code if it has paid quota.
Developers can query ChainBridge quotes without a node or a key: see the API developer guide.