Skip to main content
FIXsession: trading35=9
Rejects a single-order cancel that Kraken will not act on. The FIX gateway sends it itself in some cases, for example for an unknown order, so it is not only a rejection by the matching engine. It is sent only where it is enabled (UAT today; the production setting is to be confirmed); otherwise a cancel business reject arrives as a BusinessMessageReject (35=j), so handle both. Amend rejections never arrive as 35=9. They arrive as a BusinessMessageReject (35=j) or, for a field-level error, a Reject (35=3), so CxlRejResponseTo (434) is always 1. Field-level errors on a cancel are also answered with 35=3.
Cancel rejects: venue differences
Direction: Kraken → client
required
35=9
string
required
Exchange-assigned order identifier generated by Kraken; the value to quote back on cancels, amends and status requests. NONE when the order is unknown.Format: Assigned by Kraken; quote it back on cancels, amends and status requests. NONE for an unknown order.
string
required
Client-assigned identifier of the cancel request this rejection answers. On US Perps it must be a positive integer of at most 19 digits: use an ever-increasing number, for example a microsecond timestamp. See New Order Single for how invalid values are rejected.Format: Positive integer, up to 19 digits, e.g. a microsecond timestamp.
string
ClOrdID of the order that was being cancelled. Optional on this message: FIX 4.4 requires it, but because a cancel may quote OrderID alone, a reject for an order Kraken never knew has no ClOrdID to echo.Required: Conditional
char
required
Current state of the order. 8 accompanies OrderID NONE: the order is unknown.Possible values:
  • 0 : New - live, nothing filled.
  • 1 : Partially filled - live with fills against it.
  • 2 : Filled - fully filled and closed.
  • 4 : Canceled - cancelled and closed.
  • 8 : Rejected - used with OrderID NONE when the order is unknown.
  • C : Expired - expired and closed.
Pending New (A), Replaced (5) and Pending Replace (E) are defined by FIX but are never sent on US Perps.
char
required
Whether the rejection answers a cancel request or a cancel/replace request. Always 1 on US Perps: an amend is never rejected with OrderCancelReject.Possible values:
  • 1 : This rejects an OrderCancelRequest.
  • 2 : This rejects an OrderCancelReplaceRequest. Defined by FIX but never sent on US Perps: amend rejects arrive as 35=j or 35=3.
integer
Why the cancel was refused. Only 1 and 99 are sent on US Perps.Possible values:
  • 1 : Unknown order.
  • 99 : Other.
The other FIX values (0, 2, 3, 4, 5, 6) are not sent. For example 3 (order already pending cancel) would need an empty error, which the engine route never produces.
string
Free-text description: the cancellation reason, reject reason, or order status detail.Format: Free text set by Kraken; carries the reject or cancellation reason.
required