What's the RPC, and Why It’s a Must-Know for a Crypto User

What's the RPC, and Why It’s a Must-Know for a Crypto User

Understanding the RPC, or Remote Procedure Call protocol, is crucial for anyone stepping into cryptocurrency. This post explains the what (what’s the RPC), the why (why it’s important), and the how (how to add or customize an RPC link yourself)

Again, feel free to skip certain sections if you’re familiar with them. 

What’s the RPC 

The RPC, or remote procedure call protocol, allows developers and users to submit transactions to a node on a blockchain. The validators, or the miner equivalents, pick up the submitted transactions and pack them into a block. In plain English, the RPC is a two-way street that connects a blockchain and the real world. 

Many RPC providers exist, such as Infura, Alchemy, Quicknode, etc. Given how competitive this field is, you can usually get an RPC link for free (within certain usage).

ℹ️
Here is an example of a RPC URL from Infura for Ethereum: https://mainnet.infura.io/v3/1234567890

In addition to the ones from the companies above, you can also use the public ones by searching the chain you’re using on Chainlist. Previously, you needed to manually copy and paste the information from Chainlist to add to your wallet. Now, you only need to click “Add to MetaMask.” God, I feel old writing this. 🤦‍♂️

Screenshot of Chainlist and it shows a list of public RPC endpoints for Ethereum.
Screenshot of Chainlist

Why is the RPC important

The RPC is important because it directly affects your UX. Specifically, when you use a wallet and submit a transaction, the transaction is submitted through an RPC URL under the hood by the wallet you’re using. Sometimes, when the market is volatile and the RPC provider faces many requests, they might fail to return your request. As a result, you can’t submit your transactions from your wallet. Simply put, if the RPC provider your wallet uses is down, you can’t submit any transactions unless you change the RPC URL yourself (more on this later)

Besides stability, you should consider other aspects of an RPC endpoint like privacy, and MEV protection. Luckily, Chainlist shows the privacy score for the public endpoints. As for the latter, it shouldn’t matter to you much unless you are a whale. Assuming you are one (congrats btw!), you can use the Flashbots Protect RPC to avoid getting front-run by others.  

How to Change the RPC on Your Wallet

Here, I’ll explain how to change the RPC on your MetaMask and Rabby (browser extension)

MetaMask

For MetaMask users, changing the RPC to another public one is easy on Chainlist. You only need to click “Add to MetaMask” and approve it on your wallet (see below)

A screenshot of MetaMask showing a warning when you try to add a new RPC provider
Warning on MetaMask when you try to add a new RPC provider

However, it will be harder if you intend to use a private one created on an RPC provider like Infura. You need to click the “more” icon in the top right corner, click “Networks,” and click “Add network.”

Steps to add a new network manually on MetaMaks - 1
Steps to add a new network manually on MetaMaks - 1

Once you’re here, click “add a network manually” and copy/paste the information you can get from your RPC provider. 

Steps to add a new network manually on MetaMaks - 2
Steps to add a new network manually on MetaMaks - 2
Steps to add a new network manually on MetaMaks - 3
Steps to add a new network manually on MetaMaks - 3

As a side note, if you want to learn more about how MetaMask works, feel free to check out this post.

Rabby

Unlike MetaMask, which allows you to add every EVM network, Rabby only allows you to modify the RPC URL from the already supported network manually. So, no, you can’t use Chainlist to modify the RPC link like MetaMask. However, as a heavy Rabby user, you should know that Rabby adds new networks frequently, and the existing list is extensive.

You can customize the endpoint by clicking “More” from the extension, clicking “Custom RPC,” and then pasting the RPC link you obtained from other places. 

Steps to customize a RPC endpoint on Rabby
Steps to customize a RPC endpoint on Rabby