Implied Matching

CoinJar Exchange supports first-generation implied matching for incoming orders. Implied matching allows an incoming order to be matched against a combination of resting orders in other related order books where this yields a more favourable overall price. This functionality bridges the available liquidity in different trading products and offers more trading opportunities to participants.

As illustrated in the example below, within the BTC/AUD order book, a bid and an ask can be implied from BTC/USDC and USDC/AUD order books.

BTC/USDC Order Book and USDC/AUD Order Book imply BTC/AUD Order Book
Bids Asks Bids Asks Bids Asks
5.000 11290 11310 2.000 10000 1.369 1.370 20000 0.885i 15450 15500 1.768i

When a BTC/AUD buy order with a price of at least 15500 is received, the matching engine will execute against the implied order, triggering a fill against the 11310 BTC/USDC ask and the 1.370 USDC/AUD ask.

CoreMatch supports three directions of implication, covering all possible first-order links between order books on CoinJar Exchange:

Implication DirectionExample (A implied from B & C)Price Formula (P)Size Formula (Q)
From two pairs of same base currencyBTC/GBP implied from
PA = PC / PBQA = min(QB × PB, QC × PB)
From two pairs chainedETH/GBP implied from
PA = PB × PCQA = min(QB, QC / PB)
From two pairs of same counter currencyETH/BTC implied from
PA= PB / PCQA = min(QB, QC × PC / PB)

A first-generation implied match (between an incoming native order and an implied order) always results in three fills in three different trading pairs. The two legs associated with the implied order are considered maker trades and the incoming order is considered a taker. An order book may contain implied orders from multiple implications. For example, BTC/GBP order book may contain implied orders from ETH/BTC & ETH/GBP, XRP/BTC & XRP/GBP, BTC/USDC & USDC/GBP, etc.

If the incoming order has a size greater than the top resting order or implied order (whichever has a better price), the remainder will be matched against the next best resting order or implied order, until there is no more order to be matched at the order price. When the price is equal, native orders have priority over implied orders.

Second-generation implied matching is not supported. As a result, while it is not possible for an order book to 'cross' with one native and one implied order, it is possible for the order book to remain in a crossed state with two implied orders at the top of the order book. When this happens, both the implied bid and the implied ask can be traded against at the overlapped prices.