> For the complete documentation index, see [llms.txt](https://docs.triton.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.triton.one/solana/faq/error-handling/triton-rpc-error-codes.md).

# Triton RPC error codes

Triton RPC symptoms and HTTP error codes (500, 502, 503, 504, 403) with their likely causes and fixes.

## Possible Triton RPC symptoms

| Symptom                                                                                     | Problem                                                                                                                            | Explanation                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Requests consistently time out                                                              | Overloaded server or network congestion on nodes.                                                                                  | Excessive load on a node or pool (e.g., shared RPC) could exceed capacity, causing timeouts. This might be tied to insufficient scaling or a failure in load balancing.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Error 410 ("Gone")                                                                          | The method is disabled on Triton's Solana mainnet endpoints, or `requestAirdrop` is disabled on Triton's shared testnet endpoints. | Solana mainnet endpoints don't serve `getLargestAccounts` or `requestAirdrop`. They answer with HTTP `410 Gone` and the JSON-RPC error `"The RPC call or parameters have been disabled"`. If your rate tier caps the method at zero, the rate limit answers first with a `429`. `getLargestAccounts` is disabled because it scans the entire account set on every call; contact support if you need it on a dedicated node. `requestAirdrop` is disabled because there is no mainnet faucet. Triton's shared testnet endpoints answer `requestAirdrop` with HTTP `410 Gone` and the JSON-RPC error `"The RPC faucet is closed on this cluster. Request test SOL at https://faucet.solana.com"`. For test SOL on devnet or testnet, use the official Solana faucet at [faucet.solana.com](https://faucet.solana.com). |
| Error 500 ("Internal server error")                                                         | Unexpected failure in Triton One's server software or database.                                                                    | A bug, crash, or resource exhaustion (e.g., memory leak) on our servers could disrupt request processing, unrelated to client input.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Error 502 ("Bad gateway") occurs across multiple requests                                   | Upstream validator connectivity issue or gateway misconfiguration.                                                                 | Triton One's routing to Solana validators might be disrupted (e.g., validator downtime, network partition), breaking the request chain.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Error 503 ("Service unavailable") is returned frequently                                    | Triton One's servers are overloaded or undergoing maintenance.                                                                     | High traffic or an unannounced outage could overwhelm node capacity, triggering this error until load balancing or failover kicks in.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Error 504 ("Gateway timeout") persists after retries                                        | Slow or unresponsive upstream validator response via Triton One's gateway.                                                         | Our nodes might be waiting too long for validator responses due to network delays or validator lag, which is beyond client control.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| WebSocket connections drop unexpectedly with no client-side changes                         | Triton One's WebSocket server instability or capacity limit reached.                                                               | A node restart, overload, or a connection limit could terminate connections on our end.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| Transactions submitted via Triton One's RPCs are not included in blocks, despite valid fees | Staked node prioritisation failure or validator sync issues.                                                                       | Our staked nodes might not be propagating transactions effectively, or they might have fallen out of sync with the Solana network.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| Latency spikes (e.g., >100ms) occur without client-side traffic increase                    | Triton One's node performance degradation or a routing failure.                                                                    | A node might be underperforming (e.g., CPU overload), or traffic might not be routing to the nearest server, leading to increased response times.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Flapping traffic                                                                            | Load balancing or failover system malfunction.                                                                                     | The Load balancer might be inconsistently distributing traffic, or failover to backup nodes could fail, leading to unstable request handling.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Historical data requests (e.g., via Superbank) return incomplete or stale results           | Archival node sync failure or Clickhouse integration issue.                                                                        | Our archival nodes might not be fully synced with Solana's history, or data egress from Clickhouse could be delayed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Dedicated node users see "Access denied" (403) despite a valid token                        | Configuration mismatch or authentication server error on Triton One's side.                                                        | Our backend might have failed to update the whitelist or key permissions, potentially blocking legitimate access.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

{% hint style="info" %}
Report any of these symptoms to support:

* Latency
* Slow response time
* Frequent disconnects
* Flapping traffic
* Any errors 500-5XX
* Data consistency issue
  {% endhint %}

## Triton RPC error codes list

Errors that Triton's load balancer generates come back as a JSON-RPC error object whose `code` matches the HTTP status, for example:

```json
{"jsonrpc":"2.0","error":{"code":429,"message":"Too many requests from your IP"},"id":1}
```

* Most rate-limit responses carry a `Retry-After` header with the number of seconds to wait; the WebSocket connection-limit response doesn't.
* Two exceptions come back with HTTP `200`: a request body that isn't valid JSON gets the standard JSON-RPC parse error (`-32700`), and the `sendTransaction` preflight errors (`-32603`) described in [Common Solana errors](/solana/faq/error-handling/common-solana-errors.md).

### HTTP error codes

| Code | What it means and what to do                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Client or server error |
| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| 111  | Connection refused; you could be hitting hard limits on your server.                                                                                                                                                                                                                                                                                                                                                                                                            | Client                 |
| 400  | Bad request: the HTTP request itself is malformed (for example, broken framing or headers). Check how your client builds the request.                                                                                                                                                                                                                                                                                                                                           | Client                 |
| 402  | This endpoint is disabled due to non-payment. Settle the outstanding balance in the customer dashboard or contact support.                                                                                                                                                                                                                                                                                                                                                      | Client                 |
| 403  | Access forbidden. The request has no valid token and its `Origin` isn't on your endpoint's allowed list, or your IP or network provider is blocked (`Your IP or provider is blocked from this endpoint`). Check your token and allowed origins. Requests from data-centre IP ranges can be blocked unless they carry your token.                                                                                                                                                | Client                 |
| 404  | Not found: the path doesn't exist. This usually comes from the upstream service rather than the load balancer. Check the URL path.                                                                                                                                                                                                                                                                                                                                              | Client                 |
| 405  | Bad method: Triton didn't recognise the request path or HTTP method. A mistyped or deactivated token in the URL path can cause this, and JSON-RPC requests must use `POST`. Check your endpoint URL and token.                                                                                                                                                                                                                                                                  | Client                 |
| 408  | Request timeout: your client didn't finish sending the request in time. Check your network connection and retry.                                                                                                                                                                                                                                                                                                                                                                | Client                 |
| 410  | The RPC call or parameters have been disabled on this endpoint. Switch to a supported alternative, or contact support about a dedicated node.                                                                                                                                                                                                                                                                                                                                   | Client                 |
| 413  | The request body is too large (`Request body too large`), or your IP has used its data allowance (`You have used your data allowance`; wait the `Retry-After` time, 30 seconds). Reduce the request size, or ask support to review your limits.                                                                                                                                                                                                                                 | Client                 |
| 415  | Invalid content type: JSON-RPC requests must send `Content-Type: application/json`.                                                                                                                                                                                                                                                                                                                                                                                             | Client                 |
| 426  | Deprecated WebSocket protocol version: upgrade your client to WebSocket version 13.                                                                                                                                                                                                                                                                                                                                                                                             | Client                 |
| 429  | Too many requests. You exceeded a rate limit on requests from your IP, requests for one RPC method, requests on your endpoint, new connections, or WebSocket connections from your IP; the error message says which. Wait the `Retry-After` time (10 seconds for most limits; the WebSocket connection limit sends none, so wait at least 10 seconds), then retry with backoff. See [Handle 429 rate-limit errors](/solana/faq/error-handling/handle-429-rate-limit-errors.md). | Client                 |
| 500  | Internal server error. Retry after a short delay.                                                                                                                                                                                                                                                                                                                                                                                                                               | Server                 |
| 501  | Method call not supported by this endpoint: the request couldn't be routed to a service on this endpoint. Check that the product is enabled for your subscription, or contact us.                                                                                                                                                                                                                                                                                               | Server                 |
| 502  | Bad gateway. Retry the request and resubmit the transaction, priority routing should recover. If the issue persists, contact us.                                                                                                                                                                                                                                                                                                                                                | Server                 |
| 503  | Service unavailable means that the server cannot handle the load requested. Retry after a delay and contact us if the issue persists.                                                                                                                                                                                                                                                                                                                                           | Server                 |
| 504  | Gateway timeout. After a short delay, retry, resubmit with a higher priority fee to expedite processing, and reconnect to the WebSocket endpoint.                                                                                                                                                                                                                                                                                                                               | Server                 |

### gRPC status codes

| gRPC status          | What it means and what to do                                                                                                                                                                                                     | Client or server error |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| Stream removed       | The connection was closed, not just the streams. Reconnecting the stream will not work; you must establish a new connection.                                                                                                     | Client                 |
| `CANCELLED`          | The client or server cancelled the call. Check your client code for premature cancellation.                                                                                                                                      | Both                   |
| `UNKNOWN`            | An unhandled error occurred, e.g., a node crashed, or an upstream Solana validator returned an unrecognised status. Retry the request, transient issues might resolve. Report to us with detailed information.                   | Server                 |
| `UNKNOWN`            | Error parsing returned status.                                                                                                                                                                                                   | Client                 |
| `UNIMPLEMENTED`      | Response cardinality violation (the method requires exactly one response, but the server sent a different number of responses).                                                                                                  | Client                 |
| `UNIMPLEMENTED`      | Method not found at server.                                                                                                                                                                                                      | Server                 |
| `UNAVAILABLE`        | Server shutting down. Retry the call after a delay.                                                                                                                                                                              | Server                 |
| `UNAVAILABLE`        | Some data is transmitted (e.g., request metadata written to TCP connection) before the connection breaks.                                                                                                                        | Client                 |
| `UNAVAILABLE`        | The server is down, or there is a network issue. Fix: Retry with exponential backoff or check server health.                                                                                                                     | Both                   |
| `UNAVAILABLE`        | Triton's load balancer answered with HTTP `429`, `502`, `503` or `504`, which gRPC clients report as `UNAVAILABLE`. Wait at least 10 seconds, then reconnect with backoff.                                                       | Server                 |
| `DEADLINE_EXCEEDED`  | The deadline expires before the server returns the status.                                                                                                                                                                       | Both                   |
| `DEADLINE_EXCEEDED`  | This may occur either when the client is unable to send the request to the server or when the server fails to respond in time. Fix: Increase the deadline (context: WithTimeout), optimise the server, or check network latency. | Both                   |
| `INTERNAL`           | An internal server error, database failure, sync lag, or software bug, disrupted the gRPC call. Retry after a short delay or let us know.                                                                                        | Server                 |
| `INTERNAL`           | Could not decompress, but compression algorithm supported (Server → Client).                                                                                                                                                     | Client                 |
| `INTERNAL`           | Ensure client and server gRPC versions align. Reduce request rate to avoid flow limits. Retry after adjustment.                                                                                                                  | Both                   |
| `INTERNAL`           | Verify your client's decompression library matches server settings. Test with a smaller response. Update client if needed. Rebuild client proto files if mismatched. Validate your protobuf definitions against Triton One's.    | Client                 |
| `INTERNAL`           | Server failed to parse the request protocol buffer.                                                                                                                                                                              | Server                 |
| `UNIMPLEMENTED`      | Switch to a supported compression method.                                                                                                                                                                                        | Server                 |
| `UNIMPLEMENTED`      | Ensure your client sends a single request per call.                                                                                                                                                                              | Server                 |
| `RESOURCE_EXHAUSTED` | Wait 10 seconds and retry, load may ease. Check usage in customers.triton.one. Request a higher limit.                                                                                                                           | Server                 |
| `RESOURCE_EXHAUSTED` | The client does not have enough memory to hold the server response. Implement exponential backoff and reduce request frequency. Close unused WebSocket subscriptions. Upgrade to a dedicated node for higher limits.             | Client                 |
| `RESOURCE_EXHAUSTED` | Reduce message size.                                                                                                                                                                                                             | Both                   |
| `PERMISSION_DENIED`  | Triton's load balancer rejected the call (HTTP `403`) before it reached the service, usually because the `x-token` header is missing or wrong. Send your token in the `x-token` header.                                          | Client                 |
| `UNAUTHENTICATED`    | Verify your token is sent in the `x-token` header.                                                                                                                                                                               | Both                   |
| `NOT_FOUND`          | The requested resource doesn't exist or isn't synced on the custom node. Verify the resource ID, ensure your custom endpoint is configured to include the resource.                                                              | Client                 |

***

<i class="fa-life-ring">:life-ring:</i> Contact support by clicking the chat icon in your [customer dashboard](https://customers.triton.one)\ <i class="fa-briefcase">:briefcase:</i> Sales questions? [Contact us](https://triton.one/contact)\ <i class="fa-sparkles">:sparkles:</i> AI agent? Read [llms.txt](https://docs.triton.one/llms.txt)\ <i class="fa-rss">:rss:</i> Follow updates: [Blog](https://blog.triton.one) · [X](https://x.com/triton_one) · [YouTube](https://www.youtube.com/@triton_one_ltd) · [Telegram](https://t.me/tritonone) · [GitHub](https://github.com/rpcpool)
