To interface with on-chain programs on Solana you need access to an RPC node. For that you have three options: You can use one of Solana’s public RPC nodes, you can get a node from one of the many RPC node providers out there or you can run your own.
Solana’s free public RPC nodes are suitable if you have simple programs or analytical needs (an account analysis, for instance) that don’t require more than 100 requests/10s. For higher workloads and slightly more sophisticated demands, you can get a shared RPC node from one of the RPC node providers.
Shared vs Dedicated Nodes
Pricing and rate limits of shared nodes vary from vendor to vendor but usually range from 25 to several hundred requests per second (RPS). Be aware, though, that RPS is not the only metric used to measure your bandwidth consumption, and it differs with each vendor. Depending on the rate limit tier, pricing ranges from $40 to $500 per month.
If a shared RPC node is still not enough, we now get to the crème de la crème – a dedicated RPC node. With these kinds of nodes, you have full bandwidth accessibility. The only differences these nodes have are their location and whether they carry a stake.
Latency Considerations
If you have latency-sensitive workloads, like market-making or arbitrage-type algorithms, you definitely want a node in proximity to validator clusters with large stake concentration. Roughly every two days, Solana picks around 200 of the leading validators based on stake weight to validate blocks of transactions.
Being close to the validators that validate these blocks will reduce the time to get the latest block data, as well as the time to send a request to the network. For instance, if a block contains information about favorable changes in the market, one would surely want to react and place or cancel an order on a DEX.
Another factor that influences latency is the stake weight of RPC nodes. Requests from staked RPC nodes receive prioritization by the network, especially during times of network congestion when response delays increase. Staked RPC nodes have a much lower failure rate.
Pricing for such dedicated nodes starts at around $1,600 per month, and staked RPC nodes will cost slightly more.
Running Your Own Node
If you want more control over an RPC node’s operation or want to save costs in the long run, you might consider running your own RPC node. Recommended system specs are:
- CPU: 12 cores x 2.85 GHz base clock
- RAM: 512GB – 1TB
- Storage: 3 x NVMe SSDs (1 x 250 – 500GB, 2 x 4TB)
- Network & Bandwidth: 10GbE NIC & 10 Gbps internet connection
The costs for hardware alone will be around $8,000 – $10,000, and a 10 Gbps internet connection, depending on the country, costs around $2,000 – $5,000 per month. An alternative could be colocation or server housing at a data center, but pricing varies greatly here.
To summarize: If you just want to get your toes wet, start with a public RPC node. If you are prototyping, if you don’t run HFT strategies, or just want to collect smaller datasets for alpha analysis, get a shared RPC node. If you plan to deploy latency-sensitive strategies, definitely get a dedicated node, and to reduce risk at times of network congestion, get a staked RPC node.