If you have spent any time reading blockchain infrastructure docs, you have seen "RPC," "node," and "API" used almost interchangeably. People say "point your app at an RPC," "spin up a node," and "call the API" as if they were three names for the same thing. They are not. They are three different layers, and confusing them makes it harder to reason about what your app depends on and where it can break.
This article draws the lines clearly. None of these terms competes with the others; each sits at a different level. A node is the machine and software. RPC is the protocol you use to talk to it. An API is the broader category that RPC is one type of. Get that hierarchy straight and the rest of the vocabulary falls into place.
The short answer
Before the details, here is the whole thing in three sentences.
A node is a computer running blockchain client software that holds a copy of the chain and can answer questions about it. RPC (Remote Procedure Call) is the interface style your application uses to send that node a request and get a response. An API (Application Programming Interface) is the general concept of a defined way for two programs to talk to each other, and blockchain RPC is a specific kind of API.
So "RPC vs node" is not really a versus at all: the node is the thing, and RPC is how you reach it. "RPC vs API" is a category question: RPC is an API, just a particular flavor of one.
What a node is
A node is a machine (physical or virtual) running the client software for a given blockchain. It stores a copy of the ledger, validates blocks and transactions against the network's rules, and stays in sync with its peers. Per ethereum.org, running a node is what lets you verify data against the network's consensus rules yourself instead of trusting a third party to report it honestly.
The key point: a node is infrastructure. It is a running process on a server somewhere, consuming CPU, disk, and bandwidth. When people say "we run our own nodes" or "our provider's nodes went down," they mean literal machines. For a full treatment of what a node does and the trade-off between running your own and using a provider, see What is an RPC node?.
What RPC is
RPC stands for Remote Procedure Call, a long-standing idea in computing: one program asks another program, running somewhere else, to execute a procedure and return the result, as if it were calling a local function. In blockchain, the "somewhere else" is a node, and the "procedure" is a request like get this wallet's balance or broadcast this transaction.
Most chains implement this with JSON-RPC, a lightweight convention where a request is a small JSON object naming a method and its parameters. An Ethereum request looks like this:
{ "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1 }
RPC, then, is not a machine and not a piece of hardware. It is a protocol: an agreed-upon request-and-response format. It defines how your app phrases a question and how the node phrases its answer. The node is what runs; RPC is the language they speak across the wire.
What an API is
An API (Application Programming Interface) is the broadest of the three: it is any defined contract that lets one piece of software talk to another. A weather service's REST API, a database's query interface, and a blockchain node's JSON-RPC interface are all APIs. As general references like MDN put it, an API is a set of features and rules that lets one program communicate with another, hiding the internal complexity behind a stable interface.
RPC is one architectural style of API, alongside others like REST and GraphQL. So when a blockchain provider says "use our API," they usually mean their RPC endpoint. RPC is the specific kind of API the blockchain world happens to standardize on. Some providers also expose REST or gRPC APIs for the same node, which is why "API" is the umbrella word and "RPC" is the specific one underneath it.
How they relate
Stack the three and the relationship is clear:
- API is the general category: a defined way for programs to communicate.
- RPC is a specific style of API: the one blockchains use, usually as JSON-RPC.
- A node is the concrete piece of infrastructure that exposes an RPC interface for your app to call.
Your application calls an API (the concept), phrased in RPC (the protocol), which is answered by a node (the machine). None replaces another; they are three layers of the same request.
| Node | RPC | API | |
|---|---|---|---|
| What it is | A machine running blockchain client software | A protocol / interface style for calling a remote program | The general concept of a software-to-software interface |
| Layer | Infrastructure | Protocol | Abstraction / category |
| Analogy | The phone at the other end | The language you speak on the call | The idea of "having a conversation" |
| You can... | Run it, host it, monitor it, scale it | Send requests in it, standardize on it | Design one, publish one, consume one |
| Blockchain example | An Ethereum client (Geth, Nethermind) syncing the chain | JSON-RPC method eth_getBalance | The node's JSON-RPC (and REST/gRPC) interface as a whole |
| Relationship | Exposes an API, spoken via RPC | A type of API | The umbrella RPC sits under |
Common conflations to clear up
Most of the confusion in practice comes from a few phrases that blur these layers together.
"RPC endpoint" vs. "node." An endpoint is a URL where a node accepts requests, such as https://eth.example.com. People say "give me your RPC" when they mean "give me your RPC endpoint URL." The endpoint is the address; the node is the machine behind it. One node can expose several endpoints (HTTP, WebSocket, gRPC), and, importantly, an endpoint URL does not have to point at a single node at all. It can point at a load balancer or router that sits in front of many nodes.
"RPC" vs. "provider." A provider is the company or system that operates nodes and gives you endpoints to use (Alchemy, Infura, QuickNode, and so on). "We use Alchemy as our RPC" really means "Alchemy is our RPC provider." The provider runs the nodes; the RPC is the protocol; the endpoint is the URL they hand you. Collapsing all three into the word "RPC" is common shorthand, but it hides exactly the distinctions that matter when something breaks.
"Node" vs. "provider." Running your own node and buying access from a provider are two ways to get the same thing: an endpoint that answers RPC calls. Saying "our node went down" when you actually mean "our provider had an outage" points you at the wrong fix. For precise definitions of endpoint, upstream, and provider as infrastructure teams use them, see the RPC reliability glossary.
What teams actually manage, and why that layer needs routing
Here is the practical payoff of getting the layers straight. In day-to-day operation, most blockchain teams do not manage "RPC" or "APIs" as such. They manage endpoints and providers: a set of URLs, backed by nodes they run or providers they pay, that their app sends traffic to.
That layer is where reliability lives or dies. Any single endpoint, whether your own node or a provider's, can go down, hit a rate limit, fall behind the chain head, or return stale or wrong data. If your app points at one endpoint and hopes, you have concentrated all of that risk into one path. The fix is not a better single node; it is several endpoints with something intelligent in front of them that can route to healthy ones, fail over automatically when one degrades, and validate that responses are actually correct before they reach your users.
That is precisely the layer Smart Router by Magma Devs standardizes. It manages a pool of upstreams per chain (your nodes, your providers, or both), scoring each on latency and sync freshness, failing over to another upstream when one errors or serves stale data, and cross-validating sensitive reads across several nodes so a single wrong answer gets caught before it reaches your client. Your app still calls one endpoint speaking ordinary JSON-RPC, so adopting it changes nothing about how your application talks, only how reliably those calls get answered.
Putting it together
RPC, node, and API are not three competing options; they are three layers of one request. The node is the machine, RPC is the protocol you talk to it with, and API is the broader category RPC belongs to. Once you separate them, the messy shorthand ("point at an RPC," "our RPC went down") becomes easy to translate into what is actually happening: which endpoint, backed by which provider's node, spoke which protocol, and whether anything was watching that path in case it failed.
If you want the next layer of depth, start with What is an RPC node? for the infrastructure side, or the RPC reliability glossary for precise definitions of every term above.
Sources: ethereum.org, Nodes and clients; MDN Web Docs, API glossary; Smart Router documentation.
How exposed is your RPC stack?
Take the 2-minute Secure RPC Assessment and get a personalized risk report.
Run the assessment

