Errors and limits
Normal API errors use application/problem+json. Missing routes and routes hidden by the active market mode may return a plain text 404 Not found.
Normal API errors use application/problem+json. Missing routes and routes
hidden by the active market mode may return a plain text 404 Not found.
Example:
{
"type": "https://docs.rip.bet/errors/stale-book-data",
"title": "Stale Book Data",
"status": 503,
"detail": "Book data is older than the freshness window"
}
Status codes
| Status | Meaning |
|---|---|
400 | Bad request or validation error |
401 | Missing or invalid JWT |
403 | Authenticated but not allowed |
404 | Route, asset, market, or mode unavailable |
409 | Market state conflict, such as wrong phase |
410 | Legacy endpoint is gone |
423 | Market is locked or paused |
429 | Too many requests or messages |
503 | Dependency, cache, oracle, or market data unavailable |
Client rules
- Show the API's
detailwhen it is safe for users. - Use the machine-readable error code when present.
- Retry
503with backoff. - Do not retry validation errors without changing the request.
- Refresh market state after
404,409, or423.
WebSocket limits
WebSocket clients should avoid rapid reconnects and message bursts. The server enforces connection and per-message limits. If the connection closes after repeated violations, wait before reconnecting.
Trading limits
Orders can be rejected because:
- The market is outside its trading phase.
- The active asset changed.
- The bucket is too close to settlement.
- The market is paused or close-only.
- OI caps would be exceeded.
- The oracle or book data is stale.
- The signature, nonce, or prepared action is invalid.
Build clients so these are normal states, not edge-case crashes.