Error Envelope
Fields
Note:incoming_messageuses the same tagged format as requests ({ "type": "<snake_case>", "params": { ... } }).
Error Codes
These values map 1:1 to the server enum:Rate limiting notes
The server computes message weight by the message"type" (e.g., "add_order", "cancel_order") and applies limits over a sliding window. Some messages are heavier than others. If you see RateLimited, delay and reduce frequency; prefer fewer, larger requests when possible.
Examples
1) Invalid JSON
2) Already authenticated
3) Invalid parameter
4) Permission denied
5) Rate limited
6) Server error
Client Handling Patterns
Python
Python
Node
Node
Go
Go
Authentication & Errors
- trade.qfex.com requires authentication within 1 minute of connecting.
- Attempting to re-authenticate an already authenticated connection yields
AlreadyAuthenticated.
Troubleshooting Checklist
- Validate JSON (types/enums/required fields).
- Respect rate limits (reduce burstiness; batch where possible).
- Ensure your API key has the right permissions.
- Log
incoming_messagefrom error frames to quickly reproduce issues. - For persistent
ServerError, contact support@qfex.com with timestamp and offendingincoming_message.