Skip to main content
Errors come back in the standard JSON-RPC shape. The code tells you the category and the message usually names the exact problem:
Search this page for the message you got. If it is not here, the debugging guides at the bottom cover the wider problem.

Authentication errors

OrbitFlare checks access before your request reaches a Solana node. These errors come with an HTTP error status, and they look the same on HTTP and on the WebSocket handshake. If a request works in one region and fails with -32404 in another from the same machine, the license does not include the second region. Check its allowed locations in the dashboard or with the locations endpoint.

Request errors

The request reached a Solana node, which rejected it. These come with HTTP 200, so check the body for error rather than relying on the status.
About half of mainnet transactions now use version 1. Every call to getBlock, getTransaction or getTransactionsForAddress should pass "maxSupportedTransactionVersion": 1. getTransactionsForAddress does not return an error when you leave it out: it silently skips version 1 transactions, so the history you get back is incomplete.

Transaction errors

sendTransaction simulates every transaction before sending it, unless you turn that off with skipPreflight. A failed simulation comes back as -32002:
The text after Transaction simulation failed: is the reason. The most common ones: Transaction debugging explains how to read program errors and what to do when a transaction is accepted but never lands. Apex has its own errors, listed in Apex errors and rate limits.

WebSocket errors

Authentication failures happen during the handshake and return the authentication errors above as a plain HTTP response. Many WebSocket libraries only show the status code, so see WebSocket debugging for how to read the full message. Once connected, a bad request gets an error on the same socket: A connection closed with code 1006 and no reason was dropped, usually after sitting idle. Send WebSocket ping frames every 20 to 30 seconds.

gRPC errors

Jetstream and Yellowstone report problems as gRPC status codes. What a message means depends on your license’s authentication mode: in IP Whitelist mode access comes from a whitelisted IP, and in API Key Only mode from the license key in the x-token header. gRPC debugging covers these in detail, along with filters that connect fine but return nothing.

Server errors

The SDKs retry these automatically with backoff, and fail over to any fallback URLs you configure.

Debugging guides

Transactions

Failed, rejected, or never landed.

WebSocket

Refused, silent, or dropping connections.

gRPC

Jetstream and Yellowstone access and filters.
Still stuck? Ask in Discord with the endpoint, the request and the full error.