35=DNew Order Single (35=D)
The client sends NewOrderSingle (35=D) to the server over TLS/TCP. This is not an HTTP request.
Place a new trade order on the order-entry session (56=BITGO). Order types and business
validation match Prime REST order placement — including Market, Limit, TWAP, SteadyPace, and
Stop. See Place Order for the full
REST order catalog; the same order types are supported over FIX.
Both buy and sell support base- and quote-denominated sizing via OrderQty (38) and
Currency (15). The server responds with one or more ExecutionReports (35=8) on the same session.
Message fields
| Tag | Field | Required | Description | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Account | Optional | Optional. Per-message trading account. When present, validated against the session Go Account ID (from SenderCompID). Mismatch → ExecutionReport reject. |
||||||||||||||||||||||||||||||||||||
| 11 | ClOrdID | Required | Required. Client-assigned order ID (≤ 256 chars; UUID recommended). Duplicate → reject |
||||||||||||||||||||||||||||||||||||
| 55 | Symbol | Required | Required. Trading pair / product (e.g. |
||||||||||||||||||||||||||||||||||||
| 54 | Side | Required | Required. |
||||||||||||||||||||||||||||||||||||
| 38 | OrderQty | Required | Required. Order quantity in the currency of tag 15. Must be > 0. Precision follows the product Base Increment / Quote Increment for that currency.
Size orders with |
||||||||||||||||||||||||||||||||||||
| 15 | Currency (QuantityCurrency) | Required | Required. Currency of |
||||||||||||||||||||||||||||||||||||
| 40 | OrdType | Required | Required.
When TargetStrategy (847) is absent: |
||||||||||||||||||||||||||||||||||||
| 60 | TransactTime | Required | Required. Client order-creation time (UTC). Format |
||||||||||||||||||||||||||||||||||||
| 44 | Price | Optional | Conditional.
Must be > 0 when present. Precision: product QuoteDisplayPrecision. |
||||||||||||||||||||||||||||||||||||
| 99 | StopPx | Optional | Conditional. Trigger price.
Required when OrdType is Stop or Stop Limit ( |
||||||||||||||||||||||||||||||||||||
| 59 | TimeInForce | Optional | Optional.
|
||||||||||||||||||||||||||||||||||||
| 126 | ExpireTime | Optional | Conditional. Expiration timestamp (UTC).
Required when TimeInForce = GTD ( |
||||||||||||||||||||||||||||||||||||
| 168 | EffectiveTime | Optional | Optional. Scheduled activation time (UTC). Maps to REST |
||||||||||||||||||||||||||||||||||||
| 847 | TargetStrategy | Optional | Optional. Execution strategy.
|
||||||||||||||||||||||||||||||||||||
| 957 | NoStrategyParameters | Optional | Conditional. Count of strategy-parameter entries (repeating group with 958/959/960).
Required for TWAP ( |
||||||||||||||||||||||||||||||||||||
| 958 | StrategyParameterName | Optional | Conditional (inside group 957). Parameter name. TWAP (
SteadyPace (
Limit (
|
||||||||||||||||||||||||||||||||||||
| 959 | StrategyParameterType | Optional | Optional. Accepted for FIX compliance but ignored by the server on inbound orders; parameter types are inferred from the parameter name (958). Any listed value may be sent or the tag omitted entirely. |
||||||||||||||||||||||||||||||||||||
| 960 | StrategyParameterValue | Optional | Conditional (with 958). Parameter value. |
||||||||||||||||||||||||||||||||||||
| 5001 | FundingType | Optional | Optional. BitGo custom tag. |
Response messages
-
On success
Accepted or working; further ExecutionReports may follow.
-
On reject
Rejected (
150=8,39=8). CheckordRejReason(103) andtext(58).
Examples
Examples (pipe-delimited FIX):
Market buy $250 notional (funded):
8=FIX.4.4|9=156|35=D|49=0123456789abcdef0123456789abcdef|56=BITGO|34=5|52=20260415-14:30:00.123|11=ord-001|55=TBTC-TUSD*|54=1|40=1|38=250|15=TUSD*|60=20260415-14:30:00.123|10=XXX
Limit buy GTC (funded):
8=FIX.4.4|9=194|35=D|34=33|49=0123456789abcdef0123456789abcdef|52=20260511-11:57:46.396|56=BITGO|11=limit-gtc-funded-001|15=TBTC|38=0.001|40=2|44=83220.0|54=1|55=TBTC-TUSD*|59=1|60=20260511-13:00:02.000|5001=1|10=XXX
TWAP sell 60min (time-sliced):
8=FIX.4.4|9=234|35=D|49=0123456789abcdef0123456789abcdef|56=BITGO|34=8|52=20260415-15:07:16.163|11=ord-003|55=TBTC-TUSD*|54=2|38=0.002|15=TBTC|40=1|847=T|60=20260415-15:07:16.163|957=3|958=Duration|960=60|958=IsTimeSliced|960=true|958=Interval|960=5|10=XXX
Stop market sell:
8=FIX.4.4|9=166|35=D|49=0123456789abcdef0123456789abcdef|56=BITGO|34=9|52=20260415-15:10:00.000|11=ord-006|55=TBTC-TUSD*|54=2|40=3|38=0.001|15=TBTC|99=48000|60=20260415-15:10:00.000|10=XXX
SteadyPace buy:
8=FIX.4.4|9=245|35=D|49=0123456789abcdef0123456789abcdef|56=BITGO|34=12|52=20260415-15:12:00.000|11=ord-004|55=TBTC-TUSD*|54=1|38=0.001|15=TBTC|40=1|847=S|60=20260415-15:12:00.000|957=3|958=Interval|960=5|958=IntervalUnit|960=minute|958=SubOrderSize|960=0.0002|10=XXX
Margin market buy $250:
8=FIX.4.4|9=164|35=D|49=0123456789abcdef0123456789abcdef|56=BITGO|34=10|52=20260415-14:30:00.789|11=ord-008|55=TBTC-TUSD*|54=1|40=1|38=250|15=TUSD*|5001=2|60=20260415-14:30:00.789|10=XXX