Solana RPC provides methods to read network state, send transactions, simulate execution, and subscribe to live updates.
Cluster Endpoints
Every RPC request goes to a specific cluster. The endpoint determines which network you read from and where transactions are sent.
| Cluster | Public RPC endpoint | Description |
|---|---|---|
| Mainnet | https://api.mainnet.solana.com | Production network using real SOL. |
| Devnet | https://api.devnet.solana.com | Developer testing network. Use the Solana Faucet to get Devnet SOL. |
| Testnet | https://api.testnet.solana.com | Validator testing network. |
Public RPC endpoints are shared infrastructure and are not intended for
production applications. Use dedicated or private RPC infrastructure for
production traffic. Shared public endpoints may return 429 when you exceed
rate limits and 403 when traffic is blocked.
For local development, Surfpool and solana-test-validator use these default
localhost endpoints:
| Interface | Endpoint |
|---|---|
| HTTP RPC | http://localhost:8899 |
| WebSocket | ws://localhost:8900 |
Configuring State Commitment
Many RPC methods and subscriptions accept a commitment parameter. It specifies
how finalized a block must be before the node returns data or sends a
notification.
| Commitment | Description |
|---|---|
processed | The node's most recent processed block. This is the newest view, but it can still be rolled back. |
confirmed | A block directly voted on by a supermajority of stake, meaning more than two-thirds of the network's active stake. |
finalized | A block the cluster recognizes as finalized with maximum lockout, meaning it has reached the strongest confirmation state used by the network. |
If a method or subscription accepts commitment and you omit it, the default is
typically finalized.
Is this page helpful?