Інтеграція бота з API Kraken

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція бота з API Kraken
Простий
~2-3 дні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1121
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    858

Інтеграція бота з API Kraken

Kraken — одна з найстаріших та найбільш регульованих криптобірж. API добре задокументовано, стабільне, з підтримкою вдосконалених ордерів. Ключова особливість: нестандартні назви пар (XXBTZUSD замість BTC/USDT) та специфічна вимога nonce для REST запитів.

Особливості Kraken API

Аутентифікація: кожен приватний запит підписується HMAC-SHA512. Kraken вимагає nonce — монотонно зростаюче число (зазвичай timestamp у мілісекундах). Важливо: nonce має бути строго більше попереднього, інакше EAPI:Invalid nonce.

import ccxt

exchange = ccxt.kraken({
    'apiKey': API_KEY,
    'secret': API_SECRET,
})

# CCXT обробляє nonce та підпис автоматично
ticker = exchange.fetch_ticker('BTC/USD')
print(f"Last price: {ticker['last']}")

# Розміщення limit ордера
order = exchange.create_order(
    symbol='BTC/USD',
    type='limit',
    side='buy',
    amount=0.001,
    price=60000,
    params={'oflags': 'post'}  # post-only флаг
)

WebSocket API v2

Kraken має WebSocket API v2 для даних у реальному часі:

import websockets
import json

async def subscribe_kraken():
    async with websockets.connect('wss://ws.kraken.com/v2') as ws:
        await ws.send(json.dumps({
            "method": "subscribe",
            "params": {
                "channel": "ticker",
                "symbol": ["BTC/USD", "ETH/USD"]
            }
        }))
        async for message in ws:
            data = json.loads(message)
            if data.get('channel') == 'ticker':
                process_ticker(data['data'])

Обмеження швидкості

Kraken використовує tier-based rate limiting. Базовий tier: 15 одиниць, відновлення 0.33/сек. Різні виклики коштують різні одиниці (розміщення ордера = 1, скасування = 0). При перевищенні — EAPI:Rate limit exceeded.

Пом'якшення: вбудований rate limiter CCXT, плюс окрема логіка для критичних операцій.

Інтеграція з API Kraken для торговельного бота: 1–2 тижні з урахуванням тестування на sandbox та обробки специфічних помилок біржі.