| Code | Meaning | Action |
|---|
| 200 | Success | — |
| 400 | Bad Request | Check request format and parameters |
| 401 | Unauthorized | Verify API key is valid and correctly passed |
| 403 | Forbidden | Key lacks required scope or tier access |
| 429 | Too Many Requests | Back off and retry after Retry-After seconds |
| 500 | Internal Server Error | Retry with backoff; report if persistent |
| 502 | Bad Gateway | Upstream node unavailable; try alternate region |
| 503 | Service Unavailable | Maintenance or overload; retry shortly |
Standard JSON-RPC 2.0 error codes apply:
| Code | Meaning |
|---|
| -32700 | Parse error — invalid JSON |
| -32600 | Invalid request — missing required fields |
| -32601 | Method not found |
| -32602 | Invalid params |
| -32603 | Internal error |
Example:
"message": "Method not found: eth_unsupported"
| Code | Status | Meaning |
|---|
| 0 | OK | Success |
| 3 | INVALID_ARGUMENT | Bad request parameters |
| 5 | NOT_FOUND | Requested coin or resource not found |
| 7 | PERMISSION_DENIED | Invalid or insufficient API key |
| 8 | RESOURCE_EXHAUSTED | Rate limit exceeded |
| 13 | INTERNAL | Server error |
| 14 | UNAVAILABLE | Service temporarily unavailable |
SSE connections return errors as event messages:
data: {"code": "rate_limit", "message": "Stream limit exceeded for tier"}
| Error Code | Meaning |
|---|
auth_failed | Invalid or missing API key |
rate_limit | Concurrent stream limit exceeded |
tier_restricted | Event type not available on current tier |
internal | Server error — reconnect with backoff |
| Code | Meaning |
|---|
| 1000 | Normal closure |
| 1008 | Policy violation (auth failure) |
| 1011 | Internal server error |
| 1013 | Try again later (overloaded) |
| 4001 | Invalid API key |
| 4003 | Tier not authorized for Disk-Sync |
| 4029 | Rate limit exceeded |