Error Handling
HTTP vs Business Errors
- Some endpoints return HTTP 200 even when the request fails.
- Always check the response
codeand treat any non-success code as failure.
Trading Service Error Codes
Trading service errors may use a string code.
Envelope example:
{
"code": "INVALID_INPUT",
"message": "token addresses cannot be empty"
}
Input validation:
| code | Meaning |
|---|---|
INVALID_INPUT |
Missing field / invalid format |
INVALID_TOKEN |
Invalid or unsupported token address |
INVALID_AMOUNT |
Invalid amount (non-positive / non-integer wei / format) |
INVALID_PAIR |
Unsupported or missing pair |
INVALID_DEADLINE |
Invalid deadline/expiry |
Business errors:
| code | Meaning |
|---|---|
QUOTE_EXPIRED |
Quote expired |
INSUFFICIENT_LIQUIDITY |
Not enough liquidity |
NO_QUOTES |
No quotes available |
SLIPPAGE_EXCEEDED |
Slippage check failed |
System errors:
| code | Meaning |
|---|---|
INTERNAL_ERROR |
Internal error |
DATABASE_ERROR |
Database error |
REDIS_ERROR |
Redis error |
KAFKA_ERROR |
Kafka error |
SIGNING_ERROR |
Signing-related error |
TIMEOUT_ERROR |
Timeout |
Market Data Error Codes
Market data endpoints use numeric code.
| code | Meaning |
|---|---|
10000 |
Success |
10095 |
Invalid parameters |
20003 |
Internal service error |
20004 |
Not found (e.g. pair not found) |