Skip to content

Latest commit

 

History

History
1095 lines (954 loc) · 35.3 KB

File metadata and controls

1095 lines (954 loc) · 35.3 KB

RESTful API for Bitkub (2026-04-07)

Announcement

Change log

Table of contents

Base URL

Endpoint types

Non-secure endpoints

Our existing endpoints remain available for use. However, for enhanced security and performance, we strongly recommend utilizing the new Non-Secure Endpoint V3.

Non-secure endpoints V3

Market Data Endpoint Method
GET /api/v3/market/symbols GET
GET /api/v3/market/ticker GET
GET /api/v3/market/bids GET
GET /api/v3/market/asks GET
GET /api/v3/market/depth GET
GET /api/v3/market/trades GET
Exchange Information Endpoint Method
GET /api/v3/servertime GET

Secure endpoints V3

All secure endpoints require authentication.

User Endpoint Method Trade Deposit Withdraw
/api/v3/user/trading-credits POST
/api/v3/user/limits POST
/api/v3/user/coin-convert-history GET
Trading Endpoint Method Trade Deposit Withdraw
/api/v3/market/place-bid POST
/api/v3/market/place-ask POST
/api/v3/market/cancel-order POST
/api/v3/market/wstoken POST
/api/v3/market/my-open-orders GET
/api/v3/market/my-order-history GET
/api/v3/market/order-info GET
Fiat Endpoint Method Trade Deposit Withdraw
/api/v3/fiat/accounts POST
/api/v3/fiat/withdraw POST
/api/v3/fiat/deposit-history POST
/api/v3/fiat/withdraw-history POST

Constructing the request

GET/POST request

  • GET requests require parameters as query string in the URL (e.g. ?sym=THB_BTC&lmt=10).
  • POST requests require JSON payload (application/json).

Request headers (Secure Endpoints)

Authentication requires API KEY and API SECRET. Every request to the server must contain the following in the request header:

  • Accept: application/json
  • Content-type: application/json
  • X-BTK-APIKEY: {YOUR API KEY}
  • X-BTK-TIMESTAMP: {Timestamp i.e. 1699376552354 }
  • X-BTK-SIGN: Signature

Payload (POST)

The payload is always JSON.

Signature

Generate the signature from the timestamp, the request method, API path, query parameter, and JSON payload using HMAC SHA-256. Use the API Secret as the secret key for generating the HMAC variant of JSON payload. The signature is in hex format. The user has to attach the signature via the Request Header You must get a new timestamp in millisecond from /api/v3/servertime. The old one is in second.

Example string for signing a signature:

//Example for Get Method
1699381086593GET/api/v3/market/my-order-history?sym=BTC_THB

// Example for Post Method
1699376552354POST/api/v3/market/place-bid{"sym":"thb_btc","amt": 1000,"rat": 10,"typ": "limit"}

Example cURL:

curl --location 'https://api.bitkub.com/api/v3/market/place-bid' \
--header 'X-BTK-TIMESTAMP: 1699381086593' \
--header 'X-BTK-APIKEY: e286825bda3497ae2d03aa3a30c420d603060cb4edbdd3ec711910c86966e9ba' \
--header 'X-BTK-SIGN: f5884963865a6e868ddbd58c9fb9ea4bd013076e8a8fa51d38b86c38d707cb8a' \
--header 'Content-Type: application/json' \
--data '{
  "sym": "thb_btc",
  "amt": 1000,
  "rat": 10,
  "typ": "limit",
}'
curl --location 'https://api.bitkub.com/api/v3/market/my-open-orders?sym=BTC_THB' \
--header 'X-BTK-TIMESTAMP: 1699381086593' \
--header 'X-BTK-APIKEY: e286825bda3497ae2d03aa3a30c420d603060cb4edbdd3ec711910c86966e9ba' \
--header 'X-BTK-SIGN: f5884963865a6e868ddbd58c9fb9ea4bd013076e8a8fa51d38b86c38d707cb8a'

API documentation

Refer to the following for description of each endpoint

GET /api/status

Description:

Get endpoint status. When status is not ok, it is highly recommended to wait until the status changes back to ok.

Query:

  • n/a

Response:

[
  {
    "name": "Non-secure endpoints",
    "status": "ok",
    "message": ""
  },
  {
    "name": "Secure endpoints",
    "status": "ok",
    "message": ""
  }
]

GET /api/servertime

Description:

Get server timestamp. This can't use with secure endpoint V3. Please use /api/v3/servertime.

Query:

  • n/a

Response:

1707220534359

GET /api/v3/servertime

Description:

Get server timestamp.

Query:

  • n/a

Response:

1701251212273

GET /api/v3/market/symbols

Description:

List all available symbols.

Query:

  • n/a

Response:

{
    "error": 0,
    "result": [
        {
            "base_asset": "BTC",
            "base_asset_scale": 8,
            "buy_price_gap_as_percent": 20,
            "created_at": "2017-10-30T22:16:10+07:00",
            "description": "Thai Baht to Bitcoin",
            "freeze_buy": false,
            "freeze_cancel": false,
            "freeze_sell": false,
            "market_segment": "SPOT",
            "min_quote_size": 10,
            "modified_at": "2025-05-20T16:48:04.599+07:00",
            "name": "Bitcoin",
            "pairing_id": 1,
            "price_scale": 2,
            "price_step": "0.01",
            "quantity_scale": 0,
            "quantity_step": "1",
            "quote_asset": "THB",
            "quote_asset_scale": 2,
            "sell_price_gap_as_percent": 20,
            "status": "active",
            "symbol": "BTC_THB",
            "source": "exchange"
        }
    ]
}

GET /tradingview/history

Description:

Get historical data for TradingView chart.

Query:

  • symbol string The symbol (e.g. BTC_THB)
  • resolution string Chart resolution (1, 5, 15, 60, 240, 1D)
  • from int Timestamp of the starting time (e.g. 1633424427)
  • to int Timestamp of the ending time (e.g. 1633427427)

Response:

{
  "c": [
    1685000,
    1680699.95,
    1688998.99,
    1692222.22
  ],
  "h": [
    1685000,
    1685000,
    1689000,
    1692222.22
  ],
  "l": [
    1680053.22,
    1671000,
    1680000,
    1684995.07
  ],
  "o": [
    1682500,
    1685000,
    1680100,
    1684995.07
  ],
  "s": "ok",
  "t": [
    1633424400,
    1633425300,
    1633426200,
    1633427100
  ],
  "v": [
    4.604352630000001,
    8.530631670000005,
    4.836581560000002,
    2.8510189200000022
  ]
}

Market Data Endpoint

GET /api/v3/market/ticker

Description:

Get ticker information.

Query (URL):

  • sym string The symbol (e.g. btc_thb)

Response:

[
    {
        "symbol": "ADA_THB",
        "base_volume": "1875227.0489781",
        "high_24_hr": "38",
        "highest_bid": "37.33",
        "last": "37.36",
        "low_24_hr": "35.76",
        "lowest_ask": "37.39",
        "percent_change": "2.69",
        "quote_volume": "69080877.73"
    },
    {
        "symbol": "CRV_THB",
        "base_volume": "1811348.93318162",
        "high_24_hr": "39",
        "highest_bid": "38.4",
        "last": "38.42",
        "low_24_hr": "35.51",
        "lowest_ask": "38.42",
        "percent_change": "4.52",
        "quote_volume": "67340316.65"
    }
]

GET /api/v3/market/bids

Description:

List open buy orders.

Query:

  • sym string The symbol (e.g. btc_thb)
  • lmt int No. of limit to query open buy orders

Response:

{
  "error": 0,
  "result": [
    {
      "order_id": "365357265",
      "price": "3330100.43",
      "side": "buy",
      "size": "0.87901418",
      "timestamp": 1734714699000,
      "volume": "2927205.5"
    },
    {
      "order_id": "365357190",
      "price": "3330100.13",
      "side": "buy",
      "size": "0.00314952",
      "timestamp": 1734689476000,
      "volume": "10488.24"
    }
  ]
}

GET /api/v3/market/asks

Description:

List open sell orders.

Query:

  • sym string The symbol (e.g. btc_thb)
  • lmt int No. of limit to query open sell orders

Response:

{
  "error": 0,
  "result": [
    {
      "order_id": "303536416",
      "price": "3334889",
      "side": "sell",
      "size": "0.01289714",
      "timestamp": 1734689550000,
      "volume": "42903"
    },
    {
      "order_id": "303536239",
      "price": "3334889.31",
      "side": "sell",
      "size": "0.129",
      "timestamp": 1734714713000,
      "volume": "430200.72"
    }
  ]
}

GET /api/v3/market/depth

Description:

Get depth information.

Query:

  • sym string The symbol (e.g. btc_thb)
  • lmt int Depth size

Response:

{
  "error": 0,
  "result": {
    "asks": [
      [
       3338932.98, // price
       0.00619979, //size
      ],
      [
       3341006.36, // price
       0.00134854 //size
      ]
    ],
    "bids": [
      [
        3334907.27, // price
        0.00471255 //size
      ],
      [
        3334907.26, // price
        0.36895805 //size
      ]
    ]
  }
}

GET /api/v3/market/trades

Description:

List recent trades.

Query:

  • sym string The symbol (e.g. btc_thb)
  • lmt int No. of limit to query recent trades

Response:

{
    "error": 0,
    "result": [
        [
            1734661894000,
            3367353.98,
            0.00148484,
            "BUY"
        ],
        [
            1734661893000,
            3367353.98,
            0.00029622,
            "BUY"
        ]
    ]
}

Trading Endpoint V3

POST /api/v3/user/trading-credits

Description:

Check trading credit balance.

Query (URL):

Response:

{
   "error": 0,
   "result": 1000
}

POST /api/v3/market/place-bid

Description:

Create a buy order.

Body:

  • sym string The symbol you want to trade (e.g. btc_thb).
  • amt float Amount you want to spend with no trailing zero (e.g. 1000.00 is invalid, 1000 is ok)
  • rat float Rate you want for the order with no trailing zero (e.g. 1000.00 is invalid, 1000 is ok)
  • typ string Order type: limit or market (for market order, please specify rat as 0)
  • client_id string your id for reference ( not required )
  • post_only bool Postonly flag: true or false ( not required )

Response:

{
  "error": 0,
  "result": {
    "id": "1", // order id
    "typ": "limit", // order type
    "amt": 1000, // spending amount
    "rat": 15000, // rate
    "fee": 2.5, // fee
    "cre": 2.5, // fee credit used
    "rec": 0.06666666, // amount to receive
    "ts": "1707220636" // timestamp
    "ci": "input_client_id" // input id for reference
  }
}

POST /api/v3/market/place-ask

Description:

Create a sell order.

Body:

  • sym string The symbol. The symbol you want to trade (e.g. btc_thb).
  • amt float Amount you want to sell with no trailing zero (e.g. 0.10000000 is invalid, 0.1 is ok)
  • rat float Rate you want for the order with no trailing zero (e.g. 1000.00 is invalid, 1000 is ok)
  • typ string Order type: limit or market (for market order, please specify rat as 0)
  • client_id string your id for reference ( not required )
  • post_only bool Postonly flag: true or false ( not required )

Response:

{
  "error": 0,
  "result": {
    "id": "1", // order id
    "typ": "limit", // order type
    "amt": 1.00000000, // selling amount
    "rat": 15000, // rate
    "fee": 37.5, // fee
    "cre": 37.5, // fee credit used
    "rec": 15000, // amount to receive
    "ts": "1533834844" // timestamp
    "ci": "input_client_id" // input id for reference
  }
}

POST /api/v3/market/cancel-order

Description:

Cancel an open order.

Body:

  • sym string The symbol. Please note that the current endpoint requires the symbol thb_btc. However, it will be changed to btc_thb soon and you will need to update the configurations accordingly for uninterrupted API functionality.
  • id string Order id you wish to cancel
  • sd string Order side: buy or sell

Response:

{
  "error": 0
}

GET /api/v3/market/my-open-orders

Description:

List all open orders of the given symbol.

Query:

  • sym string The symbol (e.g. btc_thb)

Response:

{
  "error": 0,
  "result": [
    { // Example of sell order
      "id": "2", // order id
      "side": "sell", // order side
      "type": "limit", // order type
      "rate": "15000", // rate
      "fee": "35.01", // fee
      "credit": "35.01", // credit used
      "amount": "0.93333334", // amount of crypto quantity
      "receive": "14000", // amount of THB 
      "parent_id": "1", // parent order id
      "super_id": "1", // super parent order id
      "client_id": "client_id" // client id
      "ts": 1702543272000 // timestamp
    },
    { // Example of buy order
      "id": "278465822",
      "side": "buy",
      "type": "limit",
      "rate": "10",
      "fee": "0.25",
      "credit": "0",
      "amount": "100", // amount of THB 
      "receive": "9.975", // amount of crypto quantity
      "parent_id": "0",
      "super_id": "0",
      "client_id": "client_id",
      "ts": 1707220636000
    },
  ]
}

Note : The client_id of this API response is the input body field name client_id , was inputted by the user of APIs

GET /api/v3/market/my-order-history

Description:

List all orders that have already matched.

Query:

  • sym string The trading symbol (e.g. BTC_THB)
  • p string Page number for page-based pagination (optional)
  • lmt string Limit per page, default: 10, min: 1 (optional)
  • cursor string Base64 encoded cursor for keyset pagination (optional)
  • start string Start timestamp (optional)
  • end string End timestamp (optional)
  • pagination_type string Pagination type: "page" or "keyset", default: "page" (optional)

Validation Rules:

  • sym is required and must be a valid trading symbol
  • p and cursor cannot be used together
  • p requires pagination_type=page or no pagination_type specified
  • cursor requires pagination_type=keyset
  • lmt must be a positive integer >= 1
  • start and end must be valid timestamps if provided
  • start must be less than end if both provided

Response (Page-based pagination):

{
    "error": 0,
    "result": [
        {
            "txn_id": "68a82566596d482000f4e4edaa05m0",
            "order_id": "68a82566596d482000f4e4edaa05m0",
            "parent_order_id": "68a82566596d482000f4e4edaa05m0",
            "super_order_id": "68a82566596d482000f4e4edaa05m0",
            "client_id": "CLIENT123",
            "taken_by_me": false,
            "is_maker": true,
            "side": "buy",
            "type": "limit",
            "rate": "2500000.00",
            "fee": "25.00",
            "credit": "0.00",
            "amount": "1000.00",
            "ts": 1755850086843,
            "order_closed_at": 1755850086843
        }
    ],
    "pagination": {
        "page": 1,
        "last": 10,
        "next": 2,
        "prev": null
    }
}

Response (Keyset-based pagination):

{
    "error": 0,
    "result": [
        {
            "txn_id": "68a82566596d482000f4e4edaa05m0",
            "order_id": "68a82566596d482000f4e4edaa05m0",
            "parent_order_id": "68a82566596d482000f4e4edaa05m0",
            "super_order_id": "68a82566596d482000f4e4edaa05m0",
            "client_id": "CLIENT123",
            "taken_by_me": false,
            "is_maker": true,
            "side": "buy",
            "type": "limit",
            "rate": "2500000.00",
            "fee": "25.00",
            "credit": "0.00",
            "amount": "1000.00",
            "ts": 1755850086843,
            "order_closed_at": 1755850086843
        }
    ],
    "pagination": {
        "cursor": "eyJpZCI6Ik9SRDEyMzQ1Njc4OSIsInRzIjoiMTY3MjUzMTIwMCJ9",
        "has_next": true
    }
}

Response Fields:

Order Item Fields:

  • txn_id: Transaction ID
  • order_id: Unique order identifier
  • parent_order_id: Parent order ID (for linked orders)
  • super_order_id: Super order ID (for grouped orders)
  • client_id: Client-provided order ID
  • taken_by_me: Whether the order was taken by the user
  • is_maker: Whether the order was a maker order
  • side: Order side ("buy" or "sell")
  • type: Order type ("limit" or "market")
  • rate: Order price/rate
  • fee: Fee paid in THB
  • credit: Credit used for fee payment
  • amount: Order amount (quote quantity for buy orders, base quantity for sell orders)
  • ts: Order close timestamp in millisecond
  • order_closed_at: Order closure timestamp in millisecond (nullable)

Pagination Fields (Page-based):

  • page: Current page number
  • last: Total number of pages
  • next: Next page number (nullable)
  • prev: Previous page number (nullable)

Pagination Fields (Keyset-based):

  • cursor: Base64 encoded cursor for next page
  • has_next: Whether there are more records

Cursor Encoding Details:

The cursor parameter uses Base64 encoding of a JSON object containing pagination state:

Cursor Structure:

{
  "id": "ORDER_ID_STRING",
  "ts": "TIMESTAMP_DECIMAL"
}

Encoding Process:

  1. Create JSON object with id (order ID) and ts (timestamp as decimal)
  2. Convert JSON to string
  3. Encode string using Base64 standard encoding

Example:

// Original cursor object
{
  "id": "ORD123456789", 
  "ts": "1672531200"
}

// JSON string
'{"id":"ORD123456789","ts":"1672531200"}'

// Base64 encoded
"eyJpZCI6Ik9SRDEyMzQ1Njc4OSIsInRzIjoiMTY3MjUzMTIwMCJ9"

Custom Cursor Creation: Users can create custom cursors by:

  1. Taking the last item's order_id and ts from previous response
  2. Creating JSON: {"id":"LAST_ORDER_ID","ts":"LAST_TIMESTAMP"}
  3. Base64 encoding the JSON string
  4. Using encoded string as cursor parameter

Empty Cursor:

  • Default empty cursor: e30= (Base64 of {})
  • Used when no cursor is provided in keyset pagination

GET /api/v3/market/order-info

Description:

Get information regarding the specified order.

Query:

  • sym string The symbol (e.g. btc_thb)
  • id string Order id
  • sd string Order side: buy or sell

Response:

{
    "error": 0,
    "result": {
        "id": "289", // order id
        "first": "289", // first order id
        "parent": "0", // parent order id
        "last": "316", // last order id
        "client_id": "", // your id for reference
        "post_only": false, // post_only: true, false
        "amount": "4000", // order amount THB amount if it Buy side. And Crypto Amount if it sell side
        "rate": 291000, // order rate
        "fee": 10, // order fee
        "credit": 10, // order fee credit used
        "filled": 3999.97, // filled amount
        "total": 4000, // total amount
        "status": "filled", // order status: filled, unfilled, cancelled
        "partial_filled": false, // true when order has been partially filled, false when not filled or fully filled
        "remaining": 0, // remaining amount to be executed
        "history": [
            {
                "amount": 98.14848,
                "credit": 0.25,
                "fee": 0.25,
                "id": "289",
                "rate": 291000,
                "timestamp": 1702466375000,
                "txn_id": "BTCBUY0003372258"
            }
        ]
    }
}

Fiat Endpoint

POST /api/v3/fiat/accounts

Description:

List all approved bank accounts.

Query (URL):

  • p int Page (optional)
  • lmt int Limit (optional)

Response:

{
   "error": 0,
   "result": [
      {
         "id": "7262109099",
         "bank": "Kasikorn Bank",
         "name": "Somsak",
         "time": 1570893867
      }
   ],
   "pagination": {
      "page": 1,
      "last": 1
   }
}

POST /api/v3/fiat/withdraw

Description:

Make a withdrawal to an approved bank account.

Query:

  • id string Bank account id
  • amt float Amount you want to withdraw

Response:

{
    "error": 0,
    "result": {
        "txn": "THBWD0000012345", // local transaction id
        "acc": "7262109099", // bank account id
        "cur": "THB", // currency
        "amt": 21, // withdraw amount
        "fee": 20, // withdraw fee
        "rec": 1, // amount to receive
        "ts": 1569999999 // timestamp
    }
}

POST /api/v3/fiat/deposit-history

Description:

List fiat deposit history.

Query (URL):

  • p int Page (optional)
  • lmt int Limit (optional)

Response:

{
   "error": 0,
   "result": [
      {
         "txn_id": "THBDP0000012345",
         "currency": "THB",
         "amount": 5000.55,
         "status": "complete",
         "time": 1570893867
      }
   ],
   "pagination": {
      "page": 1,
      "last": 1
   }
}

POST /api/v3/fiat/withdraw-history

Description:

List fiat withdrawal history.

Query (URL):

  • p int Page (optional)
  • lmt int Limit (optional)

Response:

{
   "error":0,
   "result": [
      {
         "txn_id": "THBWD0000012345",
         "currency": "THB",
         "amount": "21",
         "fee": 20,
         "status": "complete",
         "time": 1570893493
      }
   ],
   "pagination": {
      "page": 1,
      "last": 1
   }
}

User information Endpoint

POST /api/v3/user/limits

Description:

Check deposit/withdraw limitations and usage.

Query (URL):

Response:

{
   "error": 0,
   "result": { 
       "limits": { // limitations by kyc level
          "crypto": { 
             "deposit": 0.88971929, // BTC value equivalent
             "withdraw": 0.88971929 // BTC value equivalent
          },
          "fiat": { 
             "deposit": 200000, // THB value equivalent
             "withdraw": 200000 // THB value equivalent
          }
       },
       "usage": { // today's usage
          "crypto": { 
             "deposit": 0, // BTC value equivalent
             "withdraw": 0, // BTC value equivalent
             "deposit_percentage": 0,
             "withdraw_percentage": 0,
             "deposit_thb_equivalent": 0, // THB value equivalent
             "withdraw_thb_equivalent": 0 // THB value equivalent
          },
          "fiat": { 
             "deposit": 0, // THB value equivalent
             "withdraw": 0, // THB value equivalent
             "deposit_percentage": 0,
             "withdraw_percentage": 0
          }
       },
       "rate": 224790 // current THB rate used to calculate
    }
}

GET /api/v3/user/coin-convert-history

Description:

List all coin convert histories (paginated).

Query (URL):

  • p int Page default = 1 (optional)
  • lmt int Limit default = 100 (optional)
  • sort int Sort [1, -1] default = 1 (optional)
  • status string Status [success, fail, all] (default = all) (optional)
  • sym string The symbol (optional)
    • e.g. KUB
  • start int Start timestamp (optional)
  • end int End timestamp (optional)

Response:

{
    "error": 0,
    "result": [
        {
            "transaction_id": "67ef4ca7ddb88f34ce16a126",
            "status": "success",
            "amount": "0.0134066",
            "from_currency": "KUB",
            "trading_fee_received": "1.34",
            "timestamp": 1743761171000
        },
        {
            "transaction_id": "6707a7426fb3370035725c03",
            "status": "fail",
            "amount": "0.000006",
            "from_currency": "KUB",
            "trading_fee_received": "0",
            "timestamp": 1728580016000
        }
    ],
    "pagination": {
        "page": 1,
        "last": 12,
        "next": 2
    }
}

Error codes

Refer to the following descriptions:

Code Message Description
0 No error
1 Invalid JSON payload
2 Missing X-BTK-APIKEY
3 Invalid API key
4 API pending for activation
5 IP not allowed
6 Missing / invalid signature
7 Missing timestamp
8 Invalid timestamp
9 • Invalid user
• User not found
• Freeze withdrawal
• User is not allowed to perform this action within the last 24 hours
• User has suspicious withdraw crypto txn
10 • Invalid parameter
• Invalid response: Code not found in response
• Validate params
• Default
11 Invalid symbol
12 • Invalid amount
• Withdrawal amount is below the minimum threshold
13 Invalid rate
14 Improper rate
15 Amount too low
16 Failed to get balance
17 Wallet is empty
18 Insufficient balance
19 Failed to insert order into db
20 Failed to deduct balance
21 Invalid order for cancellation (Unable to find OrderID or Symbol.)
22 Invalid side
23 Failed to update order status
24 • Invalid order for lookup
• Invalid kyc level
25 KYC level 1 is required to proceed
30 Limit exceeds
40 Pending withdrawal exists
41 Invalid currency for withdrawal
42 Address is not in whitelist
43 • Failed to deduct crypto
• Insufficient balance
• Deduct balance failed
44 Failed to create withdrawal record
47 Withdrawal amount exceeds the maximum limit
48 • Invalid bank account
• User bank id is not found
• User bank is unavailable
49 Bank limit exceeds
50 • Pending withdrawal exists
• Cannot perform the action due to pending transactions
51 Withdrawal is under maintenance
52 Invalid permission
53 Invalid internal address
54 Address has been deprecated
55 Cancel only mode
56 User has been suspended from purchasing
57 User has been suspended from selling
58 Transaction not found
User bank is not verified
61 This endpoint doesn't support broker coins ('source' = broker). You can check 'source' of each symbol in /api/v3/market/symbols.
90 Server error (please contact support)

Rate limits

If the request rate exceeds the limit in any endpoints, the request will be blocked for 30 seconds. When blocked, HTTP response is 429 Too Many Requests. The limits apply to individual user accessing the API. The rate limit is applied to each endpoint regardless the API version.

Endpoint Rate Limit
/api/v3/market/ticker 100 req/sec
/api/v3/market/depth 10 req/sec
/api/v3/market/symbols 100 req/sec
/api/v3/market/trades 100 req/sec
/api/v3/market/bids 100 req/sec
/api/v3/market/asks 100 req/sec
/api/market/order-info 100 req/sec
/api/market/my-open-orders 150 req/sec
/api/market/my-order-history 100 req/sec
/api/market/place-bid 150 req/sec
/api/market/place-ask 150 req/sec
/api/market/cancel-order 200 req/sec
/api/servertime 2,000 req/10secs
/api/status 100 req/sec
/api/fiat/* 20 req/sec
/api/user/* 20 req/sec
/tradingview/* 100 req/sec