Derivatives Trading Interface Error Messages
The following are descriptions for error messages that may be received when trading derivatives on Kraken Pro.

MARKET_SUSPENDED

Market is suspended; trading is unavailable.

MARKET_NOT_FOUND

An inactive derivatives market was specified in the order submission request.

INVALID_PRICE

Price is smaller or equal to zero, price exceeds the max price set for the contract, or price is not a multiple of the tick size.

INVALID_QUANTITY

Quantity decimals are greater than the contract value trade precision, notional size exceeds the order max volume of 20,000,000 USD, or quantity specified is less than zero.

SMALL_ORDER_LIMIT_EXCEEDED

Notional size is lower than the small order threshold of 0.01 USD.

INSUFFICIENT_MARGIN

Incremental initial margin is greater than the usable margin.
Incremental initial margin = new initial margin with orders - initial margin with orders + effective fee - min(PNL after execution, 0)
Max maintenance margin impact = max(maintenance margin after execution - maintenance margin, 0)
Usable margin = if(max maintenance margin impact = 0, margin equity - initial margin with orders, margin equity - maintenance margin)

WOULD_CAUSE_LIQUIDATION

Order would fill at a worse price than the mark price, causing the portfolio value to fall below the maintenance margin and trigger a liquidation.

CLIENT_ORDER_ID_IN_USE

Client order ID specified currently being used in an open order.

CLIENT_ORDER_ID_TOO_LONG

Client order ID specified exceeds the max character length of 100.

MAX_POSITION_EXCEEDED

The sum of the max position size, existing orders size, and order quantity would exceed the max position size set for the contract.

PRICE_COLLAR

Taker order would fill 20% away from the mark price.

PRICE_DISLOCATION

Taker order would cause the contract price to deviate from the index in the direction specified as the price dislocation direction for that contract.

EDIT_HAS_NO_EFFECT

The requested changes would not cause any modifications to the order.

ORDER_FOR_CANCELLATION_NOT_FOUND

The order ID could not be found in the account open orders.

ORDER_FOR_EDIT_NOT_FOUND

The order ID could not be found in the account open orders.

ORDER_CANNOT_HAVE_TRIGGER_PRICE

The order is not a trigger order and the edit order request contains a stop price.

POST_WOULD_EXECUTE

The order or the market is set to post-only and the order would be filled upon placement. If the market is in post-only orders cannot cross the mark price.

IOC_WOULD_ENTER_BOOK

The immediate-or-cancel order would not execute immediately.

WOULD_MATCH_SELF

The taker order would match with a maker order belonging to the same account.

VIOLATES_REDUCE_ONLY

The account or contract is set to reduce-only, the current position size is equal to zero, the position is long and the order is a reduce-only buy, or the position is short and the order is a reduce-only sell.

REJECTED_AFTER_EXECUTION

The order would be rejected after it is executed. Unused.

MARKET_IS_POST_ONLY

The market is set to post-only mode. Unused. Refer to POST_WOULD_EXECUTE.

ORDER_LIMIT_EXCEEDED

The max number of open orders and order triggers would exceed 20,000.

FIXED_LEVERAGE_TOO_HIGH

The incremental initial margin would go below the margin schedule threshold.

CLIENT_ORDER_ID_INVALID

Client order ID is not ASCII printable.

CANNOT_EDIT_TRIGGER_PRICE_OF_TRAILING_STOP

The order request attempts to edit the trigger price of a trailing stop order.

CANNOT_EDIT_LIMIT_PRICE_OF_TRAILING_STOP

The order request attempts to edit the limit price of a trailing stop order.

TRAILING_STOP_ORDER_LIMIT_EXCEEDED

The max number of trailing stop orders would exceed 30.

TRAILING_STOP_PERCENT_DEVIATION_EXCEEDS_MAX_DECIMAL_PLACES

Trailing stop percent deviation has more than 2 decimals.

TRAILING_STOP_QUOTE_DEVIATION_NOT_MULTIPLE_OF_TICK_SIZE

Trailing stop quote deviation is not a multiple of the tick size.

TRAILING_STOP_MAX_DEVIATION_TOO_LARGE

Trailing stop max deviation is above maximum allowed trailing stop deviation set at 50%.

TRAILING_STOP_MAX_DEVIATION_TOO_SMALL

Trailing stop max deviation is below minimum allowed trailing stop deviation set at 0.1%

INSUFFICIENT_HEADROOM_AROUND_CURRENT_PRICE_TO_EDIT_TRAILING_STOP

The percentage difference between the trigger price and market price is less than the minimum allowed trailing stop deviation set at 0.1%.

NO_REFERENCE_PRICE_AVAILABLE_FOR_CALCULATING_TRAILING_STOP_TRIGGER_PRICE

The trigger signal reference price is not available.

WOULD_MATCH_MASTER

The taker order submitted from a subaccount would match with a maker order from the master account.

WOULD_MATCH_SIBLING

The taker order submitted from a subaccount would match with a maker order from another subaccount of the same master.

WOULD_MATCH_SUBACCOUNT

The taker order submitted from the master account would match with a maker order from a subaccount.

ACCOUNT_NOT_FOUND

The account ID could not be found.

DUPLICATE_MARKET

The contract was repeated while checking margin for multiple orders.

POSITION_NOT_FOUND

Position UUID not found.

TOO_MANY_POSITIONS_IN_CONTRACT

The account has too many positions in the same contract.

INVALID_LEVERAGE_SETTING

The leverage setting is invalid.

WOULD_PROCESS_AFTER_SPECIFIED_TIME

The processBefore time is less than the server time.

INSUFFICIENT_CLOSING_MARGIN

A closing order failed the margin check. See INSUFFICIENT_MARGIN.

NO_ORDERS_IN_BOOK

No orders in the opposing side of the book to match with the market order.

LIMIT_PRICE_SET_AS_ABSOLUTE_AND_RELATIVE

Limit price and a limit price offset is provided for a trigger order.

LIMIT_PRICE_OFFSET_MUST_HAVE_VALUE_AND_UNIT

Limit price offset is not specified with a value and a unit.

LIMIT_PRICE_OFFSET_VALUE_INVALID

Limit price offset is not a number or is invalid.

LIMIT_PRICE_OFFSET_UNIT_INVALID

Limit price offset unit is neither a percent nor quote currency.

LIMIT_PRICE_OFFSET_QUOTE_CURRENCY_VALUE_MUST_BE_MULTIPLE_OF_TICK_SIZE

Limit price offset value in quote currency is not a multiple of the tick size.

LIMIT_PRICE_OFFSET_PERCENT_VALUE_TOO_MANY_DECIMAL_PLACES

Limit price offset percent value has more than 2 decimal places.

LIMIT_PRICE_OFFSET_TOO_HIGH

Limit price offset is above the limit price offset maximum value of 75%.

LIMIT_PRICE_OFFSET_TOO_LOW

Limit price offset is below the limit price offset minimum value of 0%.

ORDER_GROUP_NOT_SUPPORTED

Requested order group type is not supported.

ORDER_GROUP_PARENT_NOT_FOUND

The order group was not found while attempting to attach the order.

CANNOT_BE_BOTH_PARENT_AND_MEMBER_OF_ORDER_GROUP

The requested order is both the parent and member of the group.

ALREADY_AN_ORDER_GROUP_MEMBER

The requested order is already a member of the order group.

ORDER_GROUP_CANT_ATTACH

The requested order cannot be attached to the order group.

ORDER_GROUP_PARENT_NOT_OPEN

Partially filled orders cannot be attached to the order group.

ORDER_GROUP_EMPTY

The requested order group is empty.

ORDER_GROUP_TOO_MANY_ORDERS

The order group has too many orders.

ORDER_GROUP_WOULD_REDUCE_POSITION

The order group would reduce the position size.

ORDER_GROUP_CHILDREN_MUST_HAVE_OPPOSITE_DIRECTION

The child of the order group is in the same direction as the parent.

ORDER_GROUP_CHILDREN_MUST_BE_REDUCE_ONLY

The child of the order group is not reduce-only.

ORDER_GROUP_CHILDREN_WITH_LIMIT_PRICE_MUST_NOT_HAVE_NULL_SIZE

The child of the order group has no limit price specified.

MAX_DELTA_EXCEEDED

The net delta of the option portfolio after execution would exceed the max permissible net delta set at 1,000,000,000.

MARKET_RESTRICTED

The account is not allowed to trade on the contract.