Skip to main content Spectre uses a high-performance Matching Engine that executes trades based on strict deterministic rules.
Matching Rules
The engine uses Price-Time Priority (FIFO) to determine which orders matched together.
1. Price Priority
Better prices always get priority.
For Buyers : Higher bid prices matched first.
For Sellers : Lower ask prices matched first.
2. Time Priority
At the same price level, orders are matched in the order they arrived.
The order that was placed first (earliest timestamp) gets filled first.
Execution Types
Maker (Passive)
Adding an order to the orderbook adds Liquidity .
Mechanism : If your Limit Order price does not cross the spread (e.g., Buy Price < Best Sell Price), it sits on the book effectively “making” new market depth.
Fee rebate : Makers typically pay lower (or negative) fees.
Taker (Aggressive)
Crossing the spread removes Liquidity .
Mechanism : If your order matches immediately against an existing resting order (e.g., Buy Price >= Best Sell Price), it is a “Taker” order.
Cost : Takers typically pay higher fees for the immediate execution.
Partial Fills
If an aggressive order is larger than the best available resting order:
The resting order is fully filled.
The aggressive order is partially filled .
The remainder of the aggressive order continues to match against the next best price level.
This process repeats until the order is fully filled or the limit price is reached.