Kraken API Unlocked: FIX 4.4 — institutional connectivity on Kraken
Kraken’s FIX 4.4 API is built for trading firms and institutions that need deterministic message ordering and standard FIX protocol semantics. It covers spot and derivatives both, each via a dedicated API key.
TL;DR
- FIX provides sticky session routing, meaning every message from your session follows the same path to the trading engine, guaranteeing order arrival sequence in a way WebSocket’s load-balanced connections can’t.
- If your firm already runs FIX on traditional venues, the incremental work to connect Kraken to an existing stack is minimal, the same message types, the same gap-fill and replay mechanics, and a small set of crypto-specific differences to handle.
At some point, WebSocket stops being the right answer. Not because it’s slow; Kraken’s WebSocket v2 is competitive for most systematic strategies. But because it doesn’t offer the protocol-level guarantees that certain operations require
Trading firms running complex execution logic, institutions integrating Kraken into existing order management systems, or any operation where the sequence of orders matters precisely: these are the use cases FIX 4.4 is designed for.
Kraken’s FIX implementation covers the full order lifecycle on both Spot and Derivatives, with the session architecture and authentication model that institutional OMS infrastructure expects. This episode covers what the protocol gives you, how it differs from traditional venue FIX, and how to get connected.
What does FIX 4.4 provide that WebSocket doesn’t for crypto trading?
Both protocols operate over persistent connections. The difference is what happens to your messages once they leave your system.
WebSocket connections are load-balanced. Two messages sent back-to-back may follow different paths through Kraken’s gateway infrastructure and arrive at the trading engine’s inbound queue out of order.
For most strategies this is irrelevant but for strategies where a cancel and a replacement order need to arrive in exactly the sequence they were sent, it’s a real architectural constraint.
FIX uses sticky routing. Upon initial connection, a gateway instance is assigned to your session. Every subsequent message follows the same path: FIX Gateway → OES → Trading Engine. New orders and cancels from the same session arrive at the engine in the order they were sent, without exception.
This isn’t a performance difference, it’s a correctness guarantee.
FIX also adds capabilities that have no equivalent on WebSocket:
- Cancel on Disconnect (CoD): all open orders placed on a session are automatically cancelled if the connection drops. Configured at onboarding, a meaningful risk control for automated operations running without human oversight.
- Message replay: on reconnect, the gateway replays ExecutionReports from any requested sequence number. Standard FIX gap-fill semantics, so your reconciliation logic works the same way it would against any traditional exchange.
Kraken’s FIX 4.4 API is purpose-built for trading firms and institutions that need deterministic message ordering and standard FIX protocol semantics. Spot and Derivatives each require a separate CompID and session, providing teams with independent connectivity to each trading engine
If you already run FIX on traditional venues, how much work is a Kraken integration?
Less than you might expect. The protocol is standard FIX 4.4 with the same message types, the same gap-fill and replay mechanics your engine already handles. If you have a working FIX implementation against any traditional venue, the core of that code travels directly.
What’s actually new is a short list of crypto and Kraken-specific items:
- 24/7 markets with a daily rollover. Unlike traditional venues with defined trading hours, Kraken’s FIX sessions run continuously. There is a single logical rollover at 22:00 UTC daily for approximately 30 seconds. Your engine needs to handle this gracefully. It’s predictable and scheduled, but it’s different from the open/close model that traditional venue integrations assume.
- Cancel scope is session-bound. On traditional venues, cancels typically work account-wide. On Kraken FIX, OrderCancelRequest (Tag 35=F) only works for orders placed on the same session. Orders from a previous session, including after a rollover reconnect, require OrderMassCancelRequest (Tag 35=q) or a REST/WebSocket fallback. This is the one architectural difference that requires deliberate design in your reconnection logic.
Everything else–from authentication, order types, execution reports, and market data subscriptions–behaves as standard FIX 4.4. The integration surface is smaller than most firms expect when they start the evaluation.
What risk controls does Kraken’s FIX 4.4 API provide?
For institutions, risk controls embedded in the protocol layer matter differently than application-level controls, they’re harder to accidentally bypass and don’t depend on your code running correctly under stress. Kraken’s FIX implementation has several worth evaluating explicitly.
- Cancel on Disconnect. When enabled, all open orders placed on a FIX session are automatically cancelled if the TCP connection drops for any reason. This is configured at the session level during onboarding, not per order. For fully automated strategies running without a human in the loop, CoD is the difference between a disconnection being a recoverable event and a risk event.
- Self-trade prevention. On Spot, STP is configurable per order via Tag 7928, with three modes: cancel the arriving order (default), cancel the resting order, or cancel both. On Derivatives, STP operates at the account level. For firms managing multiple strategies or sub-accounts, this prevents unintended internal crossing without requiring application-level logic to track it.
- Validation layers. Orders pass through three independent checks before reaching the book: format validation at the FIX Gateway, account and instrument validation and balance and then STP checks at the Trading Engine. A rejection at any layer returns a business-level reject message on the session. Understanding where a rejection originates helps diagnose issues faster during testing and production.
How do you get FIX API access on Kraken?
- Contact your Account Manager. FIX access is coordinated through Kraken’s institutional team, who will provision your connection details, and UAT access.
- Test on UAT first. The UAT environment mirrors production endpoints, symbols, and rate limit behavior. Everything that works in UAT will work in production.
- Decide on Cancel on Disconnect. If your session manages open orders on automated strategies, CoD should be enabled. Configure it during onboarding.
- Design your reconnection logic around session scope. Specifically: how your system handles the 22:00 UTC rollover, and how it cancels orders if a session reconnects as a new session ID.
FAQ
Does Kraken support FIX protocol for crypto trading?
Yes. Kraken offers FIX 4.4 for both Spot and Derivatives trading and market data. FIX provides session-based protocol guarantees including message ordering, sequence number management, and automatic gap detection, the same semantics as any traditional venue FIX implementation.
Is Kraken’s FIX API suitable for institutional crypto trading?
Yes. Kraken’s FIX 4.4 implementation is designed specifically for institutional clients and trading firms that require protocol-level session guarantees, OMS/EMS integration, and risk controls embedded at the infrastructure layer rather than the application layer. Features like cancel-on-disconnect, session-based message replay, and FIX broker allocation (Tags 78/79) are built for institutional operational requirements.
How do you get FIX access on Kraken?
FIX access is not self-serve. Contact Kraken’s institutional team at kraken.com/institutions/exchange#contact. They handle IP allowlisting, secure channel setup, and UAT access.
When should I use FIX instead of WebSocket for crypto trading?Use FIX when integrating with existing OMS/EMS infrastructure that already speaks FIX, when protocol-level session recovery guarantees are required by compliance or risk management, or when you need cancel-on-disconnect as a hard protocol-level control rather than something implemented in application code. WebSocket is the better choice for most systematic strategies that don’t have these requirements.
Can I test FIX on Kraken before going live?
Yes. A full production-mirror UAT environment is available for end-to-end testing. It mirrors production endpoints, symbols, and rate limit behavior, so code that works in UAT will work in production. Ask for UAT credentials when contacting the institutional team.
