required
35=
8string
Exchange-assigned order identifier generated by Kraken; the value to quote back on cancels, amends and status requests.Format: Assigned by Kraken; quote it back on cancels, amends and status requests.
string
required
Client-assigned order identifier, as sent by the client. On US Perps it is a positive integer of at most 19 digits.Format: Positive integer, up to 19 digits, e.g. a microsecond timestamp.
string
ClOrdID of the previous action on the order. Sent on cancel and amend reports.Required: Conditional
string
required
Unique identifier of this execution report. Treat it as opaque: do not parse it or derive it from ClOrdID. On US Perps the New (
150=0) acknowledgement uses a ClOrdID-based form, reports driven by the engine carry an engine-generated identifier, and an Order Status answer (150=I) repeats the ExecID of the cached report.ExecID: venue differences
char
required
Nature of the event this execution report describes.Possible values:
0: New - the order is live in the engine.4: Canceled - the order was cancelled.5: Replace - the amend was applied.8: Rejected - the matching engine refused an order it had already acknowledged, for example a post-only order that would cross, a fill-or-kill order that cannot be filled in full or an order stopped by market price protection. The report carries OrdRejReason (103) and Text (58). A request refused before it is acknowledged (an unsupported feature, an invalid field, a risk limit) arrives as a BusinessMessageReject (35=j) instead. Engine limit checks (quantity cap, price bounds and bands) map to OrdRejReason3, so they may arrive as150=8rather than35=j; this is to be confirmed in UAT.C: Expired - the order reached its expiry.D: Restated - the engine changed the order itself, for example by re-displaying an iceberg slice.F: Trade - the order got a fill. LastPx/LastQty carry that fill.I: Order Status - this report answers an OrderStatusRequest rather than reporting an event.
char
required
Current state of the order.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 - the matching engine refused the order after acknowledging it. See OrdRejReason (103) and Text (58) for the reason.C: Expired - expired and closed.
integer
Code identifying the reason why an order was rejected by the matching engine. Present only on Execution Reports with ExecType (150) = 8 and OrdStatus (39) = 8. The gateway maps only the values below; match-time rejects use
3, 11 and 99. Which engine rejections reach 150=8 is decided by the engine.Possible values:1: Unknown symbol.2: Exchange closed.3: Order exceeds a limit (quantity cap, price bounds and bands).5: Unknown order.6: Duplicate order.11: Unsupported order characteristic.13: Incorrect quantity.99: Other.
Engine rejects: venue differences
string
Numeric end-client id of the end client the order was placed for, as sent in Account (1) on the order.Format: Non-zero numeric end-client id.
string
Perpetual futures contract, in the venue symbol form. Ten contracts are listed at launch.Format: Venue symbol.
string
Identifier of the instrument within the Kraken instrument scheme. Present when it is cached for the order.Format: Venue instrument identifier.
InstrumentID: venue differences
char
required
Side of the order.Possible values:
1: Buy.2: Sell.
Qty
Order quantity in contracts.
char
required
Execution model of the order.Possible values:
1: Market - fill the whole quantity immediately at the best available prices.2: Limit - rest in the book, trading only at the limit price or better.
Price
Limit price of the order, denominated in the quote currency. Required for limit orders.Format: Limit price, denominated in the quote currency.Required: Conditional
char
How long the order stays in effect. GTC, IOC, FOK and GTD are the supported durations; a change of TimeInForce on an amend is rejected.Possible values:
1: GTC - good till cancelled. Rests indefinitely.3: IOC - fill what you can immediately, cancel the rest.4: FOK - fill the entire quantity immediately or cancel the whole order.6: GTD - good till date. The expiry is in ExpireTime (126).
Qty
Quantity bought or sold on this fill.Required: Conditional
Price
Price of this fill.Required: Conditional
Qty
required
Quantity still working in the book.
Qty
required
Total quantity filled on the order so far.
Amt
Gross amount traded on the order. The New (
150=0) acknowledgement carries 0.Qty
May be present on reports. Display quantity cannot be set on US Perps orders: NewOrderSingle rejects iceberg orders.
Price
required
Average price across all fills on the order.
UTCTimestamp
Time of the business event in UTC, formatted YYYYMMDD-HH:MM:SS.uuu.Format: UTC timestamp, YYYYMMDD-HH:MM:SS.uuu
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.
integer
Code indicating whether this fill added liquidity to or removed liquidity from the market. Only
1 and 2 are sent.Possible values:1: The fill added liquidity to the order book.2: The fill took liquidity from the order book.
Liquidity indicator: venue differences
string
Exchange-assigned identifier of the trade.Required: Conditional
required