{ error: { code, message, details? }, meta }. Branch on the stable code,
because the human-readable message may change.
| Code | HTTP | Meaning |
|---|---|---|
INVALID_REQUEST | 400 | The body or params failed validation. The details field lists the fields. |
UNSUPPORTED_TOKEN | 400 | The token is not resolvable on that chain. |
UNSUPPORTED_CHAIN | 400 | The chain ID isn’t one RAVN supports. |
NO_LIQUIDITY | 404 | No venue could quote this pair or amount. |
QUOTE_EXPIRED | 410 | The quoteToken is past expiry. Request a new quote. |
QUOTE_INVALID | 400 | The quoteToken is malformed or tampered. |
QUOTE_NOT_EXECUTABLE | 400 | The quoteToken decodes fine but is a preview only (executable: false on the quote). Request a fresh quote with the missing destination or refund address. |
RATE_LIMITED | 429 | Your tier’s rate limit was exceeded (see Authentication). |
UNAUTHORIZED | 401 | A presented x-api-key doesn’t match any known key. No key at all is fine, that’s the anonymous tier. |
INTERNAL | 500 | An unexpected or venue-side error occurred. |
{
"error": {
"code": "NO_LIQUIDITY",
"message": "No liquidity available for this pair/amount"
},
"meta": { "requestId": "6b50...19e", "version": "2024-01" }
}
Always log the
requestId from meta, which is also in the x-request-id header. Include it
when you contact support and we can trace the exact request.
