Skip to main content
The NEW ORDER SINGLE(D) is used by the client to submit new orders to the exchange.

Arguments

TagNameTypeRequiredComments
11ClOrdIDStringYesUnique identifier for the order, assigned by the client, max 64 grapheme clusters. This tag operates on grapheme clusters. A grapheme cluster is a user-perceived character, which can be represented by several unicode codepoints. Please refer to Unicode specification for more details about the grapheme clusters
54SidecharYesSide of order.

Valid values:

  • 1 = Buy,
  • 2 = Sell
38OrderQtyQtyYesOrder quantity. Depends on QtyType. When QtyType is set to Units, the OrderQty is specified in USD for perpetual and inverse futures, in the underlying base currency coin for linear futures, or in the amount of cryptocurrency contracts for options. The system will automatically convert Units to Contracts when the order is placed Please, note that Quantity is by default defined in Contract units corresponding to the ContractMultiplier in SecurityList
44PricePriceYesPrice
55SymbolStringYesInstrument symbol, e.g., BTC-1JAN16. See instrument naming convention for more details
62ValidUntilTimeUTCTimestampNoIndicates expiration time of indication message, in UTC
18ExecInstMultipleCharValueNoCurrently is used to mark POST ONLY orders and REDUCE ONLY orders.

POST ONLY valid values:

  • 6 = “Participate don’t initiate”
  • A = “No cross” (only together with 6, “6A” — REJECT POST ONLY when the order is put to order the book unmodified or the request is rejected and order is cancelled),
REDUCE ONLY valid values:
  • E = “Do not increase - DNI”
40OrdTypeCharNoOrder type.

Valid values:

  • 1 = Market,
  • 2 = Limit (by default),
  • K = Market With Left Over as Limit (market limit),
  • 4 = Stop limit (trailing stop),
  • J = Market If Touched (stop limit, if StopPx(99) is set),
  • S = Stop Limit on Bid or Offer (stop market, if StopPx(99) is set)

59TimeInForcecharNoSpecifies how long the order remains in effect. Absence of this field is interpreted as “Good ‘Til Cancelled”.

Valid values:

  • 0 = Good ‘Til Day(GTD),
  • 1 = Good ‘Til Cancelled(GTC),
  • 3 = Immediate or Cancel(IOC),
  • 4 = Fill or Kill(FOK)

99StopPxPriceNoPrice per unit of quantity
1138DisplayQtyQtyNoThe (max) quantity to be displayed in the orderbook. Setting the DisplayQty (1138) = 0 is interpreted as no hidden volume, i.e. the full order quantity is displayed to the market. Omitting the field gives the same result.
1088RefreshQtyQtyNoDefines the quantity used to refresh DisplayQty.
854QtyTypeIntNoType of quantity. Valid values:

  • 0 = Units,
  • 1 = Contracts

Default is Contracts.

When QtyType is Units, then for perpetual and inverse futures the OrderQty is in USD units, and for linear futures it is the underlying base currency coin, and for options it is the amount of corresponding cryptocurrency contracts, e.g., BTC or ETH. The Units will be recalculated into the system’s Contracts on server automatically when the order is placed.

211PegOffsetValueFloatNoAmount (signed) added to the peg for a pegged order in the context of the PegOffsetType(836)
1094PegPriceTypeIntNoNeeds to be set for Trailing Stop order. Valid value:

  • 8 = Trailing Stop Peg

100010DeribitLabelStringNoA custom label for your order, max 64 grapheme clusters. Can be used by Order Cancel Request(F) to amend the order later on
100012DeribitAdvOrderTypecharNoUsed to create advanced order for options. If it is present:
  • 0 = Implied Volatility Order (price defines fixed implied volatility in %),
  • 1 = USD Order (price defines fixed USD price of the option, advanced USD orders are not supported for linear options)
9008DeribitMMProtectionBooleanNoOrder Market Maker Protection (MMP) flag, default is N. Important: manual admin action is necessary to activate Market Maker Protection (MMP) for an account
5127DeribitConditionTriggerMethodIntNoSelects condition trigger method for algo orders. Valid values:

  • 1 = mark price,
  • 2 = trade,
  • 3 = index

Response

Upon receiving a new order, the exchange responds with the Execution Report(8) message communicating whether the order was accepted or rejected.
TagNameTypeRequiredComments
527SecondaryExecIDStringNoID of the last order change
37OrderIdStringNoUnique identifier of the order, assigned by the Deribit
11ClOrdIDStringNoDeribit replaces this field with the own value assigned by the server (it is not the ClOrdID(11) from New Order Single(D))
41OrigClOrdIdStringNoThe original value assigned by the client in the New Order Single(D) message
39OrdStatuscharYesFor trade – order status.

Possible values:

  • 0 = New,
  • 1 = Partially filled,
  • 2 = Filled,
  • 4 = Cancelled
  • 8 = Rejected
54SidecharYesSide of order.

Possible values:

  • 1 = Buy,
  • 2 = Sell
60TransactTimeUTCTimestampYesTimestamp when the transaction represented by this Execution Report(8) message occurred. Fix timestamp
12CommissionfloatNoDeprecated. Always 0
151LeavesQtyQtyYesOrder quantity open for further execution (LeavesQty = OrderQty - CumQty) in Contract units corresponding to the ContractMultiplier in SecurityList
14CumQtyQtyYesTotal executed quantity or 0.0 in Contract units corresponding to the ContractMultiplier in SecurityList
38OrderQtyQtyYesOrder quantity in Contract units corresponding to the ContractMultiplier in SecurityList
40OrdTypeCharNoOrder type.

Valid values:

  • 1 = Market,
  • 2 = Limit,
  • K = Market With Left Over as Limit (market limit),
  • 4 = Stop limit (trailing stop),
  • J = Market If Touched (stop limit, if StopPx(99) is set),
  • S = Stop Limit on Bid or Offer (stop market, if StopPx(99) is set)

44PricePriceYesPrice
150ExecTypecharNoDescribes the specific Execution Report.

Possible values:

  • I = equal to (Order Status),
  • 7 = (Stopped) for triggered stop orders,
  • 8 = Rejected,
  • 3 = (Done for day) for GTD orders,
  • C = (Expired) for the orders expired at delivery

18ExecInstMultipleValueStringNoCurrently is used to mark POST ONLY orders and REDUCE ONLY orders.

POST ONLY Possible values:

  • 6 = “Participate don’t initiate”
  • A = “No cross” (only together with 6, “6A” — REJECT POST ONLY when the order is put to the order book unmodified or the request is rejected and order is cancelled),
REDUCE ONLY possible values:
  • E = ” Do not increase - DNI”
103OrdRejReasonintYesPossible reasons:
  • 0 = no reject (the request has been accepted)
  • 1 = Unknown symbol
  • 2 = Exchange closed
  • 3 = Order exceeds limit
  • 4 = Too late to enter
  • 5 = Unknown order
  • 6 = Duplicate Order (e.g. dupe ClOrdID(11))
  • 7 = Duplicate of a verbally communicated order
  • 8 = Stale order
  • 9 = Trade along required
  • 10 = Invalid Investor ID
  • 11 = Unsupported order characteristic
  • 12 = Surveillance Option
  • 13 = Incorrect quantity
  • 14 = Incorrect allocated quantity
  • 15 = Unknown account(s)
  • 16 = Price exceeds current price band
  • 18 = Invalid price increment
  • 99 = Other

Note: Values 3, 4, and 5 will be used when rejecting an order due to pre-allocation information errors.

58TextStringNoFree format text string, usually exceptions
207SecurityExchangeStringNo”Deribit”
55SymbolStringYesInstrument symbol
99StopPxPriceNoPrice per unit of quantity
854QtyTypeintNoType of quantity specified in a quantity. Currently only 1 - Contracts
211PegOffsetValueFloatNoAmount (signed) added to the peg for a pegged order in the context of the PegOffsetType(836)
1094PegPriceTypeIntNoNeeds to be set for Trailing Stop order. Valid value:

  • 8 = Trailing Stop Peg

231ContractMultiplierfloatNoSpecifies a multiply factor to convert from contracts to total units
6AvgPxfloatNoAverage execution price or 0.0 if not executed yet or rejected
1138DisplayQtyQtyNoThe (max) quantity to be displayed in the orderbook.
9008DeribitMMProtectionBooleanNoOrder Market Maker Protection (MMP) flag. Important: manual admin action is necessary to activate Market Maker Protection (MMP) for an account
100012DeribitAdvOrderTypeintNoIf it is present then it denotes advanced order for options.

Possible values:

  • 0 = Implied Volatility Order (price defines fixed implied volatility in %),
  • 1 = USD Order (price defines fixed USD price of the option, advanced USD orders are not supported for linear options)

1188VolatilityfloatNoVolatility for Implied Volatility Orders (options orders with fixed volatility)
839PeggedPricePriceNoValue of fixed USD price for USD Orders (options orders with fixed USD price)
31LastPxPriceNoPrice of this last fill
32LastQtyQtyNoQuantity bought/sold on this last fill
100010DeribitLabelStringNoA custom label for your order, max 64 grapheme clusters. Can be used by Order Cancel Request(F) to amend the order later on
9019MMPGroupStringNoA custom tag of MMP Group. This tag is present only for orders from Mass Quote.
9034IsLiquidationBooleanNoA custom tag, 9034=Y if the order was automatically created during liquidation.
9035IsRebalanceBooleanNoA custom tag, 9035=Y if the order was automatically created during cross-collateral balance restoration.
9036IsRiskReducingBooleanNoA custom tag, 9036=Y if the order is marked by the platform as a risk reducing order (can apply only to orders placed by PM users).
302QuoteSetIDStringNoidentifier for the Quote Set. This tag is present only for orders from Mass Quote.
117QuoteIDStringNoidentifier for the Quote. This tag is present only for orders from Mass Quote.
299QuoteEntryIDStringNoidentifier for the Quote Entry. This tag is present only for orders from Mass Quote.
Group FillsGrp
1362NoFillsNumInGroupNoNumber of fill entries for the order
=>1363FillExecIDStringNoUnique identifier of execution, concatenated via ’#’ symbol and trade sequence number, e.g., BTC-28SEP18#38
=>1364FillPxPriceNoPrice of this partial fill
=>1365FillQtyQtyNoQuantity bought/sold on this partial fill
=>1443FillLiquidityIndintNoIndicator to identify whether this fill was a result of a liquidity provider providing or liquidity taker taking the liquidity.

Possible values:

  • 1 = Added Liquidity,
  • 2 = Removed Liquidity