Matching Engine

A matching engine is the core component of any exchange, dark pool or trading system. Our matching engine supports the price-time priority matching algorithm, and ensures that each market participant is given the best possible execution.

Erlang Matching Engine

The matching engine (Order Matching System - OMS) is written in Erlang to allow for maximum availability and scalability. Erlang’s runtime system supports exceptional concurrency, distribution and fault tolerance.

The Finite State Machine (FSM) ensures synchronicity across each trading instrument, and scales horizontally with multiple trading instruments.


Key Modules

The standard matching engine package comes with an extensive range of modules which can form the core of an exchange. Simply utilize the parts you need and disregard the rest.

  • Currencies: Anything from USD to a BBL of light sweet crude oil
  • Instruments: Pairings of currencies which can be traded
  • Orderbooks: Open order management and matching
  • Users: Control access credentials
  • Accounts: Trading accounts for each of your users
  • Balances: Track trade activity and account balances
  • Executions: Matched orders

Tick and user activity data are logged for historical pricing and audit purposes.


Technology Stack & Interfaces

The standard matching engine package is built using the following technologies and has clearly defined application interfaces (APIs).

Tech Stack:

  • Erlang Matching Engine
  • Yaws API Server
  • Mnesia Realtime Database
  • Postgres Archive Database


  • Order entry and real-time data feed by the Yaws API
  • Full data by SQL connection to the Postgres Archive Database

Key Specifications

The standard matching engine package incorporates the following order types and time in force restrictions. Please contact us if you require additional order entry parameters.

Order types:

  • Limit
  • Market

Time in Force:

  • Good till Cancel (GTC)
  • Fill or Kill (FOK)
  • Immediate or Cancel (IOC)

Performance Metrics

Exceptional order entry, matching and post trade performance.

  • Finite State Machine ensures continuous matching whilst eliminating race conditions
  • System performance scales linearly with the number of trading instruments (orderbooks)
  • 300,000 orders per second entry rate (single instrument)

Take a closer look at our performance metrics and testing methodology.

Pay As You Go Licensing

Not looking for a long term contract?

Deploy the Mulltta Matching Engine direct to your favourite cloud provider and only pay for what you use with our simple and easy pricing model. Get started immediately with the following cloud providers.

Google Cloud Deploy
AWS Marketplace Deploy

Download Alpha Preview

The preview utilizes Kubernetes to deploy the matching engine package to your local linux system. At this time the preview is compatible with both Debian and CentOS Linux flavours.