New Order Single (35=D)

Usage

The New Order Single message is used to place a new trade with Moment. It is equivalent to submitting a trade via the POST v1/trading/order/ endpoint.

📘

Upcoming change: IntroducingBrokerID (5048) becomes required

Tag 5048 is currently required only when the TradingGroup (5047) is shared across multiple organizations. It is becoming required on every New Order Single, regardless of how many organizations the TradingGroup maps to. Clients should send tag 5048 on all orders; once the change takes effect, orders that omit it will be rejected.

Schema

Field NameTagDescriptionRequiredExample
ClOrdID11Unique identifier of the message assigned by the Client. This must be unique within the trading day. Otherwise, Moment will reject the order.Y"5f7b9c9f-7b9c-9f7b-9c9f-7b9c9f7b9c9f"
Account1The identity of the settlement account. Generally, this should be the Account ID of the end user.Y"7c0e7cd7-b2f7-42ec-aa3e-3428ce28a82b"
ExecInst18Only "G" = AON is supported. AON is whether the order must be executed in its entirety or not at all. By default, orders are not AON.N"G"
HandlInst21Only "3" = Manual order, best execution is supported. "3" stages the order for manual execution instead of auto-executing it, which is equivalent to setting "bypass_auto_execution": true on a REST order request. If the field is omitted, Moment defaults to routing based on the auto-execution rules set up by your organization. Any other value will cause the order to be rejected.N"3"
OrdType40The type of order.
"1" = Market
"2" = Limit
Other order types are not supported.
Y"2"
OrderQty38The size of the order in par value. To place an order for 1 bond with a face value of $1,000, the Client should provide an OrderQty of 1000.Y"1000"
Side54The direction of the order, from the perspective of the Client.
”1” = Buy
”2” = Sell
Y"1"
Price44The limit price of the order. Required for limit orders (40=2); must be omitted for market orders (40=1). The price should always be specified from the end-user's perspective, inclusive of all markups. Moment will automatically account for the Client's markup when routing the order to the street.C"96.25"
PriceType423The type of Price (44). Only ”1” = Price/Percentage is supported. All prices are clean prices.Y"1"
SecurityID48The ID of the security. Clients may provide a CUSIP or ISIN.Y"912797JE8"
SecurityIDSource22The source of the SecurityID (48).
"1" = CUSIP
"4" = ISIN
Y"1"
TimeInForce59The time in force.
"0" = Day
"6" = Good Till Date, which requires ExpireDate (432)
Other values are not supported. Defaults to "0" = Day if omitted.
N"0"
ExpireDate432The date the order expires, in YYYYMMDD format. Required when TimeInForce (59) is "6" = Good Till Date; ignored otherwise.C"20260115"
TradingSessionID336Deprecated. The value provided here is ignored — all orders are eligible for the full trading session, 7:30AM to 5:30PM ET. The field is kept for backwards compatibility and Moment always echoes "REG" on Execution Reports.N"REG"
TransactTime60The time the order was created (GMT).Y"20231005-11:48:33"
TradingGroup5047The trading or risk group for which the order is being placed.Y"GRP_1"
IntroducingBrokerID5048The organization ID placing the order. Required on every order, including when the TradingGroup (5047) maps to a single organization. Moment does not derive this field, so an order that omits it will be rejected.Y"01KNJDYBHGYX1CFPATNEHER2CF"
Annotation5149Optional free-form text to attach to the order. Echoed back on Execution Reports in the same tag.N"rebalance-2026Q1"
NoExternalMetadata5150Number of client-supplied metadata entries that follow, each a key (5151) and value (5152) pair stored on the order and echoed back on every Execution Report. Keys must be unique and values must not be empty, and both are limited to printable ASCII, 0x20 to 0x7E. Up to 50 entries are accepted; an order breaking any of these rules is rejected.N"2"
ExternalMetadataKey5151The name of a metadata entry. Up to 64 bytes.N"DESK"
ExternalMetadataValue5152The value of a metadata entry. Up to 256 bytes.N"EMEA3"