Ever wonder how a crypto wallet magically talks to a blockchain network spread across thousands of computers worldwide?
In this article, you will learn everything you need to know about what a Blockchain RPC node is, its key functions, types, and providers.
First, let’s understand what RPC means and what RPC protocols are.
Remote Procedure Call (RPC) is a protocol that enables applications to request services—such as login verification, file downloads, or database queries—from programs on other computers.
An RPC allows one program (the client) to communicate with another (the server) and execute code. When a client makes an RPC call, the request travels over the network to an RPC server, which processes it and returns a response.
How is this relevant to blockchain?
In distributed systems like blockchains, an RPC node is a server that provides an interface for applications to interact with the network. It allows decentralized applications (dApps) and other clients to communicate with the blockchain using one or multiple nodes, to query blockchain data, and send transactions.
RPC nodes provide access to data access and submit transactions. Validator nodes, on the other hand, participate in consensus and block validation, and are crucial for maintaining the blockchain state, specifically for proof-of-stake-based networks. A node can be both a validator node and an RPC node, it can also just be an RPC node or a validator node.
What complicates things is that naming conventions also differ across networks.
Bitcoin and Ethereum nodes are critical to maintaining their respective blockchain networks. Each has unique node types tailored to their architectures, offering varying functionalities and resource requirements.
While Bitcoin's "full nodes" are analogous to Ethereum's "archive nodes," Ethereum's "full nodes" periodically prune data, aligning more closely with Bitcoin's "pruned nodes." Both networks offer diverse options, accommodating varying user needs and technical capabilities.
Each RPC node is made of different components, some are standard, some depend on the provider (more on providers later):
Request Decoder: It interprets and validates incoming requests, extracts key details, and standardizes them for processing. It ensures correct formatting for internal handling.
Router: It directs all incoming requests within an RPC node, optimizing their communication pathways to the Core Engine. Thus, it ensures responses reach the correct client.
Examples: Libp2p, Polkadot's message queue
Response Encoder: It formats, compresses, and finalizes processed results into readable outputs (e.g., JSON or XML). It then sends the response to the Client Handler for delivery.
Example decoders/encoders: Ethereum - JSON-RPC server, Bitcoin - JSON-RPC server (Bitcoin Core)
This diagram illustrates the full journey from request to response, showing how the RPC node moves from the client handler to the response encoder. The Core Engine is external to this flow (though the line passes through it in the graphic for clarity).
Clients access RPC nodes to:
We've covered how RPC nodes work, so now it’s time to explore how developers use them.
An RPC endpoint is the URL or address where applications send RPC requests to interact with the blockchain. Here’s an example URL of an RPC endpoint for a gateway to Ethereum: https://ethereum-rpc.publicnode.com/
The endpoints accept specific Application Programming Interface (API) methods corresponding to different blockchain operations. These methods follow a standard format, making it easy for developers to build applications across different RPC providers. Standard Ethereum JSON-RPC API methods include:
eth_getBalance
eth_sendTransaction
eth_call
eth_getBlockByNumber
eth_getTransactionReceipt
However, understanding RPC methods is only half the story. Reliable blockchain applications must be able to handle the errors that can occur during RPC interactions.
Common RPC errors include:
With a good grasp of RPC endpoints and what they do, we can now explore the different types and providers.
Public nodes provide free, open access to blockchain networks. Anyone can connect without authentication, making them ideal for testing and development. However, they often have strict rate limits and can be unreliable during high network congestion.
Ethereum and other blockchain foundations maintain public nodes but they're not suitable for production applications.
Providers: Chainstack, Ankr
Private RPC nodes are self-hosted RPC endpoints that organizations run for themselves. They offer complete control over infrastructure and configuration but require significant technical expertise and resources. Large crypto players like Coinbase and Binance run their own nodes to ensure service reliability.
Managed RPC services handle all node operations, providing high availability and reliability. They offer multiple service tiers with different rate limits and features. These services abstract away infrastructure complexity and provide additional monitoring and analytics tools. They're popular among dApp developers and enterprises that need reliable blockchain access.
Providers: Infura, Alchemy, QuickNode
Dedicated (managed) RPC nodes are endpoints that give a single client exclusive access to resources. Unlike shared nodes, they offer guaranteed resources and higher rate limits. They're ideal for high-traffic applications that need consistent performance. These nodes provide better performance than shared services but cost more.
Providers: BlockDaemon, GetBlock
Archive RPC nodes maintain the complete record of the blockchain, allowing queries about any historical block state. They require a lot of storage and are essential for applications that analyze historical data. While expensive, an archive node is crucial for applications like blockchain explorers and analytics platforms.
Providers: QuickNode, Alchemy
However, despite these options, some developers chose to run their own nodes.
Developers and Web3 teams that need complete control over configuration may consider running their own RPC node. Managing them requires enough storage space, adequate RAM, a reliable internet connection, lots of processing power, and regular maintenance.
There are the pros and cons to considering running an RPC node:
Pros: complete control, no reliance on third parties, enhanced privacy, increased security, direct network access
Cons: hardware costs, necessary technical expertise, maintenance overhead, resource consumption, syncing time
Regardless of whether you choose to run your own or rely on a provider, your RPC node must be secure.
RPC nodes face unique security challenges because they:
However, their security needs depend on their operation mode—private or managed.
Operating a private RPC node requires securing the node itself and limiting access. Key measures include:
Managed services face broader challenges, from sophisticated attacks to multi-tenant vulnerabilities, including:
eth_call
operations to overload resources.For private nodes: Apply strong access controls, monitor usage, and enforce resource limits.
For managed services: Introduce randomized request routing, require security deposits, and deploy anomaly detection. Make resource-heavy operations interruptible where feasible.
By addressing these challenges with targeted strategies, you can enhance the security and resilience of RPC nodes in any deployment scenario.
RPC (remote procedure call) nodes connect dApps with blockchains. They perform transactions, query data, and interact with smart contracts.
Providers offer various RPC nodes, from free public to secure private ones. Running your own node gives you full control but requires technical expertise and resources. Solutions to improve architecture, implement smart protection systems, and make technical improvements aim to make RPC nodes more secure.
Want to deepen your understanding? Jump into Cyfrin Updraft’s lesson to learn more about Alchemy's Supernode and how it works in practice.