API Reference

📖 Change Log

24 Nov12th

Update Market Data Streams for RapidX API, add subscription rules.

24 Nov07th

Update endpoints for LTP API, add request field of "status"

  • GET/api/v1/deposit/list : add request field: status

24 Oct 24th

Update rate limit:

  • GET /api/v1/trading/history/position 30/10s
  • GET /api/v1/trading/history/orders 30/10s

24 Oct 22th

Update endpoints for LTP API

  • GET /api/v1/asset/currencies : add field: estNetworkFee. Users are able to retreive the estimated network fee for asset transfer and withdrawal.

24 Oct 17th

  • Update user data stream:
    • add "leverage" for orders

24 Oct 10th

Update rate limit:

  • GET /api/v1/trading/statement 100/60s

24 Sep 30th

Add endpoint for LTP API

  • GET/ /api/v1/system/status:Get event status of system upgrade.

24 September 30th

  • Add response field clientOrderId in Transaction
  • Add response field clientOrderId in PlaceOrder

24 September 26th

  • Support margin cross trade.
  • Add 2 endpoint:
    • POST /api/v1/trading/margin/leverage
    • GET /api/v1/trading/margin/leverage
  • Add 2 fields for 3 endpoint /api/v1/trading/order, /api/v1/trading/orders, /api/v1/trading/history/orders:
    • "borrowAmount"
    • "borrowAsset"
  • Update rate limit:
    • 10/10s for /api/v1/trading/history/orders
    • 10/10s for /api/v1/trading/history/position
    • 300/min for /api/v1/trading/position
  • Update user data stream:
    • Add "borrow" field for asset
    • Add 2 fields for order details:
      • "borrowAmount"
      • "borrowAsset"

24 September 14th

  • Rapid Transfer:
    This feature helps you transfer funds between exchanges in seconds, helping you better balance your portfolio's margin risk.

24 September 12th

  • Add response field rpnl in Transaction

24 September 10th

Add endpoints for LTP API

  • GET /api/v1/asset/currencies : retrieve the deposit, withdraw, and transfer currency info of Funding Account, Trading Portfolio, Custody Account, and Exchange Account.

24 September 5th

  • cancelAll endpoint request params add sym field
  • Market Data Streams add BBO channel

24 August 22th

  • The function of websocket trading has been launched
  Place Order: <https://apidocliquidity.readme.io/reference/ws-create-order>
  Cancel Order: <https://apidocliquidity.readme.io/reference/ws-cancel-order>
  Cancel Orders: <https://apidocliquidity.readme.io/reference/ws-cancel-orders>
  • Query Statement add query params: sym

24 August 15th

  • The function of replace order has been launched

Repalce order endpoint: https://apidocliquidity.readme.io/reference/replace-order

  • Query Statement add query params: exchange

24 August 08th

Due to compliance requirement, the exchange original account name will no longer be displayed. It is advisable to identify accounts using the account ID/account note on LTP dashboard.

Update endpoints of LTP API

  • Account List
    • Get The Account List:GET /api/v1/tradeAccount/list: Omit the "exchangeEmail" field from the response and include the "accountNote" field instead.
    • Get Account Balance:GET /api/v1/asset/getAccountCurrencyInfo:Omit the "accountName" field from the response and include the "accountNote" field instead.

24 August 06th

  • GET /api/v1/market/markPrice
    • Add response field:
      • publicChannelTypeEnum
  • GET /api/v1/trading/sym/info
    • remove response field:
      • minLimitSize
      • minMarketQuoteSize
      • minMarketBaseSize
      • maxMarketBaseSize
      • maxMarketQuoteSize
  • GET /api/v1/market/fundingRate
    • Add response field:
      • nextFundingTime
  • GET /api/v1/user/asset
    • Add response field:
      • upnl
  • GET /api/v1/trading/portfolio/assets
    • Add response field:
      • upnl
  • GET /api/v1/trading/history/orders
    • Add request field:
      • businessType
  • Pagable request and response field change
    • pageNum -> page
  • GET /api/v1/trading/executions
    • remove response field:
      • updateAt

24 July 25th

Update endpoints of LTP API

  • GET /api/v1/trading/position
    • Add response field:
      • liqPrice Estimated liquidation price of position. If the data is null, it means there will not be forced liquidation.
  • GET /api/v1/trading/portfolio/assets and GET /api/v1/user/asset
    • Add response field:
      • maxTransferable Maximum transfer amount

Update user data streams(websocket) of LTP

  • User data websocket Positions channel
    • Add response field:
      • liqPrice Estimated liquidation price of position
  • User data websocket Assets channel
    • Add response field:
      • maxTransferable Maximum transfer amount

24 July 10th

Update endpoints of LTP API

  • Order
    • GET /api/v1/trading/orders :
      • Add request field:
        • sym
        • exchange
        • businessType
        • begin
        • end
        • pageNum
        • pageSize
      • Add response field:
        • portfolioName
        • leverage
      • Response structure change
        1. Change to pagination structure
        • Example
          • {
            "code": 200000,
            "message": "Success",
            "data": {
            "page": 1,
            "pageSize": 1000,
            "pageNum": 1,
            "totalSize": 1,
            "list": [
            {
            "portfolioId": "1718615398478000",
            "portfolioName": "Test2",
            "orderId": "1720609466703000",
            "clientOrderId": "1720609466703000",
            "orderState": "OPEN",
            "sym": "OKX_PERP_ETH_USDT",
            "side": "BUY",
            "exchangeOrderType": "LIMIT",
            "exchangeType": "OKX",
            "businessType": "PERP",
            "orderQty": "0.1",
            "quoteOrderQty": "0",
            "limitPrice": "3000",
            "timeInForce": "GTC",
            "executedQty": "0",
            "executedAmount": "0",
            "executedAvgPrice": "0",
            "reason": "",
            "createAt": "1720609466703",
            "updateAt": "1720609466818",
            "fee": "0",
            "orderType": "DMA",
            "reduceOnly": false,
            "leverage": 10,
            "lastExecutedQty": "0",
            "lastExecutedPrice": "0",
            "lastExecutedAmount": "0"
            }
            ]
            }
            }
    • GET /api/v1/trading/history/orders :
      • Add request field:
        • exchange
        • businessType
        • pageNum
        • pageSize
      • Remove request field:
        • limit
      • Add response field:
        • portfolioName
        • leverage
      • Response structure change
        1. Change to pagination structure
        • Example:
          • {
            "code": 200000,
            "message": "Success",
            "data": {
            "page": 1,
            "pageSize": 1000,
            "pageNum": 1,
            "totalSize": 1,
            "list": [
            {
            "portfolioId": "1718615398478000",
            "portfolioName": "Test2",
            "orderId": "1720609349457000",
            "clientOrderId": "1720609349457000",
            "orderState": "FILLED",
            "sym": "OKX_PERP_ETH_USDT",
            "side": "BUY",
            "exchangeOrderType": "MARKET",
            "exchangeType": "OKX",
            "businessType": "PERP",
            "orderQty": "0.1",
            "quoteOrderQty": "0",
            "limitPrice": "3105.44",
            "timeInForce": "GTC",
            "executedQty": "0.1",
            "executedAmount": "31.0597",
            "executedAvgPrice": "3105.97",
            "reason": "",
            "createAt": "1720609349457",
            "updateAt": "1720609349542",
            "fee": "0.007764925",
            "orderType": "DMA",
            "reduceOnly": false,
            "leverage": 10,
            "lastExecutedQty": "0.1",
            "lastExecutedPrice": "3105.97",
            "lastExecutedAmount": "31.0597"
            }
            ]
            }
            }
  • Position
    • GET /api/v1/trading/position :
      • Add request field
        • exchange
    • GET /api/v1/trading/history/position :
      • Add request field:
        • exchange
        • pageNum
        • pageSize
      • Remove request field:
        • limit
      • Add response field:
        • positionHistorySide
        • portfolioName
        • leverage
      • Response structure change
        1. Change to pagination structure
        • Example:
          • {
            "code": 200000,
            "message": "Success",
            "data": {
            "page": 1,
            "pageSize": 1000,
            "pageNum": 1,
            "totalSize": 1,
            "list": [
            {
            "positionId": "1720087009673010",
            "portfolioId": "1718615398478000",
            "portfolioName": "Test2",
            "sym": "OKX_PERP_BCH_USDT",
            "closedType": "COMPLETE_CLOSED",
            "closedPnl": "-0.009",
            "closedPnlRatio": "-0.002576581734898369",
            "closedAvgPrice": "348.4",
            "maxPositionQty": "0.1",
            "closedQty": "0.1",
            "liqFee": "0",
            "fundingFee": "0",
            "fee": "0.00174425",
            "openAvgPrice": "349.3",
            "leverage": 1,
            "positionHistorySide": "LONG",
            "createAt": "1720087009673",
            "updateAt": "1720087326436"
            }
            ]
            }
            }
  • Account
    • GET /api/v1/trading/account :
      • Add response field
      • upnl
  • UserFeeRate
    • GET /api/v1/trading/userFeeRate :
      • Add response field
        • level
  • Statement
    • GET /api/v1/trading/statement :
      • Request parameter change:
        • page -> pageNum
        • limit -> pageSize

24 June 20th

24 June 18th

Add endpoints for LTP API

  • POST /api/v1/trading/portfolio : Create a trading portfolio from the primary user
  • GET /api/v1/trading/portfolio : Get trading portfolio list from the primary user.
  • PUT /api/v1/trading/portfolio : Update portfolio's details from the primary user
  • GET /api/v1/apiKey/portfolio : Get trading portfolio api list from the primary user
  • POST /api/v1/apiKey/portfolio : Create trading portfolio API from the primary user

Update endpoints of LTP API

  • Deposit
    • GET /api/v1/deposit/address : support query of trading portfolio deposit address
    • GET /api/v1/deposit/list : support query of portfolio deposit record
  • Transfer(RapidX transfer API merged to LTP API)
    • POST /api/v1/transfer/apply : support trading portfolio transfer
    • GET /api/v1/transfer/get : support query of trading portfolio transfer record by transferid
    • GET /api/v1/transfer/list : support query of all lists of trading portfolio transfer record
  • Withdraw
    • POST /api/v1/userWithdrawRecord/apply : support withdrawal of trading portfolio
    • GET /api/v1/userWithdrawRecord/list : support query of trading portfolio withdrawal history

RapidX API Deprecated

  • POST/api/v1/account/asset -> POST/api/v1/user/asset
  • Trading Portfolio Management (merged to LTP API)
    • POST/api/v1/trading/portfolio
    • PUT/api/v1/trading/portfolio
    • GET/Get Portfolio By PortfolioId
    • GET/api/v1/trading/portfolios
  • Transfer API (merged to LTP API)
    • POST/api/v1/transfer/apply
    • GET/api/v1/transfer/get
    • GET/api/v1/transfer/list
    • GET/api/v1/transfer/info

24 April 25th

Update endpoints of LTP API

  • POST /api/v1/transfer/apply
  • POST /api/v1/userWithdrawRecord/apply

Account type of Binance classic account:USDT-ⓜ, COIN-ⓜ changed to:USDT/C-M, Coin-M
Account type of Bybit classic account and PM account:USDT-ⓜ, COIN-ⓜ changed to:USDT-M, Coin-M ;

24 Mar 14th

Update endpoints:

  • GET /api/v1/transfer/get Add response field network, amountReceived, networkFee
  • GET /api/v1/transfer/list Add response field network, amountReceived, networkFee
  • POST /api/v1/transfer/apply Add request field network

24 Feb 06th

Update endpoints:

  • GET /api/v1/transfer/get Add response field fromAccountType, toAccountType
  • GET /api/v1/transfer/list Add response field fromAccountType, toAccountType
  • POST /api/v1/transfer/apply Add request field fromAccountType, toAccountType
  • POST /api/v1/transfer/internalExchange/apply Deprecated
  • POST /api/v1/userWithdrawRecord/apply Add request field fromAccountType
  • GET /api/v1/userWithdrawRecord/list Add response field fromAccountType

23 Dec 05th

  • New endpoints for Account was updated.
    • GET /api/v1/asset/getAccountCurrencyInfo

23 Oct 19th

  • New endpoints for PB Trading API were updated.
  • LTP API is upgraded.
    • LTP API V2 is the upgraded version of LTP API V1 by allowing access of trading endpoints. LTP API V2 is both applicable to PB Trading and DMA features, while LTP API V1 is only applicable to DMA features.
    • Attention: If your LTP API was opened after 2023-Oct-19th, you will be using the authentication of LTP API V2 only. For users who created their LTP API before 2023-Oct-19th, you can still utilize LTP API V1 for DMA features. If you wish to begin using PB trading, you must first inform your account manager to obtain permission. Afterward, you will need to use the example code of LTP API V2 for authentication.

23 Oct 12th

Update endpoints:

  • GET /api/v1/userWithdrawAddress/list :
  • memo
  • POST /api/v1/userWithdrawRecord/apply :Add request field memo
  • GET /api/v1/userWithdrawRecord/list : Add response field memo

23 Oct 10th

New endpoints for Clearloop was updated including Lock, Unlock and HistoryPage.

  • POST /api/v1/cltradingaccount/lock: lock your asset from Clearloop trading account to target exchange sub account.
  • POST /api/v1/cltradingaccount/unlock: Unlock your assets from exchange to Clearloop trading account.
  • GET /api/v1/cltradingaccount/list: Query lock and unlock history

Update endpoint: GET /api/v1/tradeAccount/list

  • Add response field :label
  • Change response field exchange->venues

23 Jul 18th

The API documentation for LTP was migrated from GitBook to Readme.