Order rejection codes

The table below describes the meaning of the rejection code in the 58 Text field when the field 103 OrdRejReason has value 99.

Rejection codeDescription
INVALID_QTYInvalid order quantity. Can be that the lot size is less than the min lot size, too little lots or too many lots for the provided quantity.
INVALID_PRICEInvalid 44 Price field. Can be related to wrong format or limitations for min/max price, or incorrect accuracy.
INVALID_LOCKED_FUNDSNot enough balance.
NOT_ENOUGH_LIQUIDITYCannot match the MARKET order with the Fill-or-Kill strategy due to insufficient volume of limit orders in the orderbook.
NOT_ENOUGH_LOCKED_FUNDSNot enough balance.
NOT_FOUNDOrder was not found.
NOT_REPLACEABLECannot replace the order with provided parameters.
INVALID_CURRENCY_PAIRCurrency pair was not found.
DISABLED_CURRENCY_PAIRKnown but not tradable currency pair.
NOT_ENOUGH_BALANCENot enough balance.
EMPTY_RESERVE_AMOUNTNothing to reserve from the balance (like when buying zero amount).
SELF_MATCHING_PROTECTIONCannot match the taker order because at least one of the crossing maker orders belongs to the same party.
PRICE_LIMIT_PROTECTIONProtection from placing an order with a price deviating from the bid/ask for >= 50%.
INVALID_ORDER_TYPEUnsupported 40 OrdType.
PREV_ORDER_NOT_FOUNDCannot replace the order because the existing order is not active anymore.
PREV_ORDER_ANOTHER_SIDECannot replace the order because the existing order has a different side (SELL vs BUY).
TOO_MANY_MATCHED_ORDERTaker order was rejected because it would be executed with more than 10000 maker orders.
DUPLICATEAn order is already in the order book.
EXCHANGE_CLOSEDExchange is currently not operating.
TOO_OLDIt is too late to process the order (more than 1d old).
POST_ONLY_IMMEDIATE_MATCHOrder was placed as post-only (maker-only) but was immediately matched with some other order.
SLIPPAGE_PROTECTIONMarket order was not executed due to price protection.
Was this page helpful?