FIX Engine — FIX Antenna C++

FIX Antenna® C++ is specifically designed to deliver high performance. It can deliver over 60,000 messages per second on a single CPU and has been benchmarked at 30,000 messages per second across 200 sessions. This level of performance means it is an ideal solution for exchanges, sell sides and program trading operations. FIX Antenna C++ FIX engine is currently deployed in some of the most demanding environments in the world.

FIX Antenna C++ FIX engine is not purely a performance engine. It has a rich feature set to support the variety of requirements that a FIX engine must fulfill. It supports FIX 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2 and FAST. Furthermore, it comes with a rich UI for monitoring session statuses and parameters in real time.

All libraries/servers are pre-configured for and certified with multiple exchanges, including CME, ICE, INET and many others.

Our products come with a 24x7 support provided worldwide and availability of "on demand" software escrow.

Learn also about our FIX connectivity solution based on FIX application server FIXEdge.

Feature Description
High throughput / low latency

The highest performing FIX engine in existence.

Delivers over 60,000 messages per second.

Benchmarked at 30,000 messages per second across 200 sessions.

Allows configuring sending/receiving prioritization for session.

See details on the  Benchmarks page.

Supports standard FIX
  • 100% FIX standard compliance:
    • FIX 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2
    • FAST 1.1
  • Supports all FIX message types (pre-trade, trade, post-trade, market data)
  • Supports high-precision timestamps in accordance with MiFID II requirements
  • Message validation (well-formedness, required and conditionally required fields, fields order, types)
  • Customizable FIX protocol with user-defined tags and message types. Create your own FIX dialect e.g. defined extra field for a message, change "required" attribute in a friendly XML format
  • Multiple session management
    • Supports up to 200 concurrent sessions on a single instance on recommended hardware. Number of concurrent sessions can be increased if more CPUs are added
    • Each session can be configured separately. FIX Dialect can be configured for session
  • Guaranteed delivery
    • Relies on the store and forward technique
    • Flat files are used for persistence to achieve maximum performance
  • Standard FIX routing based on DeliverTo and OnBehalfOf fields
Delivery modes
  • Later delivery mode allows unsent messages to be stored in queue and delivered later when connection is re-established. Recommended configuration for a session, where execution reports are to be delivered e.g. session with traders
  • Rejecting mode allows messages, which cannot be sent during some reasonable time (customizable), to be rejected. Recommended configuration for a session, where orders are to be delivered e.g. session with exchanges
Highly customizable FIX session level
  • Different modes of handling sequence number during logon and reconnect
  • Intraday logout tolerance
  • Custom logon message
  • Force sequence number reset on logon
Reliability and redundancy
  • Ability to switch to back-up connection manually or automatically
  • Ability to fully restore its state after failure
  • Designed to work as a part of highly available solutions in a cluster
  • Standard FIX authorization utilizing username and password fields in FIX Logon message
  • FIX encryption to work in non-private networks: DES and PGP-DES-MD5 schemes
  • Auto-accept incoming sessions (to simplify development and testing) and auto-decline non pre-configured sessions
  • Protection from abnormal user behavior
Performance tuning
  • Ability to enable or disable Nagle's algorithm to minimize latency or maximize throughput
  • Ability to configure (or turn off) the number of messages to be joined in a bunch before sending
  • Ability to dedicate threads for session for sending and receiving data, to minimize overhead on context switching
  • Ability to configure CPU affinity to enable the binding and unbinding a thread to a CPU or a range of CPUs, so that the thread will execute only on the designated CPUs rather than any CPU
  • Ability to use transient sessions, which do not use any persistence. This significantly increases performance giving up recovery. Applicable when recovery is not required (e.g. for market data) or when persistence is done by the application, which uses the FIX Antenna engine
Monitoring and administration
  • Built-in remote monitoring and administrative interface for sessions monitoring and management
  • Utilizing FIX session and the same FIX listen port for administrative session
  • Friendly XML-based DSL for administrative instructions: easy to read, easy to extend
  • Public API to override and/or extend existing administrative instructions
  • Rich monitoring and administration GUI out of the box
Message composition API
  • Provides the following functionality:
    • Creating a message singleton by FIX protocol version and message type
    • Creating a message from a raw FIX string (parse)
    • Serializing a FIX object message to raw FIX string
    • Adding, removing, modifying FIX fields and repeating groups
    • Validating message
  • FIX flat message model - generic model to work with the abstract FIXMessage class via fields and groups getters and setters, which gives the highest performance
  • FIX object model - each FIX message type is a class with FIX fields as members, using intelligence to make working with FIX business object more pleasant
  • Is supplied as a dynamic library (.dll) for Windows or a shared object dynamic library(.so) for Linux

The package includes:

FIX engine is built using real time design patterns proven over 10 years of practice.

The transport layer is implemented based on Boost.AsioMyricom DBL. The design of FIX Antenna C++ allows supporting various modes to maximize high throughput, to achieve low latency, or to operate in a custom mode with balanced throughput and latency. The internal design allows also to control a number of threads by fixing this number in case of multiple FIX sessions to share time between them or by dedicating threads for individual FIX sessions (2 threads per session).

Access to low level parameters is provided to tune TCP/IP performance (Nagel's algorithm), choose the type of storage for the state recovery, collect run time statistics, measure time taken by a particular operation, as well as turn on and turn off a particular feature, and many others.

FIX Antenna C++ is a full implementation of FIX protocol. It provides the following main APIs for trading applications to:

  • Create multiple FIX sessions (initiators and acceptors)
  • Open and close FIX session
  • Form FIX and FIXML message
  • Parse FIX and FIXML message
  • Validate FIX message
  • Send and receive FIX messages
  • Set sequence numbers
  • Encrypt FIX messages

See the full list of FIX Antenna C++ APIs.

FIX Antenna C++ is tested on a wide variety of compilers and platforms. The binary package is available right away for the platforms listed below:

Operating System Compiler 32-bit 64-bit

MS Visual C++ 2010

+ +

MS Visual C++ 2012

+ +

MS Visual C++ 2013

+ +

MS Visual C++ 2015

- +

MS Visual C++ 2017

- +
Linux RHEL/CentOS 6 GCC 4.4.x, 5.2.x - +
Linux RHEL/CentOS 7 GCC 4.8.x, 4.9.x - +
Linux Ubuntu 16.04 GCC 6.1 - +

If you cannot find your platform in the table, please contact for more information.

The same codebase (except the low level platform dependent code) is compiled and tested on all platforms!

Operating System Download Link
Windows Download
Linux Download

We offer cost effective licensing models. They are based on application process concurrency limits, level of support (business hours only, 24x5/7), etc. Also Site licenses, OEM licensing models, as well as discounts based on number of purchased licenses are available. Development, test and back-up licenses are licensed separately. Cost of such licenses is 50% from listed price of production license.