- Explain what an RPC node is and why every Solana app needs one
- Make your first getBalance call and read the response
- Tell a read from a write, and know why a signature is not a confirmation
- Decide when a public endpoint is no longer enough
In this lesson +
Open a wallet, check a token price or run a trading bot, and something has to fetch data from Solana and hand it back. That something is an RPC node. You cannot see it, but every Solana app depends on one.
01The short answer#
RPC stands for remote procedure call: your program asks another computer to run a function and send back the result. A Solana RPC node is a server that keeps its own up-to-date copy of the blockchain and answers those calls for apps.
It runs the same software as a validator and follows every block the network produces, but it does not vote on blocks. Its job is to serve requests. When people say “Solana RPC” they usually mean two things together: the node, and the Solana RPC API it speaks, a set of JSON-RPC 2.0 methods like getBalance and sendTransaction.
02The journey of one request#
Say your wallet wants your SOL balance. The request leaves your app as a small JSON message over HTTPS, the RPC node looks up your account in its copy of the chain state, and the answer comes straight back. No validator is consulted and nothing is written to the chain.
Here is that exact call. You can paste it into a terminal with any mainnet endpoint:
And the shape of what comes back:
Two things to notice. context.slot tells you which point in the chain’s history the answer reflects (slots are covered in the next lesson). And value is in lamports, the smallest unit of SOL: 1 SOL is 1,000,000,000 lamports, so this wallet holds 2.5 SOL.
03Six methods to learn first#
The Solana RPC API has dozens of methods. These six cover most of what a beginner’s app does:
Every method and its parameters are listed in our Solana RPC reference, and the snippet library has runnable versions of several.
04Reads vs writes#
Almost every call is a read: the node answers from its own copy and nothing changes. There is essentially one write: sendTransaction. The node cannot add your transaction to the chain itself. It forwards it to the validator scheduled to produce the next blocks (the leader), which decides whether to include it.
05HTTP, WebSocket and gRPC: three doors into the same node#
HTTP requests are pull-based: you ask, it answers. That is perfect for one-off reads, but if you need to know the moment something changes, asking over and over is wasteful. So nodes offer push-based doors too:
- HTTP JSON-RPC: ask a question, get one answer. Best for balances, lookups and sending transactions.
- WebSocket subscriptions: keep a connection open and the node pushes JSON when an account, program or slot changes.
- Yellowstone gRPC: a high-throughput binary stream fed by the validator’s Geyser interface, with server-side filters. The usual choice for bots and indexers. See Yellowstone gRPC in the glossary.
Lesson 3, 5 ways to get real-time Solana data, compares these and two more options in depth.
06Public vs private endpoints#
Solana runs free public endpoints such as api.mainnet-beta.solana.com. They are great for learning, but they are rate-limited and the Solana docs say they are not intended for production apps. Signs you have outgrown them:
- You see HTTP
429 Too Many Requestserrors under normal use. - Some methods you need are disabled or slow on the public endpoint.
- You need WebSocket or gRPC streams that stay up for hours.
- Your users notice lag between the chain and your app.
At that point teams move to a provider endpoint, or very rarely, run their own node. NoLimitNodes offers HTTP RPC, WebSocket and Yellowstone gRPC endpoints on flat monthly plans, and our guide to sizing Solana RPC helps you work out how many requests per second you need.
Q1What does a Solana RPC node do when your wallet asks for a balance?
Q2getBalance returns 2500000000 for a wallet. How much SOL is that?
Q3sendTransaction returned a signature. What does that prove?
Frequently asked questions#
Is an RPC node the same as a validator?
No. Both run the same validator software and keep a copy of the chain, but a validator votes on blocks and may produce them, while an RPC node does not vote. It serves requests from apps instead.
Do I need my own RPC node?
Most teams do not run one. Running a mainnet RPC node needs high-end hardware and constant upkeep, so most apps use a provider endpoint and only self-host at very large scale.
Can I use the public Solana RPC endpoint in production?
The public endpoints are rate-limited and the Solana docs say they are not meant for production apps. Use them to learn, then move to a dedicated or provider endpoint.
What is the difference between Solana RPC and the Solana RPC API?
The RPC node is the server. The Solana RPC API is the set of JSON-RPC methods it answers, such as getBalance, getAccountInfo and sendTransaction.
Put this lesson on a live endpoint.
Every example in the Academy runs against standard Solana RPC, WebSocket and gRPC endpoints. Get one in under a minute and follow along with real data.