Skip to main content
FIXsession: trading35=G
Amends a working order. Price, quantity and, on a good-till-date order, the expiry are the amendable terms; Side, OrdType and Symbol must match the original, and a change of TimeInForce is rejected because there is no field for it in the engine schema. Both OrderID (37) and OrigClOrdID (41) are required, and at least one of OrderQty (38) and Price (44) must be present. An amend that Kraken refuses is answered with a BusinessMessageReject (35=j) or, for a field-level error, a Reject (35=3). It is never answered with an OrderCancelReject (35=9).
Amend: venue differences
Direction: Client → Kraken
required
35=G
string
required
Exchange-assigned order identifier generated by Kraken; the value to quote back on cancels, amends and status requests. Required on an amend, together with OrigClOrdID: OrigClOrdID finds the order and OrderID must match it.Format: Assigned by Kraken; quote it back on cancels, amends and status requests.
string
required
ClOrdID of the previous action on the order. On an amend it finds the order, and OrderID (37) must match that order. Unlike on a cancel, OrderID does not take precedence over OrigClOrdID.
string
required
Client-assigned identifier of the amend request. 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
Numeric end-client id of the end client the order belongs to. Optional on this message and not used: the end client is taken from the original order.Format: Non-zero numeric end-client id.
MultipleStringValue
Execution instructions. The only value accepted on an amend is P (post-only). An amend restates post-only: leaving ExecInst out removes post-only from the resting order, so send 18=P on every amend of an order that should stay post-only. E or s is rejected with a Reject (35=3) and SessionRejectReason (373) = 5. Reduce-only is not supported on US Perps.Possible values:
  • P : Post-only. Limit orders only. An amend restates it: leaving 18=P out removes post-only from the resting order.
Amend ExecInst: venue differences
string
Perpetual futures contract, in the venue symbol form. Ten contracts are listed at launch. Either Symbol or InstrumentID must be sent. Ignored when InstrumentID is also sent: the instrument is then recognised from InstrumentID.Format: Venue symbol.Required: Conditional
string
Identifier of the instrument within the identification scheme named by InstrumentIDSource. Either Symbol or InstrumentID must be sent.
Where both Symbol and InstrumentID are sent, InstrumentID is what the instrument is recognised from and Symbol is ignored.
Format: Venue instrument identifier. Takes precedence over Symbol when both are sent.Required: Conditional
string
Identification scheme that InstrumentID is expressed in.Possible values:
  • 8 : Exchange symbol.
char
required
Side of the order.Possible values:
  • 1 : Buy.
  • 2 : Sell.
UTCTimestamp
required
Time of the business event in UTC, formatted YYYYMMDD-HH:MM:SS.uuu.Format: UTC timestamp, YYYYMMDD-HH:MM:SS.uuu
Qty
New order quantity in contracts. Optional: if left out the resting quantity stands. At least one of OrderQty and Price must be present.Required: Conditional
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
New limit price of the order, denominated in the quote currency. Optional: if left out the resting price stands. At least one of OrderQty and Price must be present. Not permitted on a market order.Format: Limit price, denominated in the quote currency.Required: Conditional
Qty
Not supported on US Perps. NewOrderSingle rejects iceberg orders (“Order type iceberg is not supported on this venue”), so there is no display quantity to amend.
DisplayQty: venue differences
UTCTimestamp
New expiry of a good-till-date order, in UTC. Only accepted on an order resting as GTD (TimeInForce 6). If left out the expiry is unchanged.Format: UTC timestamp, YYYYMMDD-HH:MM:SS.uuu
char
Optional. If sent it must equal the order’s resting TimeInForce: 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 amended with ExpireTime (126).
UTCTimestamp
Not accepted on an amend: an amend that carries ValidUntilTime is rejected.Format: UTC timestamp, YYYYMMDD-HH:MM:SS.uuu
required