KUCOIN API - EU
SDK
Telegram
Kucoin
  1. Broker
  • 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
  1. Broker

Instructions

1. Add Third Party Info to Database#
After information collection, We will add and upload the third party info. to database and generate ‘partner’, ‘broker-key’ and ‘broker-name’ for the third party platform.
2. Access to OpenAPI#
We will provide ‘partner’, ‘broker-key’ and ‘broker-name’ for the third party platforms. Please add the following headers in the request:
KC-API-PARTNER: Partner
KC-API-PARTNER-SIGN: The base 64-encoded signature (see Signing a Message)
KC-BROKER-NAME: Broker-name
KC-API-PARTNER-VERIFY: True
It is not mandatory to add this request header, but it is strongly recommended to add it.
When the KC-API-PARTNER-VERIFY request header is not added, the KC-API-PARTNER-SIGN request header fails to be signed, but the KC-API-SIGN signature is successful and the order can be placed successfully without carry broker info.
After adding this request header, as long as the KC-API-PARTNER-SIGN request header fails to be signed, an error {"code":"400201","msg":"Invalid KC-API-PARTNER-SIGN"} will be reported.
Precautions
Please make sure to add these request headers to all your REST requests, otherwise it will affect your rebate
3. Signing a Message#
For the header of KC-API-PARTNER-SIGN:
Use broker-key to encrypt the prehash string timestamp + partner + apiKey with sha256 HMAC.
After that, use base 64-encode to encrypt the result in step 1 again.
The timestamp value is the same as the KC-API-TIMESTAMP header.
The partner value is the same as the KC-API-PARTNER header.
The apiKey value is the same as KC-API-KEY
4. For Example#
(1) User Info
String apikey = "6422da9c97b45100018c6e62";
String apiSecretKey = "cde06451-dbed";
String passphrase = "1111111";
(2) Broker Info
broker-name: goodbrokerND
partner: goodbroker
broker-key: e8512b82-a4aa
(3) Order Info
REQ TIMESTAMP: 1680885532722
REQ URL: https://api.kucoin.xxx/api/v1/orders
REQ BODY:{"symbol":"BTC-USDT","side":"buy","size":"0.0001","price":"30000","type":"limit","clientOid":"2b802154-8d31-42e6-88ea-c8c18d3e4822","tradeType":"TRADE"}
(4) The request header for user to place order normally without going through the broker
① preSignString:
1680885532722POST/api/v1/orders{"symbol":"BTC-USDT","side":"buy","size":"0.0001","price":"30000","type":"limit","clientOid":"2b802154- 8d31-42e6-88ea-c8c18d3e4822","tradeType":"TRADE"}
② KC-API-SIGN:
ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=
③ Header:
{
   KC-API-TIMESTAMP=1680885532722,
   KC-API-KEY=6422da9c97b45100018c6e62,
   KC-API-SIGN=ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=,
   KC-API-PASSPHRASE=rl1Ki0WuwidRT48JnoGQo+AJ4UtZ6mQEKt6F5XYVnT4=,
   KC-API-KEY-VERSION=2,
   Content-Type=application/json,
   accept=*/*
}
(5) The request header for user to place order through the broker#
① code
header.put("KC-BROKER-NAME", "goodbrokerND");
header.put("KC-API-PARTNER", "goodbroker");
String partnerSign = Base64.encodeBase64String( SHA256Util.hmac_sha256("e8512b82-a4aa", timestamp+"goodbroker"+apiKey));
header.put("KC-API-PARTNER-SIGN", partnerSign);
header.put("KC-API-PARTNER-VERIFY", "true");
② preSignString:
1680885532722POST/api/v1/orders{"symbol":"BTC-USDT","side":"buy","size":"0.0001","price":"30000","type":"limit","clientOid":"2b802154-8d31-42e6-88ea-c8c18d3e4822","tradeType":"TRADE"}
③ KC-API-SIGN:
ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=
④ prePartnerSignString:
1680885532722goodbroker6422da9c97b45100018c6e62
⑤ KC-API-PARTNER-SIGN:
CN1imIGUz/USkPuhOtGWi5DlZ08VeuVfknJNOPqUEac=
⑥ Header:
{
   KC-API-TIMESTAMP=1680885532722,
   KC-API-KEY=6422da9c97b45100018c6e62,
   KC-API-PASSPHRASE=rl1Ki0WuwidRT48JnoGQo+AJ4UtZ6mQEKt6F5XYVnT4=,
   KC-API-SIGN=ncPuAcZW8WYUZyvblRVVgMfYoVH+FlCTO6K45/FMLFQ=,
   KC-API-PARTNER=goodbroker,
   KC-API-PARTNER-SIGN=CN1imIGUz/USkPuhOtGWi5DlZ08VeuVfknJNOPqUEac=,
   KC-BROKER-NAME=goodbrokerND,
   KC-API-PARTNER-VERIFY=true,
   KC-API-KEY-VERSION=2,
   Content-Type=application/json,
   accept=*/*
}
(6) Check whether the configuration is successful#
For Spot, by querying the order interface GET /api/v1/orders/{orderId}, if the returned tags are not empty, the config is successful
Modified at 2026-01-29 07:06:43
Previous
Broker Application
Next
Introduction