Documentation

Documentation

10. v0.8.0 — Kraken data provider

Created
Jun 21, 2026
Updated
Jun 21, 2026

This release adds Kraken as a fully integrated crypto data provider with feature parity to Binance and OKX — spot pairs and perpetual futures, realtime streaming, symbol search, watchlist support, and provider addressing — all using Kraken's public endpoints with no API key required.

Added

  • Kraken crypto spot provider. Historical bars (/0/public/OHLC), realtime bars, ticker overview (/0/public/Ticker), and the tradable spot universe (/0/public/AssetPairs). Spot uses the modern slash-separated instId that Kraken's own v2 API uses (e.g. BTC/USD, ETH/USD).
  • Kraken perpetual futures. The same four capabilities for Kraken Futures perpetuals, served from the Kraken Futures host: OHLC charts (/api/charts/v1/...), 24h stats (/derivatives/api/v3/tickers), and the tradable universe (/derivatives/api/v3/instruments). Symbols are Kraken's exact perpetual ids (e.g. PF_XBTUSD, where XBT is Kraken's code for Bitcoin).
  • KR: symbol prefix and ?provider=kraken query parameter. Force Kraken for any symbol: KR:BTC/USD (spot), KR:FU:PF_XBTUSD (perpetual), or /chart/PF_XBTUSD?provider=kraken&class=futures. The FU asset-class token pins the futures market the same way OK:FU:BTC-USDT-SWAP pins OKX swaps.
  • Kraken in the symbol search dialog. The Kraken spot and futures universes are loaded into the catalog and appear alongside Binance and OKX. Kraken symbols are surfaced exactly as Kraken names them — search BTC/USD for spot or PF_XBTUSD for the Bitcoin perpetual.
  • Kraken in the watchlist. Watchlist rows backed by Kraken display a KR provider badge and fetch live quotes from Kraken's public ticker endpoints (spot and futures).
  • Kraken in Settings → Data provider. Kraken appears in the Default provider dropdown. Its settings panel confirms no API key is required and shows the websocket streaming mode.
  • Realtime streaming for both asset classes. Spot streams from Kraken's v2 websocket (ws.kraken.com/v2) ohlc and trade channels — driving both the forming bar and a tick-driven live price line. Futures stream from the Kraken Futures ticker feed (futures.kraken.com/ws/v1), whose last price feeds both the in-progress bar and the live price line.

Changed

  • Crypto symbol resolution order is now Binance → OKX → Kraken → Massive → Alpaca. Bare crypto symbols continue to resolve to Binance/OKX first; use the KR: prefix (or ?provider=kraken) to force Kraken.
  • Watchlist quote routing now treats Kraken as a self-quoting crypto provider (like Binance and OKX): Kraken rows fetch quotes only from Kraken.
  • Workspace market/exchange mapping returns exchange: "KRAKEN" and market: "crypto-spot" / "crypto-futures" for Kraken instruments.

Technical notes

  • Exact provider symbols, no aliasing. Kraken symbols are kept verbatim. Spot uses the modern slash form (BTC/USD), and futures use the exact perpetual id (PF_XBTUSD); the connector does not rewrite or invent symbols, so you search and address instruments exactly as Kraken names them.
  • Same-origin proxy for futures REST. Unlike Kraken's spot host (api.kraken.com), the Kraken Futures host (futures.kraken.com) does not send CORS headers. The browser connector therefore reaches futures REST through a same-origin proxy route (/api/market-data/kraken/futures/...) with a closed path allow-list. Spot REST and both websockets are reached directly (websockets are not subject to CORS).
  • Futures chart window clamping. The Kraken Futures charts endpoint returns at most 2000 candles, ordered oldest-first from from. A multi-day intraday lookback is therefore clamped so the window ends at the present, keeping recent history connected to the live streamed bar.
  • Aggregated timeframes. The 3M, 10M, and 2H timeframes have no native Kraken bar size; the connector requests the nearest smaller native bar and folds consecutive bars together, the same technique used for Binance and OKX.
  • No first-party SDK / no new dependencies. Like Binance and OKX, both the browser and backend connectors use raw fetch + native WebSocket / ws.

Next steps

Back to the release list.

Next: Release Notes