Skip to main content

New Order

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

Identity Mapping

Paxos API FieldFIX Tag
customer_idAccount (1)
profile_idClientID (109)

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.
  • Send only one of OrderQty (38) or CashOrderQty (152).
  • 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:
Order typeOrdType (40)
Market1
Limit2
Stop Market3
Stop Limit4
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):
TimeInForce (59)Meaning
1Good Till Cancel (GTC)
3Immediate or Cancel (IOC)
4Fill or Kill (FOK)
6Good Till Time (GTT)
Order type (OrdType 40)Allowed TimeInForce (59)Default
Limit (2)1, 3, 4, 61 (GTC)
Market (1)33 (IOC)
Stop Market (3)1, 61 (GTC)
Stop Limit (4)1, 61 (GTC)
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:
MarketTick sizeRequirement
XBT markets0.25Price (44) must be evenly divisible by 0.25
ETH markets0.05Price (44) must be evenly divisible by 0.05
All other markets0.01Price (44) must be evenly divisible by 0.01

Maximum Notional Order Size By Type

Maximum notional limits are based on OrdType (40):
Order type (OrdType 40)MarketsMax notional (USD)
Limit (2)XBTUSD, ETHUSD1,500,000
Limit (2)All other markets1,000,000
Market (1)All500,000

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)

TagFieldWhen to IncludeNotes
8BeginStringAlwaysStandard FIX header
9BodyLengthAlwaysStandard FIX header
35MsgTypeAlwaysD (New Order Single)
49SenderCompIDAlwaysStandard FIX header
56TargetCompIDAlwaysStandard FIX header
34MsgSeqNumAlwaysStandard FIX header
52SendingTimeAlwaysStandard FIX header

Standard FIX Trailer

TagFieldWhen to IncludeNotes
10CheckSumAlways

Common Order Fields (All Order Types)

TagFieldWhen to IncludeNotes
11ClOrdIDAlwaysClient order ID (a-z, A-Z, 0-9, ., -, _, $, :)
109ClientIDAlwaysPaxos profile_id
1AccountAlwaysPaxos customer_id
21HandlInstAlwaysMust be 1
55SymbolAlwaysCurrency pair
167SecurityTypeAlwaysMust be FOR
54SideAlways1 = Buy, 2 = Sell
60TransactTimeAlways
Set OrdType (40) to 1 (Market). Price (44) must be omitted. See Time In Force and Maximum Notional Order Size By Type.Required
TagFieldWhen to IncludeNotes
40OrdTypeAlways1 (Market)
Conditional
TagFieldWhen to IncludeNotes
152CashOrderQtyMarket buyFiat notional to convert
38OrderQtyMarket sellBase quantity
Optional
TagFieldWhen to IncludeNotes
59TimeInForceTo override defaultMarket orders default to 3 (IOC)
2362SelfMatchPreventionIDIf enabledRequires additional permissions
5047AllocBrokerAccountIDBrokerage clientsIdentityAccountId
50SenderSubIDBrokerage clientsIdentityId
5074FundCommissionOptionBrokerage clients