Cluster

A group of validators working together to run a single Solana network, such as Mainnet Beta, Testnet, or Devnet, each maintaining its own independent ledger and processing its own transactions.

What is a cluster (mainnet-beta, testnet, devnet)?

A cluster represents a community of Solana validators who collectively keep a single instance of the ledger alive. Solana operates in parallel, independent clusters; the three most common ones are mainnet-beta, testnet, and devnet. Each cluster has separate validators, separate ledgers, and separate tokens. Devnet SOL has no real-world value. On mainnet-beta, it's the token that you'd buy on an exchange.

I like to think of Solana's clusters as being similar to a theater. mainnet-beta is opening night with ticket-holders in the audience. Testnet is the dress rehearsal where you're running the light board and sound guy. Devnet is the empty rehearsal room where actors can say their lines wrong 100 times without anyone batting an eye. Same script. Same lighting equipment. Completely different productions.

How are clusters technically implemented?

Each cluster is a completely isolated network. The validators gossip with each other, vote on blocks (via the Tower BFT mechanism; more on that in a second, and remember, it relies on Proof of History for shared clocking), and generate a new block every 400ms (more or less). The validators on devnet don't know about mainnet-beta, nor do transactions traverse between clusters.

In order to use a specific cluster, you need to point your wallet or dApp to a cluster's RPC endpoint (short for "remote procedure call"; a server that accepts a transaction from you and passes it along to the network). The defaults for each cluster are:

What does each cluster represent?

Mainnet-beta is Solana's "real" network, where real value exists. Every Jupiter swap. Every Magic Eden purchase. Every Marinade stake. All of these transactions live and die on mainnet-beta. They also pay transaction fees, which are currently 0.000005 SOL per signature ($0.00025 USD at time of writing). The "beta" part of mainnet-beta's name was adopted by Solana Labs when they launched the network in 2020. It stuck for some unknown reason to this day, even though mainnet-beta has grown up to support billions of dollars in volume daily.

Testnet exists primarily for Solana contributors. Whenever a new release of the validator software drops, it can be run on testnet, which is how the community is able to push testnet to its breaking point. Testnet will break; it will reset. Testnet also serves as the "practice" ground for validators before they take on mainnet-beta stakes.

Devnet is primarily used by builders who are building on top of Solana. Solana allows you to airdrop yourself a free amount of Solana with one command (solana airdrop 2) so that you can deploy and test programs on devnet without cost. Developers also know that devnet runs software that is mostly in tandem with mainnet-beta, meaning a program that functions on devnet will most likely work the same way on mainnet-beta. Devnet is also where you can deploy and test thousands of transactions without having to worry about cost; this can be handy for builders working on Kamino or building their own collection on Metaplex.

Solana's clusters vs. Ethereum's

If you're coming over from Ethereum, clusters map closely enough to testnets in general: mainnet-beta ≈ Ethereum mainnet. Devnet ≈ Sepolia or Holesky. But the differences are pretty stark, both in terms of costs and friction when deploying and testing your programs. Testing and deploying programs on devnet costs nothing and is confirmed in 400ms. Deploying and testing on Ethereum testnets is costless as well, but deploying on mainnet can be hundreds of dollars in gas fees vs. rent-exempt deposit on Solana (which can later be closed out and recovered).

The second difference is in how the testnets are run. Ethereum testnets intentionally use a different kind of consensus and validator set than mainnet. The Solana devnet, on the other hand, runs essentially the same software that mainnet-beta does, including Sealevel (the runtime that allows for non-overlapping transactions to run in parallel on the CPU cores). In other words, if you deploy your program to Solana devnet, your users (on mainnet-beta) will be exercising the same execution engine.

Why does this matter for you?

For the non-technical end users, this distinction comes down to confusion. Both Phantom and other wallets allow you to choose which network your wallet connects to, and it can be confusing for a first-time user if your wallet is set to devnet, and you see some SOL in your balance (which will be worthless, and can never be transferred off). Some of the "devnet airdrops" you've likely heard of are scams in which scammers send out devnet SOL and expect you to click on the token. Always be sure to check that your wallet is set to mainnet-beta when sending or receiving tokens.

For builders, the ability to test and deploy your programs to devnet, validate them under load on testnet if necessary, and then deploy them to mainnet-beta in a free-to-test environment is important. Free-to-test means that a developer without funding can test out a full decentralized finance (DeFi) stack with a $0 investment. RPCs like Helius offer endpoints for all three clusters, so switching environments can be done with one line of code.

For Solana itself, testnet acts as a safety valve. Between 2021 and 2024, Solana experienced a handful of outages; now, the network's validator software is tested on testnet before being run by validators on mainnet. This helps keep network downtime to a minimum. The separation of mainnet-beta into its own cluster with its own set of stakeholders also helps when Solana Labs rolls out a new release that has not yet been fully vetted; if the network goes down, only testnet is affected (as the ~380 million SOL ($10 billion+) that is staked on mainnet-beta is not at risk).

Contents

Writen By

Stay Updated - Follow us on X

Project review threads, dApp insights, announcements, news, and more.