General Information
This page covers general information that applies to all BigONE API endpoints.
Rate Limits
To ensure service stability, BigONE enforces rate limits on API requests.
Default Limits
| Type | Limit |
|---|---|
| HTTP Requests | 500 requests per 10 seconds per IP |
| WebSocket Connections | 5 connections per user |
Rate Limit Exceeded
If you exceed the rate limit, you will receive a 429 Too Many Requests response. Implement exponential backoff in your application to handle this gracefully.
Best Practices
- Cache public data — Market data like tickers and order books can be cached for a few seconds
- Use WebSocket — For real-time data, use WebSocket instead of polling REST endpoints
- Batch requests — Use batch endpoints when available (e.g., multi-order creation)
- Implement backoff — If rate limited, wait before retrying
HTTP Status Codes
BigONE APIs follow RFC HTTP standards.
| Code | Description |
|---|---|
| 200 | OK — Request succeeded |
| 400 | Bad Request — Invalid parameters |
| 401 | Unauthorized — Authentication failed |
| 403 | Forbidden — Insufficient permissions |
| 404 | Not Found — Resource does not exist |
| 429 | Too Many Requests — Rate limit exceeded |
| 500 | Internal Server Error — Server-side error |
| 503 | Service Unavailable — Service temporarily unavailable |
Response Format
All API responses follow a consistent JSON structure.
Success Response
{
"code": 0,
"data": {
// Response data here
}
}
Paginated Response
For endpoints that return lists, pagination is handled via page_token:
{
"code": 0,
"data": [
// Array of items
],
"page_token": "dxvf..."
}
To get the next page, include page_token as a query parameter in your next request.
Error Response
{
"code": 40004,
"message": "Unauthorized"
}
The code field contains the error code (non-zero for errors), and message provides a description.
Timestamps
- All timestamps in the API are in milliseconds since the UNIX epoch (unless otherwise specified)
- The
noncefield in JWT tokens uses nanoseconds - Server time can be obtained from the
/pingendpoint
Decimal Precision
- Prices and amounts are returned as strings to preserve precision
- Always use decimal libraries (not floating point) when handling cryptocurrency amounts
- Each asset pair has specific precision requirements — check the asset pair info endpoint
Request Headers
Required Headers for Private APIs
| Header | Value |
|---|---|
Authorization | Bearer <JWT_TOKEN> |
Content-Type | application/json (for POST/PUT requests) |
Optional Headers
| Header | Description |
|---|---|
Accept-Language | Preferred language for error messages (en, zh-Hans) |
Next Steps
- Error Codes — Complete reference of all error codes
- API Reference — Start exploring the API endpoints