Интеграция бота с 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 хорошо задокументировано, стабильное, с поддержкой продвинутых ордеров. Особенность Kraken: нестандартные названия пар (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 flag
)

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'])

Rate limits

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

Mitigation: CCXT встроенный rate limiter, плюс отдельная логика для критических операций.

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