KUCOIN API - EU
SDK
Telegram
Kucoin
    • Introduction
    • Authentication
    • Enums Definitions
    • Terms Definitions
    • SDK
    • Rate Limit
    • Classic REST
      • Account Info
        • Account & Funding
          • Get Account Summary Info
          • Get KYC Regions
          • 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 Ledgers - Spot/Margin
          • Get Account Ledgers - Trade_hf
          • Get Account Ledgers - Margin_hf
        • Sub Account
          • Add sub-account
          • Add sub-account Margin Permission
          • Get sub-account List - Summary Info
          • Get sub-account Detail - Balance
          • Get sub-account List - Spot Balance (V2)
        • Sub Account API
          • Get sub-account API List
          • Add sub-account API
          • Modify sub-account API
          • Delete sub-account API
        • Deposit
          • Add Deposit Address (V3)
          • Get Deposit Address (V3)
          • Get Deposit History
        • Withdrawals
          • Get Withdrawal Quotas
          • 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
      • 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
          • Add Order Sync
          • Add Order Test
          • Batch Add Orders
          • Batch Add Orders Sync
          • Cancel Order By OrderId
          • Cancel Order By OrderId Sync
          • Cancel Order By ClientOid
          • Cancel Order By ClientOid Sync
          • Cancel Partial Order
          • Cancel All Orders By Symbol
          • Cancel All Orders
          • Modify Order
          • Get Order By OrderId
          • Get Order By ClientOid
          • Get Symbols With Open Order
          • Get Open Orders
          • Get Open Orders By Page
          • Get Closed Orders
          • Get Trade History
          • Get DCP
          • Set DCP
          • Add Stop Order
          • Cancel Stop Order By ClientOid
          • Cancel Stop Order By OrderId
          • 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
      • Margin Trading
        • Market Data
          • Get Symbols - Cross Margin
          • Get Symbols - Isolated Margin
          • Get Mark Price Detail
          • Get Margin Config
          • Get Mark Price List
          • Get Margin Collateral Ratio
          • Get Market Available Inventory
        • 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
        • Risk Limit
          • Get Margin Risk Limit
      • Earn
        • Simple Earn
          • Purchase
          • Get Redeem Preview
          • Redeem
          • Get Savings Products
          • Get Promotion Products
          • Get Account Holding
      • Broker
        • Introduction
        • Broker Application
        • Instructions
        • Broker Pro
          • Introduction
          • Broker Fast API Service
          • Get Broker Rebate
          • Get Commission
          • Get User List
          • Get User Transactions
    • Classic Websocket
      • Base Info
        • Introduction
        • Get Public Token - Classic Spot/Margin
        • Get Private Token - Classic Spot/Margin
      • Spot Trading
        • Public Channels
          • Ticker
          • All Tickers
          • Orderbook - Level 1
          • Orderbook - Level 5
          • Orderbook - Level 50
          • Orderbook - Increment
          • Call Auction Orderbook - Level 50
          • 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
    • Error Code
      • HTTP
      • Spot
      • Margin
      • Earn
      • Websocket
    • 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
        • Get Deposit History - Old
        • Get Withdrawal History - Old
        • 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
    • Developing
      • Introduction

    Terms Definitions

    Order Lifecycle#

    Valid orders sent to the matching engine are confirmed immediately and are in the received state.
    If an order executes against another order immediately, the order is considered done.
    An order can execute in part or whole. Any part of the order not filled immediately will be considered open.
    Orders will stay in the open state until canceled or subsequently filled by new orders.
    Orders that are no longer eligible for matching (filled or canceled) are in the done state.

    Handling Fees#

    Orders on the platform are divided into two types: Taker and Maker.
    Taker orders can be filled with existing orders in the order book. Conversely, Maker orders will stay in the order book and await matching.
    Taker orders decrease market liquidity and therefore charge a taker fee.
    Maker orders increase market liquidity and therefore only charge a lower handling fee or may even pay out rewards.
    Please note: Market orders, iceberg orders, and hidden orders all charge taker fees.
    Order Processing & Fee Deduction
    1.
    Funds Hold:
    When an order is placed, the system puts a hold on a portion of the funds in your account to pay the taker fee.
    Parameter values in the liquidity field determine whether taker fees or maker fees will be charged for the order.
    2.
    Limit Order Handling:
    If your order is a market order, when the order is placed it will immediately be matched in the matching engine and we will charge a taker fee.
    If your order is not immediately matched or is only partially matched, the remaining portions will enter the order book.
    Maker fees will be charged for orders that have entered the order book before they are canceled or filled.
    3.
    Matching Stage:
    After entering the matching stage, matching will be conducted with counterparty orders.
    When the remaining amount for the order is 0, the transaction is complete.
    If the remaining funds are not enough to purchase the minimum amount (0.00000001), the order is canceled.
    4.
    Fee Refund:
    If your order is filled as a maker, we will refund the remaining amount of withheld taker fees.
    Please note:
    Hidden/Iceberg Orders:
    When you create a hidden/iceberg order, even if it is not immediately matched by the matching engine and is filled as post only, a taker fee will still be charged.
    Post-Only Orders:
    Maker fees will be charged for post only orders.
    If the order is immediately matched with existing orders (with the exception of iceberg/hidden orders) on the market after order placement, then the order will be canceled.
    If a post only order is immediately filled with iceberg/hidden orders, a maker fee will be charged for the post only order.
    For example:
    Using BTC/USDT as an example, if you want 1BTC at market price, the handling fee will be 0.1%, with the market order book data as follows:
    Price(USDT)Size(BTC)Side
    4200.000.18412309sell
    4015.600.56849308sell
    4011.320.24738383sell
    3995.640.84738383buy
    3988.600.20484000buy
    3983.851.37584908buy
    When you place a buy market order, it will be filled immediately, and the transaction detailed will show 3 transactions, as shown below:
    Price(USDT)Size(BTC)Fee(BTC)
    4011.320.247383830.00024738
    4015.600.568493080.00056849
    4200.000.183124090.00018312

    Zero Freeze Cancel Order#

    A special type of order cancellation; the specific reasons are as follows, for example:
    If the current long position is 10, the account has no additional funds and no short pending orders.
    1.
    Add 5 short orders, and no additional freezing of margin will be made.
    2.
    Add 10 short orders (close the position), and the margin will not be frozen.
    3.
    Add 11 short orders (close the position and open the position in the opposite direction), and the system will detect that order.
    If the current long position is 10, there are no additional funds in the account, and there is a short pending order, then this short order will also be considered as "closing" (that is, it occupies the amount frozen by 0), if all positions are to be closed at this time. If the system finds that part of the liquidation is "non-zero frozen", it will cancel the order. That is to say, the root cause comes from the previous pending order.
    The solution to this problem is to check the position before placing an order. The details are as follows:
    1.
    If the position is closed and there is no reverse pending order. Disregard; in general, you should not encounter any problems.
    2.
    If it is a reversal to open a position: It is necessary to ensure that the account has sufficient margin to place an order.
    3.
    If it is to close the position, there is a reverse pending order. It is necessary to ensure that the number of reverse pending orders < = available funds - the number of liquidated positions.
    4.
    If the account has enough money (regardless of fund utilization): Set forceHold to true when placing an order, and the problem will not be encountered.
    https://www.kucoin.com/en-eu/support/4415374025497

    Pagination#

    Pagination allows for fetching results with the current page and is well suited for real time data. Endpoints like /api/v1/deposit-list, /api/v1/orders, /api/v1/fills, return the latest items by default. To retrieve more results, users should specify the currentPage number in the subsequent requests to turn the page based on the data previously returned.
    Example:
    GET /api/v1/orders?currentPage=1&pageSize=50
    {
      "currentPage": 1,
      "pageSize": 50,
      "totalNum": 6,
      "totalPage": 1,
      "data": ...
    }
    ParameterDefaultDescription
    currentPage1Current request page.
    pageSize50Number of results per request. Minimum is 10, maximum is 500.
    Modified at 2026-01-28 13:02:06
    Previous
    Enums Definitions
    Next
    SDK