OpenViSTAI · Agents · Blockchain · Crypto
Menu
Exchanges & Trading

Order Matcher

Order Matcher is an MIT-licensed C# library that provides price-time matching for buy and sell orders in exchange software, with order-management methods and callbacks for acceptance, cancellation, triggers and trades.

Independent OpenViST project profile, based on linked sources.

Order Matcher — OpenViST project profile in Exchanges & Trading.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when building the matching-engine layer of exchange software or a market simulator and you need order matching plus event callbacks. Consult the project documentation for order definitions and details before integration.

Who it is for

  • Developers building cryptocurrency, stock or commodity exchange software.
  • Teams implementing an order-book or market-simulation component.

Documented uses

  • Match incoming buy and sell orders by price-time priority.
  • Handle limit, market, stop-loss, stop-limit and iceberg orders, with supported execution instructions such as IOC, FOK and GTD.
  • Receive acceptance, cancellation, stop-trigger and trade events through listener callbacks.
  • Supply maker and taker fee values through a fee-provider implementation.
Before you choose

Requirements & limits

The repository is public and lists the MIT license.

  • The project provides a matching engine library, not a complete exchange application.
  • The documented integration uses C# implementations of a trade listener and fee provider.
  • Supported price and quantity representations include integer and decimal values.
  • The README reports a throughput figure for a specified AWS instance; it is a repository claim, not an independently verified benchmark.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Submit and cancel an order with the matching engine

Create a matching engine, submit a buy order, and request its cancellation.

Before you start

  • A C# project with the order-matcher library available.
  • Implementations of ITradeListener and IFeeProvider.
  • A TimeProvider that provides epoch time.

Steps

  1. Create a TimeProvider and a MatchingEngine, passing an ITradeListener, an IFeeProvider, a Quantity increment, and a precision value.

  2. Create an Order with its side, order ID, open quantity, and price.

  3. Submit the order with AddOrder and the current epoch time; inspect the result for OrderAccepted.

  4. Request cancellation with CancelOrder using the order ID; inspect the result for CancelAcepted.

Expected outcome

The engine receives the order and cancellation request; the listener can receive acceptance, cancellation, trigger, and trade callbacks.

Guide limitations

  • The README provides a code example but does not document project installation or build steps.
  • The example checks acceptance of an order and a cancellation request; it does not establish that the order will trade or that cancellation will succeed in every case.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
6 October 2026
Original website title
ArjunVachhani/order-matcher · Official homepage title · retained in its source language