Certain Kraken futures limit orders may still execute following a successful cancellation if the cancel request is processed during the Maker Protection hold window. Kraken broadened this system on Oct. 8, extending the order-handling rule to additional contracts.
Following the announcement of 61 extra perpetual contracts, Kraken finished Phase 2 of the rollout. Maker Protection is active on specific futures markets, with Kraken’s documentation outlining an initial hold period of 20 milliseconds.
What a Kraken futures cancellation changes
Maker Protection intercepts orders capable of taking liquidity prior to their arrival at the matching engine, offering traders with existing resting orders an opportunity to respond. Without a post-only instruction, a limit order is held in a covered market even if it would typically rest on the book.
Issuing a cancel within that time frame alters how the order behaves upon release. Kraken transforms the held placement into an immediate-or-cancel order, allowing it to execute when released while preventing any unfilled remainder from staying on the book. The original hold expiration time remains unchanged.
Consider a scenario where a trader places a non-post-only limit order and cancels it prior to the hold’s expiration. The cancellation request bypasses the delay and shifts the held placement to immediate-or-cancel status. Upon reaching the original release time, it can still be filled, though any remaining portion is dropped.
Kraken logs these instructions independently. The cancellation is marked as successful with a “cancelled” order status, whereas the order subsequently provides its own execution details or failure notices. For a converted limit order that fails to trade, the REST v3 API returns iocWouldNotExecute.
The instruments feed on Kraken displays each market’s specific hold duration using the makerProtectionMillis parameter. According to documentation, a value of zero or an absent field indicates that no delay is configured.
Because coverage varies by contract, traders cannot assume market rules based solely on the coin’s name. Kraken notes that its ten most liquid linear perpetual markets are excluded, and spot trading remains unaffected. Standalone post-only orders bypass the hold entirely. While cancellation requests also skip the delay, a held limit placement continues to wait for its initial release timestamp.
Alternative held order types trigger distinct cancellation responses. Targeting a held immediate-or-cancel, fill-or-kill, or market placement yields an ORDER_NOT_FOUND error, while the original request still proceeds to the matching engine upon release.
Automated trading systems operating within Kraken futures must account for both the execution response and the cancellation confirmation. A successful cancellation for a held limit order can still coincide with a subsequent fill.
Frequently Asked Questions
Can a Kraken futures limit order fill after it has been successfully canceled?
Yes. If your cancellation request arrives during the Maker Protection hold window, Kraken converts the held placement into an immediate-or-cancel order. It can still execute when released at its original time, though any unfilled remainder will be discarded.
What is the initial duration of the Maker Protection hold window?
Kraken’s documentation specifies an initial hold of 20 milliseconds for applicable futures markets.
Are all Kraken markets and order types subject to Maker Protection?
No. Maker Protection applies only to selected futures markets, and the platform’s ten most liquid linear perpetual markets are excluded. Spot trading is unaffected, and standalone post-only placements bypass the hold.
What API response does a converted limit order give if it cannot trade?
For a converted limit order that is unable to execute, the REST v3 response is iocWouldNotExecute.




