Solana makes use of independent nodes which have the responsibility of working to confirm programs and outputs of programs on one of the three Solana clusters, Devnet, Testnet or Mainnet Beta. A cluster is made up of a set of validators that work to confirm transactions. These are owned and operated by individuals. These nodes are also responsible for storing data and transaction history which is shared amongst the nodes. A node can become a validator node if it is being used to vote on valid blocks and if SOL is delegated to the validator identity it can become a leader node. This is the link to the information on how to become a validator.
Not all nodes can become leader nodes or vote to confirm blocks. They still serve the other functionalities of validator nodes, but since they cannot vote they are primarily used to respond to requests on the blockchain. These are RPC nodes. RPC stands for remote procedure call, and these RPC nodes are used to send transactions through the blockchain.
Solana maintains three public API nodes, one for each cluster which are Devnet, Mainnet Beta, and Testnet. These API nodes are what allow users to connect to the cluster. To connect to Devnet users can look at:
This is the node for Devnet, and it is rate limited.
In the Mainnet Beta cluster, many developers choose to use their own private RPC node to take advantage of higher rate limits not avalible to them from Solana's public API nodes.
For Mainnet Beta in the picture above, from the Solana Docs, we can view the rate limits from using the mainnet api node.
We will proceed to define two types of RPC nodes and then present you with several options. We recommend you choose one based on your project's needs.
Archive and Nonarchive Nodes
We can divide nodes into two different categories. The first one we will look at are the Archive nodes. These can store information of previous blocks. In the case of these archival nodes, we can leverage having access to all previous blocks in several ways. Some of the advantages include being able to view an address's balance history and view any state in the history. Due to the high system requirements of running a full historical node, having private nodes available with this feature is highly beneficial.
Unlike archival nodes, a non-archive node, or just a regular node, will only have access to some of the previous blocks, which is upwards of 100 blocks. We previously mentioned that running an archival node has intensive requirements, but even a non-archive node can become hard to manage. For this reason, users often choose a private RPC provider. Most use cases involving private RPCs in Solana usually revolve around Mainnet-beta uses since this involves real SOL tokens, and there is a higher chance of being rate limited.
The following section includes multiple RPC providers.
Note This list is in alphabetical order. Please choose the RPC provider that best suits your project's needs. If we are missing a provider, let us know in our discord or submit a PR.
Alchemy offers a free plan with a rate limit of 12 million transactions per month. Their plan is to keep it free for the first 500 people who sign up to use it. Once you sign up, you will have access to the private RPC they provide.
From this image you will notice they have a request counter which is setup to help you confirm your RPC is working.
|RPC Info||Free||49 USD/month||Custom|
|Transactions/month||12 million||16 million||Custom|
Ankr provides a free endpoint without any account creation requirement. This allows you to connect to both devent and mainnet beta.
|Full Archival Node||Yes||Yes|
Their dashboard also allows you to test the RPC through several methods such as using the public address of your wallet which you can get from your terminal with:
And input it into their tester with
getbalance option chosen for the following result which includes the token balance and time taken to respond:
Blockdaemon offers nodes for the three Solana networks and also provide the option of having an archival node with full history or history from past weeks. They have both a free option and a custom option.
Figment has a free option of 3 million requests per month and requires filling in an application to request your private RPC. They also offer a paid plan with 15 million requests per month and for higher options you can contact their team.
|RPC Info||Free||50 USD/month||Custom|
|Requests/month||3 million||15 million||Custom|
GenesysGo has information regarding the setup for your RPC in their docs. Their free RPC has a limit of 1 request per second. They also offer a premium service that has no rate limiting.
After going through the documentation, you can reserve an account in their portal and proceed to choose your plan.
|RPC Info||Free||325 USDC/month||795 USDC/month|
|Requests/sec||1||100 + 100 extra||200 + 200 extra|
GetBlock is the blockchain RPC provider that employs a ‘pay per use’ model: its requests have no ‘expiration date’ so that users only pay for the resources they actually use. It supports more than 50 multiple blockchains. GetBlock guarantees the highest rate limit in free tariff, 60 RPS.
After setting up an account, proceed to choose a convenient plan.
|Requests/month||40 000||from 5 million to Unlimited||Unlimited|
GetBlock users can set up an account using nothing but a cryptocurrency wallet.
Another provider is QuickNode.
To begin using it, you will create an account and go to your dashboard. Once you're there, you'll create an endpoint and choose the appropriate blockchain. We will click on Solana. You will then have the option to choose between one of the three networks that Solana has to offer.
This is followed by optional add-ons and finally you get to choose a plan. Currently, QuickNode offers a Discover option for free and paid options if you require higher rate limits along with other features such as additional endpoints.
|RPC Info||Free||49 USD/month||299 USD/month|
From the official docs from Runnode we can find how to setup a private RPC and the plans that they offer.
|RPC Info||Free||50 USD/month||200 USD/month|
Syndica offers three plans. Their free option has a limit of 1 thousand requests per month.
|RPC Info||Free||75 USD/month||499 USD/month|
Triton starts by offering a paid plan at 500 USD per month which provides up to 50 requests per second. They also offer higher rate limits at other price points.
|RPC Info||500 USD/month||1000 USD/month||1500 USD/month|
If you have any questions or would like to further understand this topic, you are welcome to ask join the Metaplex Discord group.