# Solana RPC endpoint

A Solana RPC endpoint is the URL your app uses to read Solana data and send transactions. NodeGrid RPC, coming soon, gives you one for mainnet and devnet, with one API key. Each call goes to a healthy provider, and if it fails or slows down, NodeGrid RPC switches to another one automatically.

## What do I need to know about Solana RPC?

Solana is a fast, low-fee blockchain. Apps talk to it over JSON-RPC, a simple request-and-response format. You read slots (Solana's block counter), balances and accounts, fetch a recent blockhash, and submit signed transactions with sendTransaction.

- Use devnet while you build, mainnet when you go live
- Old transactions need an archive provider (one that keeps full history). NodeGrid RPC sends those calls to a provider that has it
- No node to run, patch or resync
- **Status:** Coming soon
- **Networks:** Mainnet, Devnet
- **Protocol:** JSON-RPC 2.0 over HTTPS
- **Native token:** SOL
- **Provider choice:** Automatic, with failover
- **Pricing:** Announced before launch

## How does NodeGrid RPC pick a Solana provider?

NodeGrid RPC routes each call to a healthy node provider and switches automatically if it fails or slows down. You don't configure anything, and the dashboard will show the success rate, response times and errors of your calls.

### Healthy provider

Each Solana call goes to a provider that is up and answering.

### Automatic failover

If a provider fails or slows down, NodeGrid RPC switches to another one.

### Same JSON-RPC

The same Solana methods and responses. Your code does not change.

## How do I call the Solana RPC?

Send a standard Solana JSON-RPC request to your endpoint with your API key. Existing Solana code only needs the new URL and a header.

```
curl https://nodegrid.cryptoapis.io/solana/mainnet \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getSlot"}'
```

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": 372918455
}
```

```
curl https://nodegrid.cryptoapis.io/solana/mainnet \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getBalance","params":["vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"]}'
```

```
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "context": {
      "slot": 372918455
    },
    "value": 2500000000
  }
}
```

```
import { Connection } from "@solana/web3.js";

// One endpoint. NodeGrid RPC picks the provider.
const connection = new Connection("https://nodegrid.cryptoapis.io/solana/mainnet", {
  httpHeaders: { "X-API-Key": process.env.CRYPTOAPIS_KEY },
});

const slot = await connection.getSlot();
```

## Which Solana RPC methods are supported?

Standard Solana JSON-RPC. These methods are planned for launch; the final list is confirmed when NodeGrid RPC goes live.

| Method | What it does | Status |
| --- | --- | --- |
| getSlot | Current slot | Planned |
| getBalance | SOL balance of an account | Planned |
| getLatestBlockhash | Blockhash to build a transaction | Planned |
| getAccountInfo | Account data and owner | Planned |
| sendTransaction | Submit a signed transaction | Planned |
| getSignaturesForAddress | Signatures for an address | Planned |
| getTransaction | Transaction by signature (archive for old slots) | Planned |
| getProgramAccounts | All accounts owned by a program | Planned |

## Already have a Solana RPC provider? Keep it and add failover

You don't have to switch. Add NodeGrid RPC as a second endpoint, and your app keeps working when your main provider is slow, rate-limited or down.

- Keep your current provider as the primary
- Add the NodeGrid RPC Solana URL as the fallback
- Retry on the fallback after a timeout or HTTP 429

```
const endpoints = [
  // your current provider stays first
  process.env.CURRENT_RPC_URL,
  // NodeGrid RPC takes over when it fails
  "https://nodegrid.cryptoapis.io/solana/mainnet",
];

for (const url of endpoints) {
  try { return await call(url, req); }
  catch (e) { /* timeout or 429: try the next one */ }
}
```

## Other NodeGrid RPC endpoints

### Need indexed Solana data?

Use the Blockchain API for balances, token transfers and webhooks without writing RPC loops. It is live today.

### Screen a Solana wallet

Check a Solana address for AML risk and sanctions before you accept funds.

## Solana RPC questions

### What is the Solana RPC endpoint URL?

When NodeGrid RPC is live, the Solana mainnet endpoint is https://nodegrid.cryptoapis.io/solana/mainnet and the devnet endpoint is https://nodegrid.cryptoapis.io/solana/devnet. You send your API key in the X-API-Key header. NodeGrid RPC is coming soon; request access and we will tell you when it is live.

### Is there a free Solana RPC?

Solana runs public endpoints, but they are rate-limited and not meant for production apps. NodeGrid RPC's pricing, and any free allowance, is announced before launch.

### Does Crypto APIs run its own Solana nodes?

NodeGrid RPC routes each Solana call to a healthy node provider and switches automatically if it fails, so you never run, patch or resync a node yourself.

### Can I use NodeGrid RPC with @solana/web3.js?

Yes. Pass the NodeGrid RPC URL to new Connection() and add the X-API-Key header through httpHeaders. Your existing calls stay the same.

### What is the difference between Solana mainnet and devnet?

Mainnet-beta is the live Solana network, where SOL has real value. Devnet is a test network with free test SOL from a faucet, for building and testing before you go live.

### Does it support Solana WebSocket subscriptions?

WebSocket subscriptions such as accountSubscribe and logsSubscribe are not confirmed for launch. The methods and transports NodeGrid RPC supports are confirmed when it goes live.

## Solana RPC is coming soon

One endpoint per network, one API key, automatic failover. Request access and we will tell you when it is live.
