Error Codes

Standard error responses across all FalconQ APIs.

JSON-RPC Errors

The RPC endpoint returns errors as JSON-RPC envelopes with id: null:

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32004,
    "message": "Rate limit exceeded"
  },
  "id": null
}
CodeHTTPDescription
-32001401Missing API key
-32002403Invalid API key — also returned with message MONTHLY_LIMIT_EXCEEDED when your monthly quota is used up
-32003403Key not authorized for this product
-32004429Rate limit exceeded — retry after the Retry-After seconds
-32000503All upstreams unavailable

Errors returned by the Solana node itself (invalid params, transaction errors, etc.) are passed through unchanged with their original JSON-RPC codes.

REST API Errors

REST endpoints (/sol/v1/*) return a JSON envelope instead:

{
  "success": false,
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded"
  }
}

Codes: MISSING_KEY (401), INVALID_KEY (403), UNAUTHORIZED_PRODUCT (403), RATE_LIMITED (429), UPSTREAM_UNAVAILABLE (503).

Response Headers

Successful RPC responses include headers to help you track usage:

x-rate-limit-remaining: 423
x-proxy-region: fra
x-proxy-latency: 2
x-upstream-latency: 38

When rate limited, a Retry-After header indicates seconds until the limit resets.