The FIX Protocol is a session and application-layer communications protocol that uses a tag-value ASCII format to encode trade-related messages. It standardizes the communication workflow between buy-side firms, sell-side brokers, exchanges, and Electronic Communication Networks (ECNs) , replacing legacy telephone and proprietary terminal interactions with a deterministic, machine-readable stream of execution reports, order requests, and market data snapshots.
Glossary
FIX Protocol

What is the FIX Protocol?
The Financial Information eXchange (FIX) Protocol is a non-proprietary, open-standard messaging specification for the real-time electronic exchange of securities transactions and market data between financial institutions.
A FIX connection is established through a defined session layer that manages logon, heartbeat monitoring, and message sequence numbering to guarantee ordered, lossless delivery. The protocol's extensibility is driven by user-defined custom tags and a global committee that governs standardized message types for distinct workflows, including single-order tickets, IOI (Indication of Interest) distribution, and post-trade allocation confirmations.
Key Features of the FIX Protocol
The Financial Information eXchange (FIX) protocol is the backbone of global electronic trading, connecting buy-side institutions, sell-side brokers, and exchanges through a standardized, session-based messaging framework. These core features define its reliability and universal adoption.
Tag-Value Messaging Structure
FIX messages are composed of a sequence of tag=value pairs delimited by the SOH character (ASCII 001). Each numeric tag maps to a specific field name defined in the FIX dictionary. For example, 35=D indicates a New Order Single message, while 44=150.25 sets the limit price. This simple, non-proprietary structure ensures language-agnostic parsing and backward compatibility across protocol versions, allowing systems written in C++, Java, or Python to communicate seamlessly without complex serialization frameworks.
Session Layer Reliability
FIX operates on a dedicated session layer above TCP/IP that guarantees ordered, once-and-only-once message delivery. Each session is identified by a unique combination of SenderCompID and TargetCompID. The protocol uses sequence numbers (tag 34) on every message to detect gaps, duplicates, or replays. Heartbeat messages (tag 35=0) maintain session liveness during idle periods. If a disconnection occurs, both parties negotiate the last successfully processed sequence number to resend missed messages, ensuring zero data loss during failover.
Standardized Order State Machine
FIX defines a rigorous order lifecycle with explicit message types for each state transition. Key states include:
- New (39=0): Order acknowledged by broker
- Partially Filled (39=1): Some quantity executed
- Filled (39=2): Order fully executed
- Canceled (39=4): Order removed from book
- Rejected (39=8): Order refused with reason code
Execution reports (tag 35=8) communicate fills, partial fills, and state changes in real time, providing a complete audit trail from order inception to final settlement.
Extensible Custom Fields
The FIX protocol reserves a range of user-defined tags (5000-9999) that allow counterparties to extend the standard dictionary with proprietary data without breaking interoperability. Institutional brokers use these custom fields to transmit specialized analytics, algorithmic trading parameters, or compliance metadata alongside standard order flow. The protocol also supports custom message types via tag 35 values in the U-series range, enabling private negotiation of bespoke workflows while maintaining the core session and administrative message infrastructure.
FAST Protocol Compression
For high-frequency trading environments where bandwidth and latency are critical, FIX messages can be encoded using the FAST (FIX Adapted for STreaming) protocol. FAST applies field-level encoding templates that eliminate redundant tag transmission and apply binary compression algorithms to numeric values. A FAST template defines field operators like delta, copy, and increment that encode only the difference from a previous value or a constant. This reduces message size by over 90% compared to tag-value text encoding, making FIX viable for market data feeds exceeding millions of messages per second.
FIX Orchestra Machine-Readable Rules
FIX Orchestra provides a machine-readable XML schema that formally describes a counterparty's FIX implementation, including supported messages, fields, enumerations, and workflow scenarios. Instead of exchanging static PDF specification documents, firms can publish an Orchestra file that automated onboarding tools consume to generate code stubs, validate messages, and configure session parameters. This eliminates manual integration errors and reduces the time to onboard a new trading counterparty from weeks to hours by standardizing the representation of implementation rules.
FIX Protocol vs. Proprietary APIs
A technical comparison of the FIX protocol against broker-specific proprietary APIs for electronic trading connectivity.
| Feature | FIX Protocol | Proprietary API |
|---|---|---|
Standardization | Open, vendor-neutral messaging standard (FIX Trading Community) | Broker-specific, custom implementation |
Integration Effort | Single integration connects to multiple counterparties | Unique integration required per broker |
Message Format | Tag-value pairs (e.g., 35=D, 44=100.50) | Varies: JSON, XML, Protocol Buffers, custom binary |
Latency Overhead | Moderate; session-level encryption and sequence numbering add processing | Low to ultra-low; optimized for specific infrastructure |
Feature Velocity | Slow; governed by committee-driven version releases (FIX 5.0 SP2, FIX Latest) | Fast; broker deploys new order types and fields on demand |
Certification Process | Formal, multi-week UAT and conformance testing via third-party networks | Broker-defined; ranges from automated sandbox to manual QA |
Pre-Trade Risk Controls | Limited native support; typically layered via OMS/EMS | Often includes native, broker-enforced credit and fat-finger checks |
Market Data Normalization | Standardized market data messages (e.g., MarketDataSnapshotFullRefresh) | Proprietary feed handlers required per venue; no common schema |
Frequently Asked Questions
Clear, technical answers to the most common questions about the Financial Information eXchange protocol, the backbone of electronic trading connectivity.
The Financial Information eXchange (FIX) Protocol is a non-proprietary, open-standard messaging specification designed for the real-time electronic exchange of securities transactions. It operates as a session layer protocol over TCP/IP, using a tag-value encoding format where each data field is represented by an integer tag, an equals sign, and a value, delimited by the SOH (Start of Header, ASCII 0x01) character. A FIX session begins with a Logon (MsgType A) message, proceeds through sequenced message exchange using MsgSeqNum (tag 34) for gap detection and recovery, and terminates with a Logout (MsgType 5). The protocol defines strict administrative messages like Heartbeat (MsgType 0), Test Request (MsgType 1), and Resend Request (MsgType 2) to maintain session integrity. Application-level messages such as NewOrderSingle (MsgType D), ExecutionReport (MsgType 8), and MarketDataRequest (MsgType V) carry the business payload. FIX engines on both sides validate message structure, enforce sequence number ordering, and manage message persistence to guarantee reliable delivery, making it the definitive standard connecting buy-side institutions, sell-side brokers, exchanges, and clearing houses globally.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Explore the core concepts, message types, and infrastructure components that define the Financial Information eXchange protocol ecosystem.
FIX Session Layer
The transport-level connection between two counterparties that manages message delivery, sequencing, and recovery. A FIX session is identified by the combination of SenderCompID and TargetCompID.
- Logon (MsgType A): Initiates the session with heartbeat interval and sequence number negotiation
- Heartbeat (MsgType 0): Maintains session liveness during idle periods
- ResendRequest (MsgType 2): Triggers recovery of missed messages using sequence number gaps
- Logout (MsgType 5): Gracefully terminates the session
Sequence numbers are strictly monotonically increasing, ensuring no message loss or duplication.
Application Messages: Order Flow
The business-layer messages that encode the full lifecycle of a securities transaction, from order origination to fill confirmation.
- NewOrderSingle (MsgType D): The primary order entry message containing symbol, side, quantity, price, and order type
- ExecutionReport (MsgType 8): Confirms order receipt, partial fills, full fills, or cancellations with ExecType field indicating the event
- OrderCancelRequest (MsgType F): Requests cancellation of an outstanding order, referenced by OrigClOrdID
- OrderCancelReplaceRequest (MsgType G): Modifies an existing order's price or quantity while preserving priority
Each order is uniquely identified by the client-assigned ClOrdID, which persists across all subsequent execution reports.
Market Data Messages
Real-time streaming messages that disseminate quote and trade information from exchanges to market participants.
- MarketDataSnapshotFullRefresh (MsgType W): Provides a complete image of the order book at a given depth level
- MarketDataIncrementalRefresh (MsgType X): Streams delta updates for bid/ask changes and trades, minimizing bandwidth
- MarketDataRequest (MsgType V): Subscribes to specific instruments and data types with MDEntryType specifying bid, offer, or trade
Incremental refreshes use MDUpdateAction to indicate whether an entry is new, changed, or deleted, enabling efficient order book reconstruction.
FIX Engine Architecture
A FIX engine is the software component that serializes, transmits, and deserializes FIX messages, abstracting the protocol complexity from trading applications.
- Message Store: Persists outbound and inbound messages to disk for guaranteed delivery and recovery
- Sequence Number Management: Tracks expected inbound and outbound sequence numbers, triggering resend requests on gaps
- Session State Machine: Manages transitions between disconnected, connected, logged-on, and recovery states
- Validation Layer: Enforces message schema compliance, required field presence, and data type constraints before transmission
High-performance engines process millions of messages per second using zero-copy parsing and kernel bypass networking.
FIX Protocol Versions
The protocol has evolved through multiple versions, with FIX 4.2, FIX 4.4, and FIX 5.0 SP2 being the most widely deployed in production environments.
- FIX 4.2: Introduced support for advanced order types and allocations; remains the baseline for many equity markets
- FIX 4.4: Added support for algorithmic trading parameters, strategy tags, and enhanced post-trade allocation models
- FIX 5.0 SP2: Modularized the specification into transport and application layers; introduced FIXT 1.1 session layer for transport independence
- FIX Orchestra: Machine-readable specification format enabling automated code generation and schema validation
Backward compatibility is maintained through version negotiation during the Logon exchange.
FIX Tag-Value Encoding
Messages are encoded as a sequence of tag=value pairs delimited by the SOH (Start of Header) character (ASCII 0x01). This human-readable format enables straightforward debugging while maintaining parsing efficiency.
- Tag 35 (MsgType): Identifies the message type and determines the expected body structure
- Tag 55 (Symbol): The ticker symbol of the instrument being traded
- Tag 54 (Side): Indicates buy (1) or sell (2)
- Tag 38 (OrderQty): The quantity of shares or contracts
- Tag 44 (Price): The limit price for the order
Body length is specified in Tag 9 (BodyLength) to enable efficient message framing without scanning for delimiters.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us