Skip to content
0%

What is an RPC node?

Alchemy team headshot

Written by Alchemy

Published on April 11, 20258 min read

Every time your app checks an onchain balance, submits a transaction, or reads a contract event, it's asking a question only a blockchain node can answer. Where that question goes, and who answers it, decides how fast and how reliable your app feels to a user. That job belongs to an RPC node: a server running blockchain client software that answers your app's requests with blockchain data.

What is a remote procedure call (RPC)?

A remote procedure call, or RPC, is a protocol that lets a program on one machine ask a program on another machine to run something and send back the result, without the first program needing to know how that remote system works internally. In blockchain, your app is the client and the node answering its requests is the server.

What is an RPC node?

An RPC node is a computer running blockchain client software that can receive JSON-RPC requests and respond with blockchain data: balances, block data, transaction receipts, contract state, or the result of broadcasting a signed transaction.

On Ethereum, a node runs two clients side by side: an execution client such as Geth and a consensus client such as Lighthouse. There are several types of Ethereum nodes: light nodes keep only block headers, full nodes keep the current state, and archive nodes keep every historical state. On Solana, the roles split differently: Solana RPC nodes run the same validator software and do everything a validator does except vote on the validity of blocks. They don't vote, and they don't earn rewards. Their job is to serve data to apps.

What is an RPC endpoint?

An RPC endpoint is the network location where a program sends its RPC requests to access the server's data, such as an Ethereum RPC endpoint. Most documentation uses node and endpoint interchangeably, since every RPC endpoint runs on a node. The difference shows up with a provider: one endpoint URL fronts a whole fleet of nodes, so your requests aren't tied to a single machine.

RPC is how your app asks, the node is who answers, and the endpoint is where the request goes.

Term
What it is
Example

RPC

A protocol for asking a program on another machine to run something and return the result

Your app asking for a wallet's balance

RPC node

A server running blockchain client software that answers RPC requests with chain data

A machine running Geth and Lighthouse, or a Solana RPC node

RPC endpoint

The URL your app sends RPC requests to

https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

How do RPC nodes work?

Your app sends a request to the node's endpoint, the node runs it against its copy of the chain, and it sends back the result. Those requests are written in JSON-RPC, the standard RPC specification used in blockchains, defined by the JSON-RPC 2.0 specification. Each request is a small JSON object naming a method and its parameters.

A JSON-RPC request is a plain HTTP POST. This one asks an Ethereum endpoint for the latest block number:

bash
Copied
curl https://eth-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY \ -X POST -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Each network publishes its own method list: Ethereum has its JSON-RPC API documentation and Solana has its RPC API documentation. Ethereum groups its core methods into three categories:

  1. Gossip methods track the head of the blockchain and are used for finding blocks.
  2. State methods report the current state of the blockchain's data, such as balances and contract storage.
  3. History methods retrieve historical records of any block on the chain.

Should I use a public or private RPC endpoint?

Use a public endpoint for testing and a private endpoint for anything real users touch. Public endpoints are shared, rate-limited, and free. They're fine for a quick test or a tutorial, but they carry no uptime guarantee and no support, so production traffic from real users will eventually hit their limits.

Private endpoints give your app its own access, either through a node you run yourself or a keyed URL from a provider. With a provider you get your own rate limits, published uptime, and a team to call when something breaks. The URL is yours alone, but the nodes behind it are shared. If you need hardware reserved for one customer, that's what Dedicated Clusters are for. Production apps should run on a private endpoint.

What affects RPC latency?

Three things account for most of the latency an app sees:

  • Region distance. A request from Singapore to a node in Virginia pays the round trip, however fast that node is.
  • Shared vs reserved capacity. A public endpoint queues your request behind everyone else's. A private endpoint has its own rate limit, and dedicated infrastructure removes the sharing entirely.
  • Method type. A current-state eth_call and a wide-range eth_getLogs are different workloads with different latencies.

Alchemy publishes a public benchmark that measures this. For each method, every provider gets the same JSON-RPC payload, chain, region, timeout, and success criteria, sent from shared runner regions on standard paid accounts. Latency counts only successful responses, and failures are tracked separately. Live uptime is at status.alchemy.com, and Alchemy vs QuickNode has a provider-by-provider comparison.

How do I choose the right RPC setup?

Three questions settle most of this decision:

  1. Which chains do you need to support? Self-hosting means a separate node stack for every chain. A provider covers them from one account.
  2. How much request volume and what latency do you expect at peak? Size for your busiest hour, not your average day. Public endpoints throttle exactly when traffic spikes.
  3. How much support and uptime guarantee does your business actually require? If an hour of downtime costs you revenue or users, you need published uptime and someone to call.
Your workload
Recommended setup

Local development, test suites, tutorials

A public endpoint is fine

Production app with real users

A private endpoint from a provider

An app spanning several chains

A provider, with one endpoint per chain

Log-heavy indexing and historical reads

A private endpoint, plus Data APIs where they replace many calls

Strict data residency or custom client configuration

Your own node, or Dedicated Clusters

Teams building across several chains or scaling past a side project usually land on a provider. Teams with narrow, specialized infrastructure needs sometimes justify running their own node alongside it. If you're weighing the two, how to choose a blockchain node provider has the full checklist, and the guide below prices out building in-house.

Build vs. Buy: Blockchain Infrastructure ebook cover
Free guide

Build vs. Buy: Blockchain Infrastructure

Before you hire an infra team, read this: building in-house can cost $850K–$1.4M a year before you serve a single production request. See the full cost breakdown.

Download the guide

Get started with Alchemy Node RPC

Alchemy Node RPC covers 70+ chains, including Ethereum, Solana, Base, and Robinhood Chain. The chain directory lists the RPC URL, chain ID, and supported products for every network.

  1. Create an Alchemy account.
  2. Create an app and pick your chain and network. The dashboard walks you through it.
  3. Copy your endpoint URL and send your first request. The eth_blockNumber call above works as soon as you set your API key.

Need hardware reserved for your team, or limits beyond a standard plan? Talk to our team about Dedicated Clusters.

Frequently asked questions

What is an RPC node?

An RPC node is a computer running blockchain client software that answers apps' requests for blockchain data over JSON-RPC. It returns balances, blocks, transaction receipts, and contract state, and it broadcasts signed transactions to the network.

What is an RPC endpoint?

An RPC endpoint is the network location where a program sends its RPC requests to access the server's data. In practice it's a URL, such as https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY, served by one or more RPC nodes.

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

The node is the server running blockchain client software. The endpoint is the URL your app sends requests to. If you run your own node, the endpoint points at that one machine. With a provider, a single endpoint URL fronts a fleet of nodes.

How do RPC nodes work?

Your app sends a JSON-RPC request naming a method, such as eth_getBalance, to the node's endpoint. The node runs that method against its copy of the chain and returns the result as JSON.

What is the JSON-RPC protocol?

JSON-RPC is the standard RPC specification used in blockchains: each request is a small JSON object with a method name, parameters, and an ID. Ethereum groups its core methods into gossip methods (finding new blocks), state methods (current balances and storage), and history methods (past blocks and transactions).

What is the difference between an RPC node and a full node?

A full node stores and verifies the blockchain's history. An RPC node is any node, full or otherwise, configured to accept and answer RPC requests. Most RPC nodes are full nodes, but the terms describe different things: one is about data completeness, the other is about serving requests.

Is an RPC node the same as a validator?

No. A validator participates in consensus, voting on blocks and earning rewards for it, while an RPC node serves data to apps. On Solana, an RPC node runs the same validator software and does everything a validator does except vote on the validity of blocks, so it earns no rewards.

What are the different types of RPC endpoints?

There are two main types. Public endpoints are shared, free, and rate-limited, and private endpoints give your app its own access. Many production teams also configure an alternative RPC endpoint as a fallback in case the primary fails.

Why would I need a private endpoint instead of a public one?

A private endpoint gives you your own rate limits, published uptime, and support, and a public endpoint offers none of those. Without one, an app with real users gets throttled at exactly the moment traffic spikes.

Are free public endpoints good enough for production?

No. They're fine for local development, tutorials, and test suites, but they're shared, rate-limited, and come with no uptime guarantee or support. Anything serving real users belongs on a private endpoint.

Can one RPC endpoint serve multiple chains?

No, a single RPC endpoint is scoped to one network. Multi-chain apps connect to a separate endpoint per chain, though a provider can give you one dashboard to manage all of them.

How does RPC latency affect my app?

Every onchain read in your interface waits on an RPC response, so node latency surfaces directly as page-load and confirmation delay for the user. The levers that matter most are how far the request travels, whether capacity is shared or reserved, and which method you're calling.

When should I use raw JSON-RPC vs a Data API?

Use raw JSON-RPC when you need a specific node method, such as reading current contract state with eth_call or broadcasting a signed transaction. Use a Data API when you would otherwise stitch together many JSON-RPC calls, like assembling a wallet's full token balances or transaction history, where one request replaces dozens.

What's the difference between running your own RPC node and using a node provider?

Running your own node gives you full control, but you own the hardware, the days-to-weeks sync, client upgrades, and the on-call rotation. A provider like Alchemy handles all of that, so you can send requests across many chains within minutes.

What blockchains support RPC nodes?

Every major blockchain exposes an RPC interface, including Ethereum, Solana, Base, Arbitrum, Optimism, and Monad. Alchemy Node RPC supports 70+ chains from one account, including Robinhood Chain.

Why are RPC endpoints important for developers?

They're how your app reads and writes onchain data without running its own infrastructure. Every balance check, contract read, and transaction your app sends goes through an RPC endpoint.

How can I get started with RPC nodes?

Create an Alchemy account, create an app for your chain and network, and copy the endpoint URL from the dashboard. Your first request can go out as soon as you set your API key.

Background gradient

Build blockchain magic

Alchemy combines the most powerful web3 developer products and tools with resources, community and legendary support.