| # | Channel | Parameter | Change |
|---|---|---|---|
| 1 | Order | tradeType | Added new value “UNIFIED”in subscribe field “tradeType”,supporting simultaneous push for UTA Spot and Margin, and separate push for UTA Futures. |
| 2 | Leverage | c, tT, mM | Added new feild “c” currency, “tT” tradeType, “mM” marginMode in response. |
| # | Channel | Parameter | Change |
|---|---|---|---|
| 1 | Ticker | symbols | Added new field in subscribe: “symbols”. |
| # | Channel | Parameter | Change |
|---|---|---|---|
| 1 | Order | eT | Added match as a new enum value for the Event Type response field eT. In addition, the order entry time is generated by the Risk Engine in Classic mode and by the Match Engine in UTA mode(Currently only available for Spot). |
| 2 | Balance | accountType | Changed the accountType enum value in the subscription message from TRADING to SPOT. Although TRADING is still accepted at present, it is recommended to use SPOT going forward. |
| # | Channel | Change |
|---|---|---|
| 1 | Orderbook | Switched BBO pushes to the high-speed channel to further reduce latency. |
| 2 | Trade | Switched pushes to the high-speed channel to further reduce latency. |
Note: To understand the background and migration plan for this change, please read KuCoin’s previously published announcement “KuCoin Margin API Upgrade Announcement”:
https://www.kucoin.com/announcement/kucoin-margin-notice-250702
margin, isolated).margin_v2, isolated_v2 have the same meaning as non-V2 parameters, but will be gradually replaced by non-V2 parameters.| # | Endpoint | Parameter Mapping & Notes (All refer to SPOT Margin HF accounts) | Change |
|---|---|---|---|
| 1 | Classic REST - Get Transfer Quotas | Preferred: MARGIN, ISOLATEDV2: MARGIN_V2, ISOLATED_V2 (same meaning; phased out gradually) | Queries for SPOT Margin LF accounts are no longer supported. |
| 2 | Classic REST - Flex Transfer | Preferred: MARGIN, ISOLATEDV2: MARGIN_V2, ISOLATED_V2 (same meaning; phased out gradually)Rule: When type is INTERNAL, non-V2 and V2 are equivalent. When type is not INTERNAL, MARGIN_V2 and ISOLATED_V2 are not supported—use MARGIN and ISOLATED. | Transfers between SPOT Margin LF and HF accounts are no longer supported. |
| 3 | Classic REST - Get Account - Cross Margin | Preferred: MARGINV2: MARGIN_V2 (same meaning; phased out gradually) | Parameter semantics unified: MARGIN represents HF Cross Margin; MARGIN_V2 will be phased out. |
| 4 | Classic REST - Get Account - Isolated Margin | Preferred: ISOLATEDV2: ISOLATED_V2 (same meaning; phased out gradually) | Parameter semantics unified: ISOLATED represents HF Isolated Margin; ISOLATED_V2 will be phased out. |
| 5 | Classic REST - Get Account Ledgers - Margin_hf | Response field: accountTypeCurrent: MARGIN_V2, ISOLATED_V2Next: MARGIN, ISOLATED (will gradually replace the V2 values) | Response field update: accountType currently returns V2 enum values and will gradually migrate to non-V2 enum values. |
| 6 | Abandoned Endpoints - Inner Transfer | Preferred: margin, isolatedV2: margin_v2, isolated_v2 (same meaning; phased out gradually) | Transfers between SPOT Margin LF and HF accounts are no longer supported. |
| 7 | Abandoned Endpoints - Add Order - V1 | N/A (Margin LF order placement endpoint; no HF parameter mapping) | SPOT Margin LF endpoint is no longer available. |
| 8 | Abandoned Endpoints - Add Order Test - V1 | N/A (Margin LF test order endpoint; no HF parameter mapping) | SPOT Margin LF endpoint is no longer available. |
| 9 | Abandoned Endpoints - Get Account List - Isolated Margin - V1 | N/A (Margin LF isolated account list endpoint; no HF parameter mapping) | SPOT Margin LF endpoint is no longer available. |
| 10 | Abandoned Endpoints - Get Account Detail - Isolated Margin - V1 | N/A (Margin LF isolated account detail endpoint; no HF parameter mapping) | SPOT Margin LF endpoint is no longer available. |
MARGIN, ISOLATED.*_V2 parameters for now, but plan to remove dependencies as they will be gradually replaced by non-V2 parameters.MARGIN, ISOLATED for non-INTERNAL transfers; V2 is only equivalent when type=INTERNAL.margin, isolated, margin_v2, isolated_v2.| Category | Pro API Rate Limit | Scope / Notes |
|---|---|---|
| Maximum Concurrent Connections | ≤ 512 concurrent connections (Public/Private counted separately, 1024 total) | Private (authenticated) endpoints are counted by UID; Public (unauthenticated) endpoints are counted by IP. Master and sub-accounts are independent (different UIDs). |
| Connection Establishment Rate | 30 new connections per minute | Counted per single connection (not aggregated by UID or IP). |
| Client-to-Server Messages (Client → Server) | 100 messages per 10 seconds | Counted per single connection. |
| Subscribe / Unsubscribe Requests | No limit (Max topics per request) | N/A |
| Maximum Subscribed Topics per Connection | ≤ 200 topics | Applies to all product lines. |
| # | Pro API | Endpoint | Change Dimension | Change Details |
|---|---|---|---|---|
| 1 | REST | OrderBook | Spot / Futures | Spot: sequence changed from String → Number; Futures: price / size changed from Number → String (incl. RPI). |
| 2 | REST | Get Trades | Spot / Futures | Spot: sequence changed from String → Number; Futures: size changed from Number → String; Futures: removed response fields makerOrderId, takerOrderId, contractId; Futures: response JSON structure adjusted to match Spot. |
| 3 | WS | Trade | Spot | Spot: E changed from String → Number. |
| 4 | REST | Get Klines | Spot / Futures | Spot: array order adjusted to Open → High → Low → Close; Futures: Start time granularity changed to seconds, and type changed from String → Number. |
| 5 | WS | Kline | Futures | Futures: added field S (start) to indicate whether it is the latest Kline. |
| 6 | WS | Balance | UTA | UTA: added fields l (lowercase L) and U. |
| 7 | WS | Execution | Futures / Enum | Futures: E changed from String → Number; Enum: S values unified to uppercase BUY / SELL; oT values unified to uppercase MARKET / LIMIT. |
| 8 | WS | Order | UTA | UTA: os changed from String → Number. |
| 9 | REST | Get Order Details Get Open List Get Order History | UTA / Futures | UTA: status changed from String → Number; Futures: fixed issue where avgPrice could be negative in some scenarios. |
| 10.1 | REST | Get Account (Classic) Get Sub Account Get Transfer Quotas Flex Transfer Get Account Ledger | Parameter | AccountType enum: TRADING changed to SPOT (updated in both request and response). |
| 10.2 | WS | Balance | Parameter | AccountType enum: TRADING changed to SPOT (updated in both request and response). |
| 11 | REST | Get Account Ledger | Futures / Enum | Futures: id changed from Number → String; Futures: balance / amount changed from Number → String; Enum: direction values unified to uppercase IN / OUT. |
| 12.1 | REST | Add Deposit Address | URL | URL unified to: POST /api/ua/v1/asset/deposit/address. |
| 12.2 | REST | Get Deposit Address | URL | URL unified to: GET /api/ua/v1/asset/deposit/address. |
| 12.3 | REST | Batch Place Order (Classic) | URL | URL changed to: POST /api/ua/v1/{accountMode}/order/place-batch. |
| # | Pro API | Endpoint | Change Dimension | Change Details |
|---|---|---|---|---|
| 1 | REST | Place Order | api-rate-limit-weight | Each request now consumes a rate limit weight of 1. |
| 2 | REST | Cancel Order | api-rate-limit-weight | Each request now consumes a rate limit weight of 1. |
| Category | Endpoint | URL | Changed Fields |
|---|---|---|---|
| Pro REST | Get Ticker | GET /api/ua/v1/market/ticker | ts (standardized to nanoseconds, ns) |
| Pro REST | Get Trade | GET /api/ua/v1/market/trade | ts (standardized to nanoseconds, ns) |
| Pro REST | Get Account Ledger | GET /api/ua/v1/account/ledger | ts (standardized to nanoseconds, ns) |
| Pro REST | Get Order Details | GET /api/ua/v1/{accountMode}/order/detail | orderTime / updatedTime (standardized to nanoseconds, ns) |
| Pro REST | Get Open Order List | GET /api/ua/v1/{accountMode}/order/open-list | orderTime / updatedTime (standardized to nanoseconds, ns) |
| Pro REST | Get Order History | GET /api/ua/v1/{accountMode}/order/history | orderTime / updatedTime (standardized to nanoseconds, ns) |
| Pro REST | Get Trade History | GET /api/ua/v1/{accountMode}/order/execution | executionTime (standardized to nanoseconds, ns) |
| Pro REST | Get Positions History | GET /api/ua/v1/position/history | closingTime / creationTime (standardized to nanoseconds, ns) |
| Pro REST | Get Position List | GET /api/ua/v1/{accountMode}/position/open-list | closingTime / creationTime (standardized to nanoseconds, ns) |
| Pro WebSocket | Depth (snapshot / increment) | WS | M (standardized to nanoseconds, ns) |
| Pro WebSocket | Ticker | WS | M (standardized to nanoseconds, ns) |
| Pro WebSocket | Trade | WS | M (standardized to nanoseconds, ns) |
| Pro WebSocket | Kline (SPOT / FUTURES) | WS | O (startAt) / C (endAt) (standardized to seconds, 10 digits) |
| Pro REST | Get Symbol (Instrument) | GET /api/ua/v1/market/instrument | unitSize (inverse: -1 → 1; 1 contract = 1 USD) |
| Pro REST | Get Symbol (Instrument) | GET /api/ua/v1/market/instrument | name / displayBaseCurrency (added for Futures; multilingual compatibility) |
| Pro API | Change Description |
|---|---|
| Pro API WebSocket Ticker | Changed all price-related response fields (b, a, l) from Number to String. Updated the description of the M field. |
| Pro API WebSocket Orderbook | 1. Added support for Depth 1 order book data. 2. Aligned snapshot push format with incremental updates: • Removed E; • Added C and O; • For snapshots, O = C. 3. Updated Futures order book structure from one-dimensional to two-dimensional arrays, unified with Spot. 4. Changed quantity field type from Number to String. |
| Pro API WebSocket Kline | 1. Changed Start time and End time from String to Number, standardized to seconds. 2. Changed price and quantity (contracts) from Number to String. |
| Pro API RESTful Get Orderbook | Changed the Futures sequence field type from String to Long. |
| Pro API WebSocket | Account & Trade Type Support |
|---|---|
| Order | Classic accounts: Supports all trade types. UTA accounts: Supports Spot and Futures trade types. Margin (Isolated & Cross) is expected to be supported in Q1–Q2 next year. |
| Position | Classic accounts: Supports Futures trade type. UTA accounts: Supports Futures trade types. Margin (Isolated & Cross) is expected to be supported in Q1–Q2 next year. |
| Balance | Classic accounts: Supports all trade types. UTA accounts: Supports Spot and Futures trade types. Margin (Isolated & Cross) is expected to be supported in Q1–Q2 next year. |
| Execution | Classic accounts: Supports all trade types. UTA accounts: Currently not supported. |
| Endpoint | Request Param Change |
|---|---|
| Add Order | Added the positionSide parameter to enable Hedge Mode configuration. |
| Add Order Test | Added the positionSide parameter to enable Hedge Mode configuration. |
| Add Take Profit And Stop Loss Order | Added the positionSide parameter to enable Hedge Mode configuration. |
| Get Max Withdraw Margin | Added the positionSide parameter to enable Hedge Mode configuration. |
| Add Isolated Margin | Added the positionSide parameter to enable Hedge Mode configuration. |
| Remove Isolated Margin | Added the positionSide parameter to enable Hedge Mode configuration. |
| Modify Isolated Margin Auto-Deposit Status | Added the positionSide parameter to enable Hedge Mode configuration. |
| Endpoint | Description |
|---|---|
| Switch Margin Mode | Modify the margin mode of the current symbol. |
| Modify Cross Margin Leverage | Modify the current symbol’s cross-margin leverage multiple. |
| Get Cross Margin Requirement | Querying the cross margin requirements of a symbol by position value. |
| Endpoint | Request Param Change |
|---|---|
| Add Order | Max leverage is set to 20, and marginMode supports Cross. |
| Add Order Test | Max leverage is set to 20, and marginMode supports Cross. |
| Add Take Profit And Stop Loss Order | Max leverage is set to 20, and marginMode supports Cross. |
| Endpoint | API Permission Changed |
|---|---|
| Get Recent Trade History | From Futures To General |
| Get Margin Mode | From Futures To General |
| Get Max Open Size | From Futures To General |
| Get Position Details | From Futures To General |
| Get Position List | From Futures To General |
| Get Positions History | From Futures To General |
| Get Max Withdraw Margin | From Futures To General |
| Get Cross Margin Leverage | From Futures To General |
| Get Cross Margin Risk Limit | From Futures To General |
| Get Private Funding History | From Futures To General |