Execution Report
As soon as Kraken Trading Engine accepts the order, all order responses will be sent using the Execution Report message. This includes any fills, order status changes and confirmation of cancellation.
- FIX Specification
- Example
MESSAGE BODY
header required
MsgType
8
11 - ClOrdID string required
Unique identifier of the order.
41 - OrigClordid string conditional
Condition: exectype=Cancel
Clordid of the previous action on this order.
17 - ExecId string required
Unique identifier for each execution report message message.
37 - OrderID string required
Unique order identifier generated by Kraken.
527 - SecondaryExecID integer conditional
Condition: ExecType=Trade
Sequence number for every ExecType=Trade. This ID unique by pair.
60 - TransactTime string
Format: YYYYMMDD-HH:MM:SS.uuu
Time of event expressed in UTC.
40 - OrderType char required
The execution model of the order. For triggered orders, after the trigger the OrderType will reflect the new execution model of the order (market or limit).
- Possible values:
1
: market2
: Limit3
: Stop-loss4
: Stop-loss-limitR
: Take-profitT
: Take-profit-limitU
: Trailing-stopV
: Trailing-stop-limit
54 - Side integer required
Side of the order.
- Possible values:
1
: Buy2
: Sell
55 - Symbol string required
Pair in the format BASE/QUOTE.
44 - Price float conditional
Condition: OrderType=Limit/Stop-Loss-Limit/Take-Profit-Limit/Trailing-stop-limit
Limit Price of the order placed in the Order Book. This field is denominated in Quote Currency.
99 - StopPx float conditional
Condition: OrderType=Stop-Loss/Take-Profit/Stop-Loss-Limit/Trailing-stop/Trailing-stop-limit
Stop Price for a Stop-Loss/Take-Profit/Stop-Loss-Limit or Take-Profit-Limit order. This field is denominated in Quote Currency.
31 - LastPx float conditional
Condition: ExecType=Trade
Price of the trade.
6 - AvgPx float conditional
Condition: ExecType=Trade
Avg price of all trades on the order.
1102 - TriggerPrice float
Price that triggered for stop-loss, take-profit, stop-loss-limit, take-profit-limit, trailing_stop or trailing_stop_limit. It can be different than the StopPx.
14 - CumQty float required
Total quantity filled on the order so far.
32 - LastQty float conditional
Condition: ExecType=Trade
Quantity bought/sold on last trade.
151 - LeavesQty float required
Quantity left on the order on the Book.
38 - OrderQty float required
Size of the original order.
1138 - DisplayQty float
Iceberg qty of the original order.
150 - ExecType char required
Describes the type of order event and determines the set of fields in the message.
- Possible Values:
0
: New - Order has been created and is live in the engine.4
: Canceled - The order has been cancelled.5
: Replace - The order has been replaced.A
: Pending New - : Order request has been received and validated but the order is not live yet. Possible when EffectiveTime (Tag 168) is used on the New OrderC
: Expired - The order has expired.D
: Restated - The order has changed like a trigger eventF
: Trade - The order has received a fill.I
: Order Status - In response to an Order Status Request
39 - OrdStatus char required
Describes the status of the order.
- Possible Values:
0
: New - Order is live in the engine with no fills.1
: Partially Filled - Order is live in the engine with fills.2
: Filled - Order is fully filled and closed.4
: Canceled - Order is cancelled and closed.5
: Replaced - Order is Replaced succesfullyA
: Pending New - Order is not live yet.C
: Expired - Order is expired and closed.
58 - Text string
Full description for Cancellations or status of the order.
59 - TimeInForce string required
- Possible Values:
1
: GTC (Good till canceled)3
: IOC (Immediate or Cancel)6
: GTD (Good till date)
136 - NoMiscFee integer
1
where a fee is applicable or not present.137 - MiscFeeAmt float
Absolute fee value present on Fill Reports. Fee are cumulative from the previous trades.
138 - MiscFeeCurr string
Fee Asset
139 - MiscFeeType integer
- Possible values:
4
: Exchange Fee
891 - MiscFeeBasis string
Define how the fee is charged.
- Possible values:
2
: Percentage
381 - GrossTradeAmt float
Cum Cost of the Trade (CumQty*AvgPx).
118 - NetMoney float
Cost of a Single Trade (LastQty*LastPx).)
1003 - TradeID string conditional
Condition: ExecType=Trade
Unique ID that identifies the trade at exchange.
5050 - LiquidityInd string conditional
Condition: ExecType=Trade
Define if the trade was from a maker or taker order.
- Possible values:
0
: Maker1
: Taker
378 - ExecRestatementReason char
It can happen in some scenario that trades are not reported in time through the FIX API. In that case the FIX API will detect it and send a ExecType=Restated execution report and use ExecRestatementReason to warn the client.
- Possible values:
3
: Repricing of Order
trailer required
8=FIX.4.4|9=264|35=8|34=2|49=KRAKEN-TRD|52=20230707-13:56:08.717|56=MYCOMPID|6=0.0|11=1688738168|14=0.0|17=PAM2QZA:2S2P7SDKTJXRO|37=OKWUQF-YPJM2-DTAJHH|38=0.01|39=A|40=2|44=1000.0|54=1|55=BTC/USD|58=buy 0.01 BTC/USD @ limit 1000|59=1|60=20230707-13:56:08.695|150=A|151=0.01|381=0.0|10=126|