Skip to main content

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

TypeLimit
HTTP Requests500 requests per 10 seconds per IP
WebSocket Connections5 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

  1. Cache public data — Market data like tickers and order books can be cached for a few seconds
  2. Use WebSocket — For real-time data, use WebSocket instead of polling REST endpoints
  3. Batch requests — Use batch endpoints when available (e.g., multi-order creation)
  4. Implement backoff — If rate limited, wait before retrying

HTTP Status Codes

BigONE APIs follow RFC HTTP standards.

CodeDescription
200OK — Request succeeded
400Bad Request — Invalid parameters
401Unauthorized — Authentication failed
403Forbidden — Insufficient permissions
404Not Found — Resource does not exist
429Too Many Requests — Rate limit exceeded
500Internal Server Error — Server-side error
503Service 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 nonce field in JWT tokens uses nanoseconds
  • Server time can be obtained from the /ping endpoint

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

HeaderValue
AuthorizationBearer <JWT_TOKEN>
Content-Typeapplication/json (for POST/PUT requests)

Optional Headers

HeaderDescription
Accept-LanguagePreferred language for error messages (en, zh-Hans)

Next Steps