Інтеграція API KuCoin у мобільні крипто-додатки
KuCoin виділяється серед бирж тим, що для WebSocket-підключення потрібно попередньо отримати токен через REST — без цього токена до WebSocket вообще не підключитися. Це архітектурне рішення дивує розробників, звичних до Binance або Bybit, де публічні стрімиа доступні напрямки.
Токен для WebSocket: обов'язковий перший крок
POST /api/v1/bullet-public — для публічних даних (без підпису).
POST /api/v1/bullet-private — для приватних даних (з підписом HMAC-SHA256).
Відповідь містить token, instanceServers (список WebSocket-серверів з їхніми endpoint та pingInterval) й час життя токена (tokenValidFor у мілісекундах, зазвичай 18000000 — 5 годин).
Підключення: wss://{endpoint}?token={token}&connectId={random_uuid}. connectId — будь-який унікальний ідентифікатор сесії для дебаггінгу на стороні KuCoin.
При обриві з'єднання запросіть новий токен (старий може вийти) і переподключіться. Якщо просто переподключатися з тим же токеном — іноді працює, іноді ні. Надійніше завжди запрошувати новий.
Підпис REST API
Формат стандартний: KC-API-SIGN: Base64(HMAC-SHA256(timestamp + method + endpoint + body)). Окремі заголовки KC-API-PARTNER та KC-API-PARTNER-SIGN потрібні лише для брокерських інтеграцій — звичайному мобільному додатку не потрібні.
KuCoin додає KC-API-KEY-VERSION: "2" — обов'язковий заголовок для ключів, створених після 2021 року. Без нього API повертає {"code":"400007","msg":"Invalid KC-API-KEY-VERSION"} навіть при правильній підписі.
Особливості торгівлі: Hummingbot-специфіка не потрібна
KuCoin активно використовують боти (у них навіть є офіційний Hummingbot-коннектор), тому rate limiting настроєний жорстко для IP без заголовка User-Agent від відомих ботів. Мобільному додатку достатньо стандартних лімітів: 1800 запитів на хвилину для публічного API, 200 — для приватного. Проблеми починаються лише при агресивному поллингу.
KuCoin Futures — окремий домен (api-futures.kucoin.com) з власною аутентифікацією та іншим набором endpoints. Якщо потрібна інтеграція й Spot, й Futures — це фактично два різних API-клієнти.
Стакан через WebSocket
KuCoin розділяє OrderBook на два стрімиа: /market/level2:{symbol} (інкрементальні оновлення з послідовними номерами) та /spotMarket/level2Depth5:{symbol} (топ-5 кращих цін, повний снапшот при кожному оновленні). Для стакана глибиною 20+ рівнів потрібен перший варіант.
Алгоритм відновлення стакана:
- Підписатись на
level2стрім - Запросити снапшот через REST
GET /api/v3/market/orderbook/level2?symbol=BTC-USDT— він повертаєsequence - Застосовувати лише дельти, чий
sequenceStart > snapshot.sequence - Якщо прийшла дельта з
sequenceStart > lastApplied + 1— є пропуск, потрібен новий снапшот
Це стандартна схема, але KuCoin додає sequenceStart та sequenceEnd у кожне сообщение дельти (а не одне число), що потрібно враховувати при валідації.
Терміни
Базова інтеграція KuCoin Spot — 2–3 тижні. Специфіка (токен для WebSocket, версіонування ключів, відновлення стакана) додає приблизно тиждень порівняно з Binance. Futures — окрема оцінка.







