FIX Antenna ®.NET Core allows developers to work with the latest Microsoft framework .NET Standard 2.0 (formal specification of API), which is supported by .NET framework 4.8, .NET Core 2.0 and higher, and .NET 6.0). It helps strategically position a client's applications for the future. The FIX Antenna .NET Core engine is cross-platform, compatible with Windows and Linux platforms. The open source  Community Edition is delivered via NuGet packages and GitHub repository.

FIX Antenna ®. NET Core benefits include the ability to generate structured messages and manipulate a message's content via an API. It is specifically designed to improve the productivity of .NET programmers, even if they are novice FIX users.

FIX Antenna .NET Core engine is cross-platform and is delivered as packages for Windows and Linux platforms. These packages are provided with samples to ensure an easy start and a fast learning curve for users. Furthermore, FIX Antenna .NET Core comes with a rich UI for monitoring session statuses and parameters in real time on desktop app or web browser.

FIX Antenna ® .NET Core supports FIX 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.0 SP1, 5.0 SP2, FIXLatest. Our products come with 24x7 support provided worldwide and availability of "on-demand" software escrow

  Performance50,000+ messages/secon a single CPU30,000 messages/sec across 200 sessions
  Monitoring Real time monitoring of session statuses & parameters Rich User Interface Supports a variety of requirements
  Support 24 x 7 Service Worldwide coverage On demand software escrow

Features

Feature Description
High performance / low latency FIX Antenna .NET Core adds about 19.5 microseconds latency (with 99 percentile) in the Round-Trip scenario.
See details on the Benchmarks page.
Supports standard FIX
  • Supports FIX 4.0 - FIX 4.4, FIX 5.0, FIX 5.0 SP1, FIX 5.0 SP2, FIXLatest
  • Supports all FIX message types (pre-trade, trade, post-trade, market data, etc.)
  • Customizable FIX protocol with user-defined tags and message types
  • Sequence numbers management
  • Supports high-precision timestamps in accordance with MiFID II requirements
  • Supports of the popular FIX dictionary format used by QuickFIX
  • Smart resend request handling
  • Message validation
    • Well formedness validation
    • Validation of allowed message fields
    • Validation of required message fields
    • Validation of message fields order
    • Validation of duplicated message fields
    • Validation of field values according to defined data types
    • Validation of repeating group fields
    • Conditionally required fields
  • Multiple session management
    • Supports up to several hundred concurrent sessions on a single instance on recommended hardware
    • Each session can be configured separately. FIX Dialect can be configured for a session
  • Standard FIX routing based on DeliverTo and OnBehalfOf fields
  • Resend requests according to FIX Standard
  • Session Qualifier support for identifying different sessions with the same SenderCompId and TargetCompId
Delivery modes
  • Later delivery mode allows unsent messages to be stored in a 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
  • Reject mode allows handling messages that cannot be delivered
Highly customizable FIX session level
  • Different modes of handling sequence number during logon and reconnect
    • Disconnect on disconnect session if Logon answer contains other HeartBtInt(108)
    • Handling of counterparties that ignores sequence reset and continues to send old sequence numbers
    • Support sessions with seq num lower than expected
  • Logon Customization
  • Sequence numbers padding
  • Possibility to force sequence number reset on Logon
  • Ability to create custom handler for any type of message
  • Ability to add custom pre-processing of messages 
  • Ability to add custom post-processing of system-level messages before they are sent to a counterparty
Reliability and redundancy
  • Switch to backup connection
  • Round-robin reconnect option to multiple backup destinations for an initiator session
  • Auto-reconnect session in case of connection drops
  • FIX message throttling
    • Drop session with high load.
    • Limit/Pause outgoing message flow
  • Resend request limitations
    • Reject resend requests with large block size to be re-sent
    • Limit size of messages for resending
    • Ignore resend request duplicates in order to prevent infinite resend loop
Security
  • Standard FIX authorization utilizing username and password fields in FIX Logon message
  • Strategies for accepting incoming sessions:
    • Auto-accept all incoming sessions
    • Auto-decline non-pre-configured sessions
  • IP range-based allow lists for incoming connections
  • CME Secure Logon support
  • SSL/TLS support
  • Listen port per session
  • Encrypting user's credentials and hide passwords in the log
Performance tuning
  • Ability to enable or disable Nagle's algorithm to minimize latency or maximize throughput
  • Ability to use different levels of message validation to balance between reasonable correctness and good performance.
  • Ability to choose sending mode.
    • Synchronous sending mode for lower latency,
    • Asynchronous sending mode for better throughput
  • Ability to configure CPU affinity for binding a thread to a certain CPU
  • Setting send and receive socket buffer sizes for TCP transport options
  • Ability to use transient sessions that do not use any persistence. This significantly increases performance while forgoing recovery. Applicable when recovery is not required (e.g. for market data) or when persistence is done by an application that uses the FIX Antenna engine
  • Work with the FIX message as it has a flat structure which gives the highest performance
  • Efficient getters and setters for working with values as with primitive type to reduce garbage production
  • Supports memory-mapped file storage, which is faster than storage based on RandomAccessFile in most cases. 
Configuration
  • Supports configuration in properties file format
  • Ability to configure default behavior and custom sessions in the same configuration file
  • Configuration of session parameters from .XML
Monitoring and administration
  • Proprietary built-in remote monitoring and administrative interface for sessions monitoring and management
  • Public API to override and/or extend existing administrative instructions
  • Rich monitoring and administration GUI (FIXICC) out of the box
  • Logging to plaintext files
  • Logging to the TCP socket via NLog
Message composition API
  • 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
  • The ability of internal pooling to reduce memory allocations
  • FIX flat message model - generic model to work with the abstract FIXMessage class via fields and groups getters and setters
  • API for working with repeating groups.
  • API for building messages from existing templates with specified type, structure, prefilled header and trailer.
Integration
  • The Engine brings compatibility with the latest version of .NET Framework - 4.8.
  • The Engine was tested under .NET Core 3.1 and under .NET Framework 4.8 and is intended to be used under these platforms.
Storage
  • Supported Storage Types:
    • Null storage
    • In-memory storage
    • Persistent storage
    • Persistent Memory Mapped based storage
  • API for storage management, like getting a message by seq. num, get creation time, etc.
Packaging

The package includes:

  • Assemblies (.dll) both for Windows and Linux
  • Sample EchoServer
  • Sample Connect to gateway
  • User's guide
  • API Reference Manual 

Architecture

FIX Antenna .NET Core follows FIX Antenna Java architectural principles proved by long-term usage.

The transport layer of FIX Antenna .NET Core is similar to FIX Antenna Java and uses message queues. Using queues is helpful when working in high-load scenarios.

The FIX session layer uses a Chain of Responsibility pattern. The system and user defined handler chains are used for tasks such as message validation, sequence number handling, etc. Custom logic could be incorporated into different places in this chain; it enables greater flexibility and helps adapt an application's behavior to different requirements.

If a session is persistent messages are stored after processing. Incoming messages are stored when the normal processing by all handlers and the user application is finished, while outgoing messages are stored right after they are sent to counterparties._Solutions _FIX Engines _FIX Antenna .NET Core

APIs

FIX Antenna .NET Core provides the following main APIs for trading applications to:

  • Create multiple FIX sessions (initiators and acceptors)
  • Open and close FIX sessions
  • Schedule start and stop operations for FIX sessions
  • Form FIX messages
  • Validate FIX messages
  • Send and receive FIX messages
  • Set sequence numbers
  • Conveniently handle repeating groups in FIX messages

Downloads

Operating System .NET Framework CPU Architecture Download Link
Windows NET framework 4.8, .NET Core 2.0 and higher, .NET 6.0 x32/x64 Download
Linux .NET Core 2.0 and higher, .NET 6.0 x32/x64 Download

Samples

Name Description
SimpleAdminClient Demonstrates how to connect to an administrative session and communicate with it using the implementation of administrative messages.
SimpleServer Demonstrates how to implement a FIX server with simple IP filtering of incoming sessions.
EchoServer Demonstrates a very simple server that sends all received messages back to a client.
ConnectToGateway Demonstrates a very simple client that connects to the server and accepts all received messages.
runClientRoundTripLatencyBM and runServerRoundTripLatencyBM Measure Round trip time benchmarks.

Price

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

view licensing models

·