- 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