Triton RPC error codes & troubleshooting guide: FAQ for developers

How to troubleshoot your Triton One RPC
- Reality check - ensure your setup is correct and as expected.
- Verify that you’re using the correct RPC endpoint, headers, and authorization token.
- Double-check if your request format, parameters, and input data are correct.
- Ensure your code compiles without any errors and warnings with side effects.
- Review your code for possible logical bugs not caught by the compiler.
- Troubleshooting - determine the cause of your errors.
- First, determine if the error is Solana-wide or specific to Triton by attempting the same method against the Solana public RPC https://api.mainnet-beta.solana.com.
- If the same issue exists with Solana, identify the bug and resolution by following the Standard list of Common JSON-RPC errors.
- If you fail to resolve your issue on Solana’s public RPC, it’s time to troubleshoot with possible and known Triton One errors:
- Determine if your issue returns any of the Triton RPC error codes.
- Determine if your issue exhibits any of these symptoms.
- Determine if your issue fits any of these uncommon Web3JS errors we helped some of our customers resolve.
- If you fail to resolve your issue despite the steps above, it’s time to call in the big guns!
- Reach out - seek help from the Triton One Support team.
- Prepare the following information:
- Which endpoint are you using?
- Which token or origin are you using for authentication?
- Which service are you using (HTTP, WebSocket, gRPC, etc)?
- Which error are you receiving?
- When did it happen (please include the date, time and timezone)?
- What is the expected result?
- If your issue is related to latency, how did you measure it?
- In your customer dashboard at the bottom right, open a chat with us. Please include all of the info above so we can investigate and get back to you with something helpful as quickly as possible!
- Prepare the following information:
Common Solana JSON-RPC codes
This is a standard list of common JSON-RPC error codes you may experience.
For a comprehensive list, please refer to Anza’s kit repository.
Triton RPC error codes list
Possible Triton RPC Symptoms
Symptom: Requests consistently time out
- Problem: Overloaded server or network congestion on nodes.
- Explanation: 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.
Symptom: Error 500 ("Internal Server Error")
- Problem: Unexpected failure in Triton One’s server software or database.
- Explanation: A bug, crash, or resource exhaustion (e.g., memory leak) on our servers could disrupt request processing, unrelated to client input.
Symptom: Error 502 ("Bad Gateway") occurs across multiple requests.
- Problem: Upstream validator connectivity issue or gateway misconfiguration.
- Explanation: Triton One’s routing to Solana validators might be disrupted (e.g., validator downtime, network partition), breaking the request chain.
Symptom: Error 503 ("Service Unavailable") is returned frequently.
- Problem: Triton One’s servers are overloaded or undergoing maintenance.
- Explanation: High traffic or an unannounced outage could overwhelm node capacity, triggering this error until load balancing or failover kicks in.
Symptom: Error 504 ("Gateway Timeout") persists after retries.
- Problem: Slow or unresponsive upstream validator response via Triton One’s gateway.
- Explanation: Our nodes might be waiting too long for validator responses due to network delays or validator lag, which is beyond client control.
Symptom: WebSocket connections drop unexpectedly with no client-side changes.
- Problem: Triton One’s WebSocket server instability or capacity limit reached.
- Explanation: A node restart, overload, or subscription cap (e.g., exceeding 100 on public pools) could terminate connections on our end.
Symptom: Transactions submitted via Triton One’s RPCs are not included in blocks, despite valid fees.
- Problem: Staked node prioritisation failure or validator sync issues.
- Explanation: Our staked nodes might not be propagating transactions effectively, or they might have fallen out of sync with the Solana network.
Symptom: Latency spikes (e.g., >100ms) occur without client-side traffic increase.
- Problem: Triton One’s node performance degradation or GeoDNS routing failure.
- Explanation: A node might be underperforming (e.g., CPU overload), or traffic might not be routing to the nearest server, leading to increased response times.
Symptom: Flapping traffic
- Problem: Load balancing or failover system malfunction.
- Explanation: The Load balancer might be inconsistently distributing traffic, or failover to backup nodes could fail, leading to unstable request handling.
Symptom: Historical data requests (e.g., via Old Faithful) return incomplete or stale results.
- Problem: Archival node sync failure or Google Bigtable integration issue.
- Explanation: Our archival nodes might not be fully synced with Solana’s history, or data egress from Bigtable could be delayed.
Symptom: Private pool users see "Access denied" (403) despite valid API keys and IPs.
- Problem: Configuration mismatch or authentication server error on Triton One’s side.
- Explanation: Our backend might have failed to update the whitelist or key permissions, potentially blocking legitimate access.
- Latency
- Slow response time
- Frequent disconnects
- Flapping traffic
- Any errors 500-5XX
- Data consistency issue
List of Uncommon Web3JS Errors
Here are some uncommon @solana/web3.js errors we have previously helped our customers with, which might help you troubleshoot your problem.
Port Exhaustion in NodeJS
Suppose you’re running high-throughput asynchronous loads in a NodeJS environment. In that case, you might find yourself getting persistent socket and connection errors such as: ECONNREFUSED, ECONNRESET, Connection Timeout Error, other side closed, fetch failed.
If so, Triton One provides a comprehensive guide on why this occurs and a list of steps you can take to fix the problem in its documentation.