Kraken’s Spot and Derivatives markets run on separate trading engines, each with its own endpoints and latency characteristics. The right protocol combination depends on which market you trade.Documentation Index
Fetch the complete documentation index at: https://kraken-sandbox.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
- Spot
- Derivatives
- Spot + Derivatives
Spot offers three protocols. They share the same rate limit counter — choose based on your latency requirements and feature needs.
| REST | WebSocket | Unified FIX | |
|---|---|---|---|
| Connection model | Request/response | Persistent | Persistent session |
| Latency profile | Higher, variable | Low | Lowest (colocation) |
| Market data | ✅ | ✅ | ✅ |
| Order entry | ✅ | ✅ | ✅ |
| Account data | ✅ | ✅ | — |
| L3 order book | ✅ | ✅ (v2 only) | ✅ |
| Order amend | ✅ | ✅ | ✅ (MsgType=G) |
| Cancel on disconnect | — | — | ✅ |
| FIX message replay | — | — | ✅ |
| Funding / Earn | ✅ | — | — |
| Subaccount management | ✅ | — | — |
| FIX broker allocation | — | — | ✅ (Tags 78/79) |
| Authentication | HMAC-SHA512 | Token (via REST) | Spot FIX API Key |
| Colocation | — | ✅ | ✅ |
REST
REST
Best for: operational tasks that don’t require real-time streaming — checking balances, querying order history, managing deposits and withdrawals, Earn, sub-account transfers.Not recommended for: latency-sensitive order entry or real-time market data. Each request incurs a full HTTP round-trip.Base URL:
https://api.kraken.comWebSocket (v2 recommended)
WebSocket (v2 recommended)
Best for: most systematic trading use cases. Real-time order updates, market data streaming, L3 book, and order entry in a single persistent connection. The recommended choice for new integrations.Limitations: no Funding or Earn endpoints (use REST for those), no cancel-on-disconnect.Endpoint:
wss://ws.kraken.com/v2Unified FIX 4.4
Unified FIX 4.4
Best for: institutional and HFT clients requiring the lowest latency, deterministic message sequencing, cancel-on-disconnect, and session-based message replay. Available for colocated deployments alongside WebSocket.Uses a Spot FIX API Key pre-configured with the correct permissions. Covers both Spot and Derivatives in a single session.Limitations: requires NDA and VIP status for production colocation. Cannot cancel orders from a different FIX session. No account data endpoints.
Rate limits
| Protocol | Rate limit scope |
|---|---|
| Spot REST | Account level — shared with Spot WebSocket and FIX |
| Spot WebSocket | Account level — shared with Spot REST and FIX |
| Spot FIX | Account level — shared with Spot REST and WebSocket |
| Derivatives FIX | Session level — each FIX session has its own bucket |
| Derivatives REST | Account level — separate from Derivatives FIX |
Symbol formats
The same instrument has different identifiers across protocols:| Instrument | REST | WebSocket | FIX (Symbol) |
|---|---|---|---|
| Bitcoin / USD | XXBTZUSD or XBT/USD | BTC/USD | XBT/USD |
| Ethereum / USD | XETHZUSD or ETH/USD | ETH/USD | ETH/USD |
| BTC Perpetual (Derivatives) | PI_XBTUSD | PI_XBTUSD | PI_XBTUSD |
Cancel scope
| Protocol | Can cancel orders placed via |
|---|---|
| REST | Any source (REST, WS, FIX, UI) |
| WebSocket | Any source (REST, WS, FIX, UI) |
| FIX (single order cancel) | Same FIX session only |
| FIX (OrderMassCancelRequest) | All orders on the account |
OrderCancelRequest — you must use OrderMassCancelRequest or fall back to REST/WebSocket.
Sequencing guarantees
FIX (sticky routing): Each FIX session is bound to a specific FIX Gateway instance and follows a deterministic path to the trading engine. New orders and cancels from the same session arrive in order at the engine. WebSocket (non-sticky): Connections are load-balanced. Two messages sent on the same connection may follow different paths and arrive out of order at the engine’s inbound queue. REST: No ordering guarantees between separate HTTP requests. For strategies where the sequence of a cancel and a new order matters (e.g. cancel-replace at a specific price), FIX provides the strongest guarantee.WebSocket v1 vs v2
| Feature | v1 | v2 |
|---|---|---|
| Message format | Array | Object |
| L3 order-by-order | — | ✅ |
| Book checksum | Updates only | Snapshot + updates |
| Timestamp precision | Epoch sec, μs | ISO 8601, μs |
| Trade ID | — | Sequential int |
| New features | Frozen | Active development |
Related guides
Quickstart
Set up your first API key and place your first order
Order lifecycle
How order states and transitions work across all protocols
Colocation and connectivity
Low-latency connectivity tiers — from cloud to cross-connect
WebSocket reconnection
Handle disconnects, re-subscription, and state reconciliation
Rate limits
How rate limits work across REST, WebSocket, and FIX
Error reference
Full list of error codes and how to handle them