market: The full order quantity executes immediately at the best available price in the order book.limit: The full order quantity is placed immediately with a limit price restriction to only trade at this price or better.stop-loss: A market order is triggered when the reference price reaches the stop price (from an unfavourable direction).stop-loss-limit: A limit order is triggered when the reference price reaches the stop price (from an unfavourable direction).take-profit: A market order is triggered when the reference price reaches the stop price (from a favourable direction).take-profit-limit: A limit order is triggered when the reference price reaches the stop price (from a favourable direction).trailing-stop: A market order is triggered when the market reverts a specified distance from the peak price.trailing-stop-limit: A limit order is triggered when the market reverts a specified distance from the peak price.
required
35=
Dstring
required
Unique identifier of the order. The ID can be one of the following formats:
- Ever-Increasing Positive Numbers: Ever-increasing positive numbers, such as microsecond timestamps, to ensure the uniqueness and sequential nature of the identifiers. (Spot only)
Example: Using the current microsecond timestamp as the ClOrdID, such as
1623448294234000(Max 18 characters) - Timestamp-First v4 UUIDs (required for Futures, supported for Spot): A COMB UUID where the first 48 bits (first two UUID fields) encode the current timestamp in 10-microsecond units since the Unix epoch. Example:
a17d49af-1186-4984-bd10-29b8f232ee4d, wherea17d49af-1186encodes the timestamp177559467882990(= 10-μs units for a given moment). The server validates that this timestamp is within 120 seconds of server time.
char
required
The execution model of the order.Possible values:
1: market2: Limit3: Stop-loss4: Stop-loss-limitR: Take-profitT: Take-profit-limitU: Trailing-stopV: Trailing-stop-limit (Spot only)
float
Limit Price of the order to be placed in the Order Book. This field is denominated in Quote Currency.Condition: OrderType = Limit / Stop-Loss-Limit / Take-Profit-Limit / Trailing-stop-limit
float
required
Order quantity in terms of the base asset.
float
Iceberg qty. This will indicate the Qty to show on the book.
Only possible on Limit order. The Minimum value is 1 / 15 of order_qty. (Spot only)
integer
required
Side of the order.Possible values:
1: Buy2: Sell
string
required
Pair in the format BASE/QUOTE.
string
required
Time-in-force specifies how long an order remains in effect before being expired.Possible values:
1: GTC (Good till canceled)3: IOC (Immediate or Cancel)4: FOK (Fill or Kill) — The order must be filled in its entirety immediately or canceled entirely. (Spot only)6: GTD (Good till date) - (Spot only)
string
required
Time of order creation expressed in UTC. Format:
YYYYMMDD-HH:MM:SS.uuustring
Expiration of the Order if not fully filled before it. Expressed in UTC. GTD orders can have an expiry time up to one month in future. (Spot only) Format:
YYYYMMDD-HH:MM:SSCondition: TimeInForce = GTDstring
Scheduled start time on the order expressed in UTC. The order won’t be visible on the book and won’t match before that time. (Spot only)
char
If more than one instruction is applicable to an order, this field may contain multiple instructions separated by space.Possible values:
E: Reduce-Only — Reduces an existing margin position without opening an opposite long or short position worth more than the current value of your leveraged assets.P: Post-Only — Cancels the order if it will take liquidity on arrival. Post only orders will always be posted passively in the book.v: viqc — OrderQty (tag 38) expressed in quote currency. (Spot only)f: Cumulative fee in base currency — base is the default for sell orders. (Spot only)q: Cumulative fee in quote currency — quote is the default for buy orders. (Spot only)s: Single fee — Mandatory and only supported fee option for derivatives — fee sent on the execution report are based on the trade.
float
Defines the trigger price of the order. This field is denominated in Quote Currency.Condition: OrderType = Stop-Loss / Take-Profit / Stop-Loss-Limit / Trailing-stop / Trailing-stop-limit
integer
The reference price to track for triggering orders.Possible values:
1: Related to index price5: Related to last trade price
5string
Use margin account for the order funding. (Spot only)Possible values:
0: Margin disabled1: Margin enabled
0integer
Self Trade Prevention (STP) is a protection feature to prevent users from inadvertently or deliberately trading against themselves.
To prevent a self-match, one of the following STP modes can be used to define which order(s) will be expired. (Spot only)Possible values:
0: Cancel both — both arriving and resting orders will be canceled.1: Cancel Newest — arriving order will be canceled.2: Cancel Oldest — resting order will be canceled.
1integer
Number of subaccount that are part of the order. Always 1 for the broker accounts.
string
The engine will reject any order entered into the matching engine after this time. This provides extra protection against latency on time sensitive orders. The timestamp should be at least 2 seconds and at most 60 seconds in the future. Format:
YYYYMMDD-HH:MM:SS.uuurequired
Order Validation — Kraken will validate each order it receives by checking that the user sent all the required FIX fields for the order.
- FIX field level validation will result in session level reject.
- Business rule validation failures will result in rejection in the form of a business level reject.
- Once the order is accepted and Acked, any further business rule validations will result in an execution report with an unsolicited cancel status.
- Spot
- Futures
Conditional orders
Conditional orders
Iceberg and margin
Iceberg and margin