Skip to main content

Introduction

Buildmarkets’s Client FIX Gateway implements FIX 4.4 protocol specifically for order management. The system delivers institutional-grade, low-latency order routing for partners preferring direct FIX connectivity alongside (or instead of) REST API integration. “FIX 4.4 — only the tags and messages documented in this section are supported.”

FIX vs REST Comparison

FactorFIX GatewayREST API
ConnectionPersistent TCP sessionHTTPS request/response
LatencyLower (no HTTP overhead)Standard HTTP
ManagementLogon/Logout, heartbeats, sequencingBearer JWT + RSA signing
Order typesEquities, single/multi-leg optionsEquities, single/multi-leg options
Best useHigh-volume institutional flow, OMS/EMSPartner portals, robo-advisory, mobile
Dollar/fractionalSupported (Market orders only)Supported
MultilegNative via MsgType=“AB”Via /api/Order/CreateMultiLegOrder

Setup Requirements

Connectivity requires: Host & Port (assigned during onboarding); SenderCompID (your identifier, Tag 49); TargetCompID (Buildmarkets’s gateway identifier, Tag 56); Heartbeat interval (30 seconds recommended, Tag 108). Contact Buildmarkets support for FIX connectivity setup.

Outbound Messages

MessageMsgTypePurpose
New Order SingleDCreate equity or single-leg option orders
New Order MultilegABCreate multi-leg orders (spreads, condors, straddles)
Order Cancel RequestFCancel open orders
Order Status RequestHRequest current order status

Inbound Messages

MessageMsgTypePurpose
Execution Report8Order acknowledgement, fills, cancellations, rejections
Order Cancel Reject9Cancel request rejection
Business Message RejectjApplication-level message rejection

Quick Start Process

  1. Establish TCP connection to assigned host and port
  2. Send Logon message (MsgType=“A”) with EncryptMethod=0 and HeartBtInt=60
  3. Await gateway Logon acknowledgement
  4. Send orders using MsgType=“D” (single) or MsgType=“AB” (multi-leg)
  5. Process Execution Reports (MsgType=“8”) for fills, updates, and rejections
  6. At session end, send Logout (MsgType=“5”) and await acknowledgement before closing