Skip to main content

Error Response Format

All API errors follow a unified response format:

HTTP Status Codes


Client Errors (400)

Parameter Validation Errors

DEX Trading Errors

Other Client Errors


Authentication Errors (401)

Handling Example:

Permission Errors (403)

403 errors can be triggered by:
  • Quota exhausted: Monthly API call quota depleted, upgrade plan or wait for next month reset
  • Blacklisted: IP or account has been blacklisted
  • Not whitelisted: Request origin not in allowed whitelist
When API quota is exhausted, the gateway returns 403 directly. This differs from 429 (rate limit):
  • 429: Short-term rate limiting (requests per second/minute exceeded)
  • 403: Account quota limit (monthly usage exhausted) or permission issues

Resource Not Found Errors (404)


Rate Limit Errors (429)

Handling Example:

Server Errors (500)

General Server Errors

Jupiter API Errors

Configuration and Initialization Errors

File Upload Errors

Bundle Processing Errors


Red Packet Errors (510)


Webhook Errors (520)


Error Handling Best Practices


GraphQL API Errors

GraphQL queries return errors in the standard errors array. Credit consumption is reported in extensions.credits:
See GraphQL Billing & Credits for the full credit calculation formula.

WebSocket Errors

WebSocket connections use the endpoint wss://realtime-dex.chainstream.io/connection/websocket with ?token= authentication.
The TypeScript SDK (@chainstream-io/sdk) handles WebSocket reconnection automatically. If using a raw WebSocket client, implement exponential backoff (1s, 2s, 4s, 8s…) on disconnection.
See WebSocket API Reference and Timeouts & Heartbeats for connection management details.

Getting Help

If you encounter unresolvable errors:

Technical Support

Email us with error code and timestamp

Discord Community

Join community for help
When reporting issues, please provide the complete error response (including code, timestamp, message, and details) so we can quickly identify the problem.