Kraken's 20-Millisecond Window: A Cancelled Futures Order Can Still Fill
Kraken expanded Maker Protection to 61 more perpetual contracts on Oct. 8. A cancel during the 20-millisecond hold window converts the order to immediate-or-cancel, and it can still trade on release. Automated traders who treat a cancel acknowledgement as final are in for a surprise.
Kraken pushed Maker Protection to 61 more perpetual contracts on Oct. 8, and the rule it added is a quiet trap for anyone running automated futures strategies. On covered markets, a limit order that can take liquidity gets held for 20 milliseconds before it ever reaches the matching engine. Cancel inside that window and the exchange reports the order as cancelled. It can still fill anyway.
Here's the mechanism. Kraken converts the held placement to immediate-or-cancel when a cancel lands during the hold. Release timing doesn't move. So at the original release moment the order still gets its shot at the book, and any unfilled remainder is discarded instead of resting. Traders get two separate messages: a cancel acknowledgement marked success, and later an execution report on the order itself. If the converted limit can't trade, REST v3 hands back iocWouldNotExecute. The docs spell it out. Plenty of bots don't reconcile that second response.
Coverage is contract-specific, so you can't guess from the ticker alone. Kraken exposes the configured delay as makerProtectionMillis in its instruments feed. An absent or zero value means no hold. Standalone post-only orders skip the delay entirely, and spot trading is untouched. The ten most liquid linear perpetuals are carved out too, which makes sense for the venue but leaves that exclusion set shifting as volumes move around.
Other held order types behave worse. Cancel a held IOC, fill-or-kill, or market placement and you get ORDER_NOT_FOUND back, while the original request still reaches matching on release. That's a genuinely confusing surface for anyone building reconciliation logic. It rewards teams who read the docs closely and punishes everyone trading off assumptions.
Step back and the real question is who this plumbing serves. Maker Protection is a gift to market makers, who get a reaction window against aggressive flow. It's a cost to latency-sensitive takers, who now have to treat cancellation as advisory rather than final. That's a defensible tradeoff for a derivatives venue hunting liquidity. Kraken competes with Binance and Bybit for depth, and 20 milliseconds of cushion is a real selling point to the firms that quote both sides.
But if your system logs a cancel and walks away, you're building on an assumption the exchange doesn't share. Watch for more venues copying the hold, and watch how quickly the tooling catches up.