# Solana RPC Limits

Everything you need to know about [<mark style="color:yellow;">Shyft RPC</mark>](https://shyft.to/) in production — plan rate limits, method restrictions, common error codes, and troubleshooting guidance. If something isn't working, start here.

### Plan Rate Limits

Shyft enforces separate rate limits for standard RPC calls and index-heavy calls. Index calls — such as *`getProgramAccounts`, `getTokenAccountsByOwner`, `getTokenLargestAccounts`, and `getTokenAccountsByDelegate`* — are significantly more resource-intensive and are rate-limited separately from standard RPC calls.

### Unlimited RPC Plan Limits

| Feature               |    FREE   |   BUILD   |    GROW   | ACCELERATE |
| --------------------- | :-------: | :-------: | :-------: | :--------: |
| *Total Credits*       | Unlimited | Unlimited | Unlimited |  Unlimited |
| *RPC req/sec*         |     10    |    100    |    150    |     400    |
| *Index req/sec*       |     1     |     10    |     20    |     40     |
| *sendTransaction/sec* |     1     |     20    |     40    |     80     |
| *Jito simulateBundle* |     ✓     |     ✓     |     ✓     |      ✓     |
| *Staked Connections*  |     —     |     ✓     |     ✓     |      ✓     |

### Legacy RPC Plan Limits

| Feature               |   FREE  |    HACK    |    LAUNCH   |    SCALE    |
| --------------------- | :-----: | :--------: | :---------: | :---------: |
| *Total Credits*       | Default | 10 million | 100 million | 500 million |
| *RPC req/sec*         |    10   |     50     |     150     |     400     |
| *Index req/sec*       |    1    |     10     |      20     |      20     |
| *sendTransaction/sec* |    1    |     10     |      40     |      80     |
| *Jito simulateBundle* |    ✓    |      ✓     |      ✓      |      ✓      |
| *Staked Connections*  |    —    |      ✓     |      ✓      |      ✓      |

### Frequently Asked Questions

<details open>

<summary>What happens when credits run out on limited plans?</summary>

On all paid plans — Build, Grow, and Accelerate — credits are unlimited, so you will never run out. Credits only apply to legacy limited plans. If you are on HACK plan and exhaust your credits, requests stop until the next billing cycle. Calls do not stop on LAUNCH & SCALE, as these plans have overages. Overage pricing is available on select legacy plans — please check out [<mark style="color:yellow;">Shyft pricing</mark>](https://shyft.to/solana-rpc-grpc-pricing) for details.

</details>

<details>

<summary>Are other Jito RPC methods available besides <code>simulateBundle</code>?</summary>

Currently, only `simulateBundle` is supported on Shyft RPC. Other Jito-specific methods — including `sendBundle`, `getBundleStatuses`, `getInflightBundleStatuses`, and `getTipAccounts` — are not available. `simulateBundle` allows you to preview the effects of a bundle of transactions before submission, including account state changes and compute unit consumption, without executing it on-chain. If you need to send bundles, you will need to route those calls directly to the Jito Block Engine.

</details>

<details>

<summary>Why am I getting rate limited even though I am within my RPC req/sec limit?</summary>

Shyft enforces [<mark style="color:yellow;">separate rate limits</mark>](#unlimited-rpc-plan-limits) for standard RPC calls and index calls. If you are making calls like `getProgramAccounts`, `getTokenAccountsByOwner`, `getTokenLargestAccounts`, or `getTokenAccountsByDelegate`, these are counted against your index req/sec limit — which is lower than your standard RPC req/sec limit. Similarly, `sendTransaction` has its own separate limit. Check which method is triggering the 429 and compare it against the correct limit for that method type.&#x20;

</details>

<details>

<summary>Is a Solana devnet RPC endpoint available?</summary>

Yes. Shyft provides a devnet RPC endpoint at:

```
https://devnet-rpc.shyft.to/?api_key={your_api_key}
```

Use your standard Shyft API key to authenticate. Devnet is useful for testing integrations before deploying to mainnet.

</details>

<details>

<summary>Why am I getting no response or a timeout on <code>getProgramAccounts</code> calls?</summary>

`getProgramAccounts` is one of the most resource-intensive calls on Solana. Shyft enforces a 1-second timeout on gPA calls, and unfiltered gPA calls are blocked entirely. If your call is timing out, the most likely cause is an insufficiently filtered query returning too large a result set.\
We have recently released an update that brings `getProgramAccounts` <mark style="color:yellow;">response times to under 10ms</mark> for supported programs. Coverage for all major DEXes is being rolled out progressively.

</details>

<details>

<summary>How do I handle 429 rate limit errors?</summary>

You are likely hitting your [<mark style="color:yellow;">plan's rate limit</mark>](#legacy-rpc-plan-limits) for standard RPC, index, or `sendTransaction` calls — each has a separate limit. To resolve this: separate your index calls from standard RPC calls and rate-limit them independently, cache responses where possible to reduce total call volume, or upgrade to a higher plan if you are consistently hitting limits. \
If you are running a bot, many popular tools such as Metis have built-in rate limit configuration — reducing the request rate in your bot's settings is often the fastest fix.

</details>

<details>

<summary>Where do I reach out in case of any questions?</summary>

For any queries, you can reach out via the <mark style="color:yellow;">support chat</mark> on your Shyft dashboard or join the [<mark style="color:yellow;">Shyft Discord</mark>](https://discord.gg/RXBmKSdVRe). The team is happy to help with plan questions, integration issues, or anything else.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shyft.to/solana/solana-rpc-limits.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
