KUCOIN API
HomeChange LogAPI DOC V1
Language
  • 繁體中文(即將上綫)
  • Русский (скоро)
HomeChange LogAPI DOC V1
Language
  • 繁體中文(即將上綫)
  • Русский (скоро)
SDK
Telegram
Kucoin
  1. REST
  2. Spot Trading
  3. Orders
  • Introduction
  • Introduction
  • Authentication
  • Enums Definitions
  • Terms Definitions
  • SDK
  • Rate Limit
  • Change Log
  • User Service
    • Market Making Incentive Scheme
    • VIP Fast Track
    • Broker Program
  • REST
    • Account Info
      • Account & Funding
        • Get Account Summary Info
        • Get Apikey Info
        • Get Account Type - Spot
        • Get Account List - Spot
        • Get Account Detail - Spot
        • Get Account - Cross Margin
        • Get Account - Isolated Margin
        • Get Account - Futures
        • Get Account Ledgers - Spot/Margin
        • Get Account Ledgers - Trade_hf
        • Get Account Ledgers - Margin_hf
        • Get Account Ledgers - Futures
      • Sub Account
        • Add sub-account
        • Add sub-account Margin Permission
        • Add sub-account Futures Permission
        • Get sub-account List - Summary Info
        • Get sub-account Detail - Balance
        • Get sub-account List - Spot Balance (V2)
        • Get sub-account List - Futures Balance (V2)
      • Sub Account API
        • Add sub-account API
        • Modify sub-account API
        • Get sub-account API List
        • Delete sub-account API
      • Deposit
        • Add Deposit Address (V3)
        • Get Deposit Address (V3)
        • Get Deposit History
      • Withdrawals
        • Get Withdrawal Quotas
        • Withdraw (V3)
        • Withdraw (V4)
        • Cancel Withdrawal
        • Get Withdrawal History
        • Get Withdrawal History By ID
      • Transfer
        • Get Transfer Quotas
        • Flex Transfer
      • Trade Fee
        • Get Basic Fee - Spot/Margin
        • Get Actual Fee - Spot/Margin
        • Get Actual Fee - Futures
    • Spot Trading
      • Market Data
        • Get Announcements
        • Get Currency
        • Get All Currencies
        • Get Symbol
        • Get All Symbols
        • Get Ticker
        • Get All Tickers
        • Get Trade History
        • Get Klines
        • Get Part OrderBook
        • Get Full OrderBook
        • Get Call Auction Part OrderBook
        • Get Call Auction Info
        • Get Fiat Price
        • Get 24hr Stats
        • Get Market List
        • Get Client IP Address
        • Get Server Time
        • Get Service Status
      • Orders
        • Add Order
          POST
        • Add Order
          POST
        • Add Order Sync
          POST
        • Add Order Sync
          POST
        • Add Order Test
          POST
        • Add Order Test
          POST
        • Batch Add Orders
          POST
        • Batch Add Orders
          POST
        • Batch Add Orders Sync
          POST
        • Batch Add Orders Sync
          POST
        • Cancel Order By OrderId
          DELETE
        • Cancel Order By OrderId Sync
          DELETE
        • Cancel Order By ClientOid
          DELETE
        • Cancel Order By ClientOid Sync
          DELETE
        • Cancel Partial Order
          DELETE
        • Cancel All Orders By Symbol
          DELETE
        • Cancel All Orders
          DELETE
        • Modify Order
          POST
        • Get Order By OrderId
          GET
        • Get Order By ClientOid
          GET
        • Get Symbols With Open Order
          GET
        • Get Open Orders
          GET
        • Get Open Orders By Page
          GET
        • Get Closed Orders
          GET
        • Get Trade History
          GET
        • Get DCP
          GET
        • Set DCP
          POST
        • Add Stop Order
          POST
        • Cancel Stop Order By ClientOid
          DELETE
        • Cancel Stop Order By OrderId
          DELETE
        • Batch Cancel Stop Orders
          DELETE
        • Get Stop Orders List
          GET
        • Get Stop Order By OrderId
          GET
        • Get Stop Order By ClientOid
          GET
        • Add OCO Order
          POST
        • Cancel OCO Order By OrderId
          DELETE
        • Cancel OCO Order By ClientOid
          DELETE
        • Batch Cancel OCO Order
          DELETE
        • Get OCO Order By OrderId
          GET
        • Get OCO Order By ClientOid
          GET
        • Get OCO Order Detail By OrderId
          GET
        • Get OCO Order List
          GET
    • Margin Trading
      • Market Data
        • Get Symbols - Cross Margin
        • Get ETF Info
        • Get Mark Price Detail
        • Get Margin Config
        • Get Mark Price List
        • Get Symbols - Isolated Margin
      • Orders
        • Add Order
        • Add Order Test
        • Cancel Order By OrderId
        • Cancel Order By ClientOid
        • Cancel All Orders By Symbol
        • Get Symbols With Open Order
        • Get Open Orders
        • Get Closed Orders
        • Get Trade History
        • Get Order By OrderId
        • Get Order By ClientOid
      • Debit
        • Borrow
        • Get Borrow History
        • Repay
        • Get Repay History
        • Get Interest History
        • Modify Leverage
      • Credit
        • Get Loan Market
        • Get Loan Market Interest Rate
        • Purchase
        • Modify Purchase
        • Get Purchase Orders
        • Redeem
        • Get Redeem Orders
      • Risk Limit
        • Get Margin Risk Limit
    • Futures Trading
      • Introduction
      • Market Data
        • Get Symbol
        • Get All Symbols
        • Get Ticker
        • Get All Tickers
        • Get Full OrderBook
        • Get Part OrderBook
        • Get Trade History
        • Get Klines
        • Get Mark Price
        • Get Spot Index Price
        • Get Interest Rate Index
        • Get Premium Index
        • Get 24hr stats
        • Get Server Time
        • Get Service Status
      • Orders
        • Add Order
        • Add Order Test
        • Batch Add Orders
        • Add Take Profit And Stop Loss Order
        • Cancel Order By OrderId
        • Cancel Order By ClientOid
        • Batch Cancel Orders
        • Cancel All Orders
        • Cancel All Stop orders
        • Get Order By OrderId
        • Get Order By ClientOid
        • Get Order List
        • Get Recent Closed Orders
        • Get Stop Order List
        • Get Open Order Value
        • Get Recent Trade History
        • Get Trade History
      • Positions
        • Get Margin Mode
        • Switch Margin Mode
        • Batch Switch Margin Mode
        • Get Max Open Size
        • Get Position Details
        • Get Position List
        • Get Positions History
        • Get Max Withdraw Margin
        • Get Cross Margin Leverage
        • Modify Cross Margin Leverage
        • Add Isolated Margin
        • Remove Isolated Margin
        • Get Cross Margin Risk Limit
        • Get Isolated Margin Risk Limit
        • Modify Isolated Margin Risk Limit
      • Funding Fees
        • Get Current Funding Rate
        • Get Public Funding History
        • Get Private Funding History
    • Copy Trading
      • Introduction
      • Add Order
      • Add Order Test
      • Add Take Profit And Stop Loss Order
      • Cancel Order By OrderId
      • Cancel Order By ClientOid
      • Get Max Open Size
      • Get Max Withdraw Margin
      • Add Isolated Margin
      • Remove Isolated Margin
      • Modify Isolated Margin Risk Limit
      • Modify Isolated Margin Auto-Deposit Status
    • Earn
      • Purchase
      • Get Redeem Preview
      • Redeem
      • Get Savings Products
      • Get Promotion Products
      • Get Staking Products
      • Get KCS Staking Products
      • Get ETH Staking Products
      • Get Account Holding
    • VIP Lending
      • Introduction
      • Get Discount Rate Configs
      • Get Loan Info
      • Get Accounts
    • Affiliate
      • Introduction
      • Get Account
    • Broker
      • Introduction
      • Instructions
      • Broker Application
      • API Broker
        • Introduction
        • Get Broker Rebate
      • Exchange Broker
        • Introduction
        • Submit KYC
        • Get KYC Status
        • Get KYC Status List
        • Get Broker Info
        • Add sub-account
        • Get sub-account
        • Add sub-account API
        • Get sub-account API
        • Modify sub-account API
        • Delete sub-account API
        • Transfer
        • Get Transfer History
        • Get Deposit List
        • Get Deposit Detail
        • Get Withdraw Detail
        • Get Broker Rebate
    • UTA
      • Account Info
      • Trading
  • Websocket API
    • Base Info
      • Introduction
      • Get Public Token - Spot/Margin
      • Get Private Token - Spot/Margin
      • Get Public Token - Futures
      • Get Private Token - Futures
    • Spot Trading
      • Public Channels
        • Ticker
        • All Tickers
        • Orderbook - Level1
        • Orderbook - Level5
        • Orderbook - Level50
        • Orderbook - Increment
        • Call Auction Orderbook - Level50
        • Call Auction Data
        • Klines
        • Trade
        • Symbol Snapshot
        • Market Snapshot
      • Private Channels
        • Order V2
        • Order V1
        • Balance
        • Stop Order
    • Margin Trading
      • Public Channels
        • Index Price
        • Mark Price
      • Private Channels
        • Cross Margin Position
        • Isolated Margin Position
    • Futures Trading
      • Public Channels
        • Ticker V2
        • Ticker V1
        • Orderbook - Level5
        • Orderbook - Level50
        • Orderbook- Increment
        • Klines
        • Trade
        • Instrument
        • Funding Fee Settlement
        • Symbol Snapshot
      • Private Channels
        • Orders
        • Balance
        • Positions
        • Margin Mode
        • Cross Margin Leverage
        • Stop Orders
    • Add/Cancel Order
      • Add Order
      • Cancel Order
  • Error Code
    • HTTP
    • Spot
    • Margin
    • Futures
    • Earn
    • Broker
    • CopyTrading
  • Abandoned Endpoints
    • Introduction
    • Account & Funding
      • Get sub-account List - Summary Info (V1)
      • Get sub-account List - Spot Balance (V1)
      • Get Deposit Addresses (V2)
      • Get Deposit Addresses - V1
      • Sub-account Transfer
      • Get Deposit History - Old
      • Internal Transfer
      • Get Futures Account Transfer Out Ledger
      • Get Withdrawal History - Old
      • Futures Account Transfer Out
      • Futures Account Transfer In
      • Add Deposit Address - V1
      • Withdraw - V1
    • Spot Trading
      • Orders
        • Add Order - Old
        • Add Order Test - Old
        • Batch Add Orders - Old
        • Cancel Order By OrderId - Old
        • Cancel Order By ClientOid - Old
        • Batch Cancel Order - Old
        • Get Orders List - Old
        • Get Recent Orders List - Old
        • Get Order By OrderId - Old
        • Get Order By ClientOid - Old
        • Get Trade History - Old
        • Get Recent Trade History - Old
    • Margin Trading
      • Get Account Detail - Margin
      • Add Order - V1
      • Add Order Test - V1
      • Get Account List - Isolated Margin - V1
      • Get Account Detail - Isolated Margin - V1
    • Futures Trading
      • Modify Isolated Margin Auto-Deposit Status
      • Cancel All Orders - V1
  • Developing
    • Introduction
    • Convert
      • Get Convert Symbol
      • Get Convert Currencies
      • Get Convert Quote
      • Add Convert Order
      • Get Convert Order Detail
      • Get Convert Order History
      • Get Convert Limit Quote
      • Add Convert Limit Order
      • Cancel Convert Limit Order
      • Get Convert Limit Order Detail
      • Get Convert Limit Orders
    • Margin Trading
      • Add Stop Order
      • Cancel Stop Order By OrderId
      • Cancel Stop Order By ClientOid
      • Batch Cancel Stop Orders
      • Get Stop Orders List
      • Get Stop Order By OrderId
      • Get Stop Order By ClientOid
      • Add OCO Order
      • Cancel OCO Order By OrderId
      • Cancel OCO Order By ClientOid
      • Batch Cancel OCO Order
      • Get OCO Order By OrderId
      • Get OCO Order By ClientOid
      • Get OCO Order Detail By OrderId
      • Get OCO Order List
    • Futures Trading
      • Get Cross Mode Margin Requirement
    • UTA
      • Market data
        • Get Announcements
        • Get Currency
        • Get Symbol
        • Get Ticker
        • Get Recent Trades
        • Get OrderBook
        • Get Klines
        • Get Futures Funding Rate
        • Get Funding Rate History
        • Get Cross Margin Config
        • Get Service Status
      • Account
        • Get Account
        • Get Sub Account
        • Get Actual Fee
        • Get Transfer Quotas
        • Get Account Ledger
      • TRADE
        • Set DCP
        • Get DCP
    • Flex Transfer
  1. REST
  2. Spot Trading
  3. Orders

Batch Add Orders Sync

POST
https://api.kucoin.com/api/v1/hf/orders/multi/sync
domain:Spot
api-channel:Private
api-permission:Spot
api-rate-limit-pool:Spot
sdk-service:Spot
sdk-sub-service:Order
sdk-method-name:batchAddOrdersSync
api-rate-limit-weight:1
Description
This endpoint supports sequential batch order placement from a single endpoint. A maximum of 20 orders can be placed simultaneously.
The difference between this interface and "Batch Add Orders" is that this interface will synchronously return the order information after the order matching is completed.
For higher latency requirements, please select the "Batch Add Orders" interface. If there is a requirement for returning data integrity, please select this interface.
Tips
This endpoint only supports order placement requests. To obtain the results of the order placement, you will need to check the order status or subscribe to Websocket to obtain information about the order.
Tips
Please note that once your order enters the order book, the system will freeze the handling fees for the order ahead of time.
Before placing orders, please be sure to fully understand the meaning of the parameters for each trading pair.
Tips
The maximum number of active orders per account is 2000, with a maximum of 200 active orders per trading pair.
Public order placement request parameters
ParamTypeMandatoryDescription
clientOidStringNoClient Order ID, unique identifier created by the user, the use of UUID is recommended
symbolStringYessymbol
typeStringYesOrder type ‘limit’ and ‘market’
sideStringYes‘buy’ or ‘sell’
stpStringNoself trade prevention is divided into four strategies: ‘CN’, ‘CO’, ‘CB’, and ‘DC’
tagsStringNoOrder tag, length cannot exceed ‘20’ characters (ASCII)
remarkStringNoOrder placement remarks, length cannot exceed ‘20’ characters (ASCII)
Additional Request Parameters Required by ‘limit’ Orders
ParamTypeMandatoryDescription
priceStringYesSpecify price for currency
sizeStringYesSpecify quantity for currency
timeInForceStringNoOrder timing strategy ‘GTC’, ‘GTT’, ‘IOC’, ‘FOK’ (the default is ‘GTC’)
cancelAfterlongNoCancel after ‘n’ seconds, the order timing strategy is ‘GTT’
postOnlybooleanNopassive order labels, this is disabled when the order timing strategy is ‘IOC’ or ‘FOK’
hiddenbooleanNoHidden or not (not shown in order book)
icebergbooleanNoWhether or not only visible portions of orders are shown in iceberg orders
visibleSizeStringNoMaximum visible quantity in iceberg orders
Additional request parameters required by ‘market’ orders
ParamTypeMandatoryDescription
sizeStringNo(Select one out of two: ‘size’ or ‘funds’)
fundsStringNo(Select one out of two: ‘size’ or ‘funds’)
Hold
For limit price purchase orders, we will hold the amount of funds (price * size) required for your purchase order. Similarly, for limit price sell orders, we will also hold you sell order assets. When the transaction is executed, the service fees will be calculated. If you cancel a portion of a filled or unfilled order, then the remaining funds or amounts will be released and returned to your account. For market price buy/sell orders that require specific funds, we will hold the required funds in from your account. If only the size is specified, we may freeze (usually for a very short amount of time) all of the funds in your account prior to the order being filled or canceled.
Order Lifecycle
When an order placement request is successful (the matching engine receives the order) or denied (due to there being insufficient funds or illegal parameter values, etc.), the system will respond to the HTTP request. When an order is successfully placed, the order ID is returned. The order will be matched, which could result in it being fully or partially filled. When an order is fully or partially filled, the remaining portions of the order will be in an active state awaiting to be matched (this does not include IOC orders). Orders that are fully or partially filled (already canceled) will be put into the “done” state.
Users that have subscribed to the Market Data Channel can use the order ID (orderId) and client ID (clientOid) to identify messages.
Price Protection Mechanisms
Price protection mechanisms ae enabled for order placements. Rules are detailed below:
If the spot trading market order/limit order placed by the user can be directly matched with an order in the current order book, the system will judge whether deviation between the price corresponding to the transaction depth and the spread exceeds the threshold value (the threshold value can be obtained using the symbol API endpoint);
If it is exceeded, for limit orders, the order will be directly canceled;
If it is a market order, then the system will partially execute the order. The execution limit will be the order size within the price range corresponding to the threshold value. The remaining orders will not be filled.
For example: If the threshold value is 10%, when a user places a market price purchase order in the KCS/USDT trading market for 10,000 USDT (the selling price is currently 1.20000), the system will determine that after the order is completely filled, the final price will be 1.40000. (1.40000-1.20000)/1.20000=16.7%>10%. The threshold value is 1.32000. The user’s market price purchase order will be filled only to a maximum of 1.32000. The remaining order portions will not be matched with orders in the order book. Note: This feature may not be able to determine depth with complete accuracy. If your order is not completely filled, it may be because the portion exceeding the threshold value was not filled.

Request

Body Params application/json
orderList
array [object {18}] 
required
Order List
symbol
string 
required
symbol
Examples:
BTC-USDTETH-USDTKCS-USDT
type
enum<string> 
required
Specify if the order is a 'limit' order or 'market' order.
Allowed value:
limit
side
enum<string> 
required
Specify if the order is to 'buy' or 'sell'.
Allowed values:
buysell
price
string 
required
Specify price for order
clientOid
string 
optional
Client Order ID: The ClientOid field is a unique ID created by the user (we recommend using a UUID), and can only contain numbers, letters, underscores (_), and hyphens (-). This field is returned when order information is obtained. You can use clientOid to tag your orders. ClientOid is different from the order ID created by the service provider. Please do not initiate requests using the same clientOid. The maximum length for the ClientOid is 40 characters.
stp
enum<string> 
optional
Self Trade Prevention is divided into four strategies: CN, CO, CB , and DC
Allowed values:
DCCOCNCB
timeInForce
enum<string> 
optional
Time in force is a special strategy used during trading
Allowed values:
GTCGTTIOCFOK
Default:
GTC
cancelAfter
integer <int64>
optional
Cancel after n seconds, the order timing strategy is GTT, -1 means it will not be cancelled automatically, the default value is -1
> 0< 2592000
Default:
-1
postOnly
boolean 
optional
passive order labels, this is disabled when the order timing strategy is IOC or FOK
Default:
false
hidden
boolean 
optional
Hidden order or not (not shown in order book)
Default:
false
iceberg
boolean 
optional
Whether or not only visible portions of orders are shown in Iceberg orders
Default:
false
visibleSize
string 
optional
Maximum visible quantity in iceberg orders
tags
string 
optional
Order tag, length cannot exceed 20 characters (ASCII)
remark
string 
optional
Order placement remarks, length cannot exceed 20 characters (ASCII)
size
string 
optional
Specify quantity for order.
When type is limited, select one out of two: size or funds. Size refers to the amount of trading targets (the asset name written in front) for the trading pair. The Size must be based on the baseIncrement of the trading pair. The baseIncrement represents the precision for the trading pair. The size of an order must be a positive-integer multiple of baseIncrement and must be between baseMinSize and baseMaxSize.
When type is market, select one out of two: size or funds
funds
string 
optional
When type is market, select one out of two: size or funds
allowMaxTimeWindow
integer <int64>
optional
Order failed after timeout of specified milliseconds, If clientTimestamp + allowMaxTimeWindow < Gateway received the message time, this order will fail.
Examples:
102030
clientTimestamp
integer <int64>
optional
Equal to KC-API-TIMESTAMP. Needs to be defined if allowMaxTimeWindow is specified.
Example:
1740711735178
Example
{
  "orderList": [
    {
      "clientOid": "client order id 13",
      "symbol": "BTC-USDT",
      "type": "limit",
      "side": "buy",
      "price": "30000",
      "size": "0.00001"
    },
    {
      "clientOid": "client order id 14",
      "symbol": "ETH-USDT",
      "type": "limit",
      "side": "sell",
      "price": "2000",
      "size": "0.00001"
    }
  ]
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.kucoin.com/api/v1/hf/orders/multi/sync' \
--header 'Content-Type: application/json' \
--data-raw '{
    "orderList": [
        {
            "clientOid": "client order id 13",
            "symbol": "BTC-USDT",
            "type": "limit",
            "side": "buy",
            "price": "30000",
            "size": "0.00001"
        },
        {
            "clientOid": "client order id 14",
            "symbol": "ETH-USDT",
            "type": "limit",
            "side": "sell",
            "price": "2000",
            "size": "0.00001"
        }
    ]
}'

Responses

🟢200OK
application/json
Body
code
string 
required
data
array [object {11}] 
required
success
boolean 
required
Add order success/failure
failMsg
string 
optional
Error message
orderId
string 
optional
The unique order ID generated by the trading system, which can be used later for further actions such as canceling the order.
clientOid
string 
optional
The user self-defined order ID.
originSize
string 
optional
Original order size
dealSize
string 
optional
Deal size
remainSize
string 
optional
Remain size
canceledSize
string 
optional
Cumulative canceled size
status
enum<string> 
optional
Order Status. open: order is active; done: order has been completed
Allowed values:
opendone
orderTime
integer <int64>
optional
matchTime
integer <int64>
optional
Example
{
  "code": "200000",
  "data": [
    {
      "orderId": "6711195e5584bc0007bd5aef",
      "clientOid": "client order id 13",
      "orderTime": 1729173854299,
      "originSize": "0.00001",
      "dealSize": "0",
      "remainSize": "0.00001",
      "canceledSize": "0",
      "status": "open",
      "matchTime": 1729173854326,
      "success": true
    },
    {
      "success": false,
      "failMsg": "The order funds should more then 0.1 USDT."
    }
  ]
}
Modified at 2025-06-26 08:59:20
Previous
Batch Add Orders
Next
Batch Add Orders Sync