Skip to content
HeroRPC

GUIDENodes, 7 chapters

What is an RPC node? Real requests, real answers

An RPC node is a blockchain node that answers questions from apps. Your wallet, bot or website sends it a short message like "what is my balance?" or "send this transaction", and the node replies from its own copy of the chain.

Most explanations stop there. We sent real requests to four chains in October 2026 and show you the exact answers, so you can see what your app sees.

Then the parts every developer runs into: the fields of a request, error codes, ports, the kinds of endpoint you can use, and how to keep a node you run yourself safe.

Updated
Docs checked
Read
10 min

Where do you want to start?

In this guideThe quick answer

Quick answer

What is an RPC node, in short?

An RPC node is a node that keeps a copy of a blockchain and opens a door for apps to talk to it. RPC means remote procedure call: your app asks the node to run a function and send back the result.

The door has an address, called the RPC endpoint. Apps send requests there, usually as small JSON messages over HTTPS or WebSocket.

It reads and relays. It answers questions about blocks, balances and contracts, and passes your signed transactions to the network. On most chains it does not make blocks itself.

  • Same software as other nodes, with the API turned on
  • Answers in JSON, one reply per request
  • Never needs your private key

CHAPTER 01

What an RPC node does, and what it does not

A node with its API switched on. Nothing more mysterious than that.

An RPC node is a full or archive node that serves an API. It stores the chain, checks every new block, and answers app requests about that data. It also forwards transactions to the rest of the network.

Every wallet and dapp needs one. When MetaMask shows your balance, it asked an RPC node. When you press send, your wallet signs the transaction on your device and an RPC node passes it on.

"RPC node" names a job, not a different kind of software. On Solana the docs say it plainly: the RPC node runs the same software as a validator, but it "does not participate in the consensus process". It spends its power on answering requests.

An RPC node next to a validator
QuestionRPC nodeValidator
Keeps a copy of the chainYesYes
Answers app requestsYes, that is its jobUsually closed to apps
Makes or votes on blocksNoYes
Needs stakeNoOn proof of stake chains
Earns rewardsNoYes, with risk

Small or test setups sometimes do both on one machine. Solana's docs advise against it on mainnet, because the node does neither job well.

How much history an RPC node can answer about depends on the node type. A full node answers about recent state; for balances at old blocks you need an archive node. The hardware each chain needs is in the node requirements index.

CHAPTER 02

How an RPC request works, with real answers

Four steps, then five real requests you can copy.

Your app writes a small JSON message naming a method and its inputs, sends it to the endpoint, and the node looks up the answer in its copy of the chain and sends back JSON with the same id.

  1. Step 1: Your app writes the requestA method name like `eth_blockNumber`, its inputs, and an id to match the reply.
  2. Step 2: It goes to the endpointOver HTTPS for one question, or over a WebSocket kept open for a stream of them.
  3. Step 3: The node looks it upIt reads its own database. No other node is asked, which is why a node that falls behind gives stale answers.
  4. Step 4: The reply comes backEither a `result` or an `error`, never both, with the same id.

Here is what that looks like. We asked public mainnet nodes the same simple question in October 2026: how far along is the chain? Pick a chain to see the request, the exact reply, and what it means.

Real requests

One question, asked to four chains

Choose an example

What is the newest block?

request
curl https://YOUR-ENDPOINT \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
response
{"jsonrpc":"2.0","result":"0x190fa4c","id":1}

0x190fa4c is hexadecimal for block 26,278,476. Ethereum sends every number in hex with a 0x in front, so your code converts it.

Answer from a public mainnet node, October 2026. Method reference: Ethereum JSON-RPC docs.

Notice that each chain speaks its own dialect. Ethereum sends numbers in hex. Solana counts slots. Bitcoin Core uses an older reply format by default. Cosmos takes a plain web address. Libraries like ethers.js or @solana/kit hide these details, but this is what travels under them.

Quick check: An Ethereum node replies with "result":"0x10". What number is that?

CHAPTER 03

The parts of a request, a reply and an error

Four fields out, three fields back, and five error codes worth knowing.

Most chains use JSON-RPC 2.0. A request has "jsonrpc", "method", "params" and "id". A reply has "jsonrpc", "id" and either "result" or "error". The JSON-RPC 2.0 specification defines the error codes every node uses.

The fields of a JSON-RPC 2.0 request and reply
FieldInWhat it holds
jsonrpcBothAlways the text "2.0"
methodRequestThe function to run, such as eth_getBalance or getSlot
paramsRequestThe inputs, as a list or an object. Some methods take none
idBothA number or text you choose. The reply carries it back. Leave it out and the node sends no reply at all
resultReplyThe answer, when the call worked
errorReplyA code and a message, when it did not

Error codes you will meet

Standard JSON-RPC error codes and what to do
CodeMessageWhat went wrongWhat to check
-32700Parse errorThe node could not read your JSONA missing quote or bracket in the body
-32600Invalid RequestValid JSON, but not a proper requestThe jsonrpc and method fields
-32601Method not foundThe node does not offer that methodSpelling, or a method your node or plan does not enable
-32602Invalid paramsThe inputs are wrongNumber of inputs, hex format, address length
-32603Internal errorThe node failed while answeringRetry; if it repeats, the node needs attention
-32000 to -32099Server errorCodes each client defines itselfThe message text, which says more

Codes and messages from the JSON-RPC 2.0 specification. Rate limits are not JSON-RPC errors: a busy shared endpoint answers with HTTP status 429 before your request reaches a node.

Which block are you asking about?

Many methods take a block as an input. On Ethereum you can pass a number or a tag: latest (newest block), safe, finalized (cannot be reversed), pending or earliest (block 0), as the Ethereum JSON-RPC docs list them. Solana calls it commitment: processed is newest but can still be rolled back, confirmed has votes from more than two thirds of stake, and finalized is the default.

CHAPTER 04

HTTP, WebSocket and the ports each node uses

Ask once over HTTP, or keep a WebSocket open for live updates.

HTTP is for single questions: send, get one answer, done. WebSocket keeps a connection open so the node can push new blocks, logs or account changes to you as they happen. Each client listens on its own default port, such as 8545 for Geth over HTTP and 8546 for its WebSocket.

Use HTTP for reads and sending transactions. Use WebSocket when you would otherwise ask "anything new?" every second: a trading bot watching blocks, or a wallet waiting for a payment to land. Subscriptions like eth_subscribe or Solana's accountSubscribe only work over WebSocket.

Default RPC ports, from each client's own code or docs
ClientChainHTTPWebSocket
GethEthereum85458546
Bitcoin CoreBitcoin8332None
Solana local nodeSolana88998900
CometBFTCosmos Hub2665726657, path /websocket

Checked October 2026. Geth and CometBFT listen only on the machine itself (127.0.0.1) unless you change it. Bitcoin Core's port is set in its chain parameters code.

On a hosted node you never type these ports. You get a private address, and the provider routes it to the right port behind its firewall.

CHAPTER 05

Public, shared, dedicated or your own RPC node

Four ways to get an endpoint, from free to fully yours.

You can use a free public endpoint, a shared paid plan, a dedicated node someone runs for you, or a node you run yourself. They answer the same calls. They differ in limits, price, and who else uses the node.

Four ways to get an RPC endpoint
KindWho uses itHow you payGood for
Public endpointAnyoneFreeTrying things out and quick scripts
Shared planMany paying customersPer request, in credits or unitsApps with low or uneven traffic, many chains
Dedicated nodeOnly youFlat monthly priceSteady heavy traffic, bots, indexers
Your own nodeOnly youServer cost plus your timeTeams with someone to look after it

Public endpoints are tightly limited. Solana's public mainnet endpoint allows 100 requests every 10 seconds per IP address, and 40 for any one method, and its cluster docs say these endpoints "are not intended for production applications".

Shared plans lift those limits for a fee, but bill per request and cap requests per second. The dedicated vs shared RPC guide finds the traffic where a flat node becomes cheaper, and the RPC pricing index prices six providers for the same traffic.

CHAPTER 06

Running your own RPC node safely

The official docs agree: do not open the RPC port to the internet.

Keep the RPC port closed to the internet and put a proxy with a password or key in front of it. Geth's docs warn that bots constantly scan for open Ethereum nodes, and Bitcoin Core's docs say not to enable RPC over the public internet at all.

The warnings are blunt. Geth: "there are bots that continually scan for http-enabled Ethereum nodes to attack". Bitcoin Core: "Do not enable RPC connections over the public Internet", because its RPC was not hardened for arbitrary internet traffic and, without TLS in front of it, sends logins in clear text.

Before you open a node to your app

0 of 6 done

CHAPTER 07

What an RPC node costs on HeroRPC

A whole node, one flat price, ready within a day.

A dedicated RPC node on HeroRPC costs from $139 a month ($139 on Ethereum), with no per-request billing and no setup fee. Archive nodes start at $289. Your private endpoint is ready within 24 hours of payment.

Each node runs on its own server with a backup node beside it. The RPC port stays on localhost and your app reaches it through a private endpoint that needs your key, so the safety list above is already done. You also get the server logins, and you pay in crypto.

Pick a chain on the dedicated nodes page or compare every chain on node pricing.

QUESTIONS

RPC node questions

What is an RPC node in simple terms?

A blockchain node that answers questions from apps. Your wallet or app sends it a request, like "what is this balance?", and the node replies from its own copy of the chain. It also passes your signed transactions to the network.

What is the difference between an RPC node and an RPC endpoint?

The node is the server running the blockchain software. The endpoint is the address your app sends requests to. One endpoint can lead to one node, or to many nodes behind a load balancer on a shared plan.

Is an RPC node the same as a validator?

No. A validator makes or votes on blocks and usually needs stake. An RPC node answers app requests and does not take part in consensus. They can run the same software.

Does an RPC node need my private key?

No. Your wallet signs the transaction on your device and sends the signed result. The node only passes it on. Never put a private key on a server that answers RPC requests.

What port does an RPC node use?

It depends on the client. Geth uses 8545 for HTTP and 8546 for WebSocket, Bitcoin Core 8332, a local Solana node 8899 and 8900, and CometBFT 26657. These ports should stay closed to the internet, behind a proxy.

Can I use a free public RPC endpoint for my app?

For testing, yes. For a live app, no: public endpoints have tight limits (Solana's allows 100 requests per 10 seconds per IP) and Solana's own docs say they are not meant for production.

What does error -32601 mean?

Method not found. The node does not offer the method you called. Check the spelling, and check that the method is turned on for your node or plan.

ABOUT

How we made this guide

In October 2026 we sent one request to a public mainnet node of Ethereum, Solana, Bitcoin and the Cosmos Hub, plus one request with a misspelled method, and copied the replies as received (the Cosmos reply is shortened to the lines we explain). The endpoint is shown as a placeholder because any node of that chain answers the same way. Ports, error codes and warnings come from each project's own docs or code, checked in October 2026. HeroRPC prices are our own list prices.

Written by

HeroRPC team

Written and checked by the people who run HeroRPC's builder and node servers. Every figure links to its source.

Published . Last updated .

Get an RPC node that answers only you

A private endpoint on its own server, from $139 a month. Pick the chain, pay in crypto, and it is ready within 24 hours.