Інтеграція API Kraken у мобільний криптододаток

Ми не раз бачили, як команди застрягають на етапі підпису запитів: HMAC-SHA512 з подвійним хешуванням відлякує навіть досвідчених розробників. Алгоритм Kraken один із найсуворіших серед публічних криптобірж. Але на практиці інтеграція на мобільних платформах займає пів дня, якщо знати нюанси. Наша к

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція API Kraken у мобільний криптододаток
Середній
~3-5 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Ми не раз бачили, як команди застрягають на етапі підпису запитів: HMAC-SHA512 з подвійним хешуванням відлякує навіть досвідчених розробників. Алгоритм Kraken один із найсуворіших серед публічних криптобірж. Але на практиці інтеграція на мобільних платформах займає пів дня, якщо знати нюанси. Наша команда з більш ніж 7-річним досвідом та 30+ виконаними інтеграціями біржевих API гарантує стабільну роботу без блокувань.

Проблеми, які ми вирішуємо

HMAC-SHA512 — основа підпису, але помилки виникають через невірне декодування приватного ключа. Private key — це Base64-бінарний секрет, а не ASCII-рядок. На iOS типова помилка: передати Data(privateKey.utf8) замість Data(base64Encoded: privateKey)!. На Android: забути декодувати Base64 перед використанням у Mac.getInstance("HmacSHA512"). Результат — підпис сформовано, але сервер повертає помилку аутентифікації.

Нестандартні імена активів: REST API використовує XBT замість BTC, XDG замість DOGE. Пари виглядають як XBTZUSD. WebSocket v2 нормалізовано (BTC/USD), але REST та історичні дані — ні. Без таблиці мапінгу користувач не впізнає свої активи. Ми реалізуємо аліасну карту з AssetPairs.

Rate limiting без підказок: Kraken не повертає заголовків із залишком ліміту. Перевищення — блокування IP на кілька хвилин. Ми впроваджуємо адаптивний інтервал: баланс раз на 10 секунд, ордери раз на 30, всі маркет-дані через WebSocket.

Як працює підпис запитів Kraken?

  1. Згенеруйте nonce — Unix timestamp у мілісекундах.
  2. Обчисліть SHA256 від nonce + postData (urlencoded рядок).
  3. Створіть HMAC-SHA512 від urlPath + отриманий хеш, використовуючи Base64-декодований приватний ключ.

Результат — API-Sign. Якщо nonce не першим у postData, Kraken поверне EAPI:Invalid nonce. Неправильний підпис може коштувати часу та грошей: один помилковий ордер — до $100 збитку. Наш підхід виключає такі помилки. Ми використовуємо CryptoKit на iOS (доступний з iOS 13) та javax.crypto.Mac на Android. Детальніше в документації Kraken API.

Чому імена активів Kraken відрізняються від стандартних?

Історично Kraken використовував ISO-коди з префіксами: X — базова, Z — котирувана валюта. XBT = Bitcoin, XDG = Dogecoin. Усередині пар префікси подвоюються: XXBTZUSD. WebSocket v2 перейшов на читабельний формат (BTC/USD), але REST залишився старим. Ми будуємо таблицю з AssetPairs і відображаємо зручні назви, а в запитах використовуємо оригінальні.

WebSocket API v2: оновлення

З переходом на v2 змінився формат повідомлень: замість {"event":"subscribe"}{"method":"subscribe","params":{...}}. Авторизація приватних каналів: отримуємо токен через REST /0/private/GetWebSocketToken, передаємо в params.token при підписці на executions (ордери) або balances. Токен живе 15 хвилин — необхідний механізм оновлення. Без нього сесія тихо помре, і користувач перестане бачити оновлення ордерів.

Параметр WebSocket v1 WebSocket v2
URL wss://ws.kraken.com wss://ws.kraken.com/v2
Підписка event: subscribe method: subscribe, params: {...}
Імена активів XBT/USD BTC/USD
Приватні канали Токен в параметрах Токен в params.token

Приклад коду підпису на Swift:

import CryptoKit func generateSignature(urlPath: String, body: Data, secret: String) -> String { let secretData = Data(base64Encoded: secret)! let nonce = "\(Date().timeIntervalSince1970 * 1000)" var postData = "nonce=\(nonce)" if let additionalData = String(data: body, encoding: .utf8) { postData += "&\(additionalData)" } let sha256 = SHA256.hash(data: postData.data(using: .utf8)!) let hmac = HMAC<SHA512>.authenticationCode(for: urlPath.data(using: .utf8)! + sha256.data, using: SymmetricKey(data: secretData)) return hmac.compactMap { String(format: "%02x", $0) }.joined() } 
Дані REST (поллінг) WebSocket (push)
Баланс /0/private/Balance balances channel
Ордери /0/private/OpenOrders executions channel
Ринкові дані /0/public/Ticker ticker channel

Що входить в роботу

  • Аналіз поточної архітектури додатку та вибір відповідного стеку (iOS: URLSession + Combine, Android: OkHttp + Coroutines).
  • Реалізація підпису та обробки помилок (включаючи реконнект WebSocket).
  • Налаштування push-сповіщень (APNs/FCM) для підтвердження ордерів.
  • Тестування на реальних торгових даних з симуляцією rate limit.
  • Документація — опис ендпоінтів, приклади запитів, інструкція з експлуатації.
  • Гарантія — 30 днів безкоштовної підтримки після запуску.

Хочете уникнути цих проблем? Замовте інтеграцію Kraken у нас — отримайте безкоштовний аналіз вашого додатку. Оцінимо ваш проект за один робочий день. Зв'яжіться з нами для консультації.

Стек та терміни

Для нативного iOS: CryptoKit (HMAC-SHA512), URLSessionWebSocketTask, Combine Publisher. Для Android: Mac з HmacSHA512, OkHttp WebSocket, Kotlin Coroutines + Flow. Інтеграція spot (без маржі) — 3–4 тижні. Futures API — окремо, з іншою аутентифікацією. Якщо хочете оцінити терміни для вашого проекту, зв'яжіться з нами.

Оцінимо проект за один робочий день. Отримайте консультацію з інтеграції Kraken у ваш додаток — безкоштовно.