Implementation Details


What is OpenFAST?

OpenFAST is a 100% Java implementation of the FAST Protocol (FIX Adapted for STreaming). The FAST protocol is used to optimize communications in the electronic exchange of financial data. OpenFAST is flexible and extensible through high volume - low latency transmissions. The FAST protocol uses a data compression algorithm to decrease the size of data by two processes.
  • First Process: Field Encoding - Data that is simliar or redundant is removed.
  • Second Process: Transfer Encoding - Serialize remaining data through binary encoding.
The FAST protocol also uses templates to enhance data compression and decompression. The only specification among the templates is that the creator and end-user must agree upon a template before data can be streamed. Any template guide may be used, such as XML or a basic text file. To learn more about OpenFAST and the FAST protocol, visit the FAQ.


  • Provide a complete implementation of the current FAST Specification
  • Create an implementation that follows Object Oriented Design principles
  • Extensible so that new types, codecs, and operators can be created easily


  • 100% Java Implementation of the FAST protocol - using the current 1.x.1 specification.
  • Using a protocol that is market proven by: Archipelago Exchange, London Stock Exchange, CME, and others.
  • Easily creatable data template using existing specifications such as XML or develop your own.
  • SCP 1.0 implementation
  • SCP 1.1 implementation
  • Licensed under the Mozilla Public License


OpenFAST uses The YourKit Java Profiler for Performance Tuning

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.