Open Markets Initiative

Democratizing
access to modern electronic markets.

Protocols are normalized to generic representations, then compiled into Wireshark dissectors, C, C++, C#, and Java. One model, every venue, every language, every version. Deterministic.

  • 39

    Financial organizations

    Nasdaq, NYSE, CME, CBOE, LSE, HKEX and more

  • 104

    Wire protocols documented

    Market data, order entry, encoding formats

  • 5

    Generated output targets

    Lua · C · C++ · C# · Java — all source-generated

  • MIT

    Open source license

    Free to use, modify, and distribute

Directory

The catalog

A curated index of public protocol specifications, sample data, and reference material. These are collected from publicly available sources and preserved so the historical record survives even when exchanges retire or rename their feeds.

View full directory

Principles

Philosophy

OMI is market-neutral. We do not take sides between exchanges, brokers, trading firms, or technology providers. We do hold positions on two things:

01Transparency

The record should survive.

Public protocol specifications and test data should remain public and discoverable, even after a feed is retired.

02Best practices

Code quality is non-negotiable.

Source code in the OMI ecosystem follows automated builds, regression testing, clean code, and SOLID principles.

Technology · Scaled Sources

The compiler

The diagram below is a generic binary data model — an independent intermediate representation for binary protocols. Like any good compiler abstraction, it operates on an entire class of protocols at once, with no dependency between inputs and outputs. That independence removes the ceiling of a conventional generator: N input languages times M output targets — a full M × N, and the reason this is a third-generation code generator.

Powered byScaled SourcesGeneric independent intermediate representationInput-specific drivers normalize venue specifications into a generic binary data model; common operations then drive output-specific generators for each target language.FRONT ENDBACK ENDGeneric BinaryData ModelCommonOperationsInput SpecificDriver1Input SpecificDriver2Input SpecificDriver3Input SpecificDriverNOutput SpecificGenerator1Output SpecificGenerator2Output SpecificGenerator3Output SpecificGeneratorM

Any input

Read and edit any binary specification in one representation — from ASN.1 and SBE to ITCH and beyond.

Any output

Represent any protocol, storage medium, or processing architecture — FPGA, Lua, C Wireshark dissectors, pcap to Parquet.

Common tooling

BPath and programmatic binary integration navigate, query, and manipulate any binary format — the foundation for advanced generation.

The result is a composable code-generation architecture — designed from the ground up with no limits. The compiler is developed by Scaled Sources and contributed to OMI as open source.

Contribute

Need a protocol added?

Send us the spec and any pcap captures you have (pcaps are optional). We'll add it to the Directory and generate the corresponding Wireshark dissector, C structs, C# classes, and Java classes.

Get Involved
  1. 01

    Send us the spec

    Share the exchange's published specification — XML, FIX, PDF, or a link to their docs.

  2. 02

    Include pcaps if you have them

    Packet captures speed up validation but are never required to submit a request.

  3. 03

    We handle the rest

    We normalize, compile, and publish it to the Directory.

OMI is open source,
built with the community.

Everything OMI produces is free, MIT-licensed, and community-driven. Browse the full catalog, contribute a protocol, or just start building.