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.
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.
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
Create a TimeProvider and a MatchingEngine, passing an ITradeListener, an IFeeProvider, a Quantity increment, and a precision value.
Create an Order with its side, order ID, open quantity, and price.
Submit the order with AddOrder and the current epoch time; inspect the result for OrderAccepted.
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.
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

