Skip to main content

New Order

Submit new orders as New Order Single with MsgType (35) set to D.

Identity Mapping

Key Field Rules

  • Account (1) is your Paxos customer_id and ClientID (109) is your Paxos profile_id.
  • Price (44) must be omitted for Market (1) and Stop Market (3) orders.
  • CashOrderQty (152) is required for market buy orders and represents the fiat notional to convert.
  • OrderQty (38) is required for market sell, stop market sell, stop limit sell, and all limit orders.
  • With Standard routing (OrderRoutingMode (8000) = 1), send only one of OrderQty (38) or CashOrderQty (152). With Best Execution routing (OrderRoutingMode (8000) = 2), a market order may include both — see Quantity Fields for Best Execution Market Orders.
  • StopPx (99) is required for stop market and stop limit orders. Currently only sell stop loss orders are supported.
  • HandlInst (21) must be set to 1.
  • Symbol (55) must be the currency pair, and SecurityType (167) must be FOR.

Supported Order Types

We support the following OrdType (40) values: Post-only orders are Limit (2) orders with ExecInst (18) set to 6 (Post-Only).

Time In Force

Time in force is set with TimeInForce (59): For GTT (6), include ExpireTime (126) in YYYYMMDD-HH:MM:SS or YYYYMMDD-HH:MM:SS.sss (milliseconds are ignored).

Tick Size Requirements

Price (44) must align to market tick sizes for limit and stop limit orders:

Order Routing Mode

Use OrderRoutingMode (8000) to choose the routing strategy for the new order.
OrderRoutingMode enables Paxos Best Execution routing on eligible accounts. To confirm availability for your integration, as well as learn more about the Best Execution mode, please contact your Paxos account representative.
If an invalid value is provided for OrderRoutingMode (8000), the field is ignored and the default routing mode configured for the customer is used.

Quantity Fields for Best Execution Market Orders

With Best Execution routing (OrderRoutingMode (8000) = 2), a market order may include both CashOrderQty (152) and OrderQty (38). One field is required for the side and the other is optional: With Standard routing (OrderRoutingMode (8000) = 1), send only the field required for the side: CashOrderQty (152) for a market buy or OrderQty (38) for a market sell.

Limit Order Taker Price Protection

Limit orders will be rejected if the order is taker and the Price (44) deviates by 15% or more from the midpoint.
For FIX/GFIX inbound orders, this rejection is returned as an Execution Report with:
  • Text (58) = InvalidPriceForTakerOrder
  • OrdRejReason (103) = 0 (Broker option)
See Execution Report - Order Reject for the full response format.

Message Format – Outgoing Message

Standard FIX Fields (All Order Types)

Standard FIX Trailer

Common Order Fields (All Order Types)

Set OrdType (40) to 1 (Market). Price (44) must be omitted. See Time In Force and Order Limitations.RequiredConditionalWith Best Execution routing (OrderRoutingMode (8000) = 2), a market order may send both CashOrderQty (152) and OrderQty (38). See Quantity Fields for Best Execution Market Orders.Optional