A matching engine is the core software component of an electronic exchange, broker internalisation system or dark pool facility. It matches bids and offers to complete trades. Matching engines use one or several algorithms to allocate trades among competing bids and offers at the same price, the most common being price/time priority.