Fairground uses a single oracle price for each market. Instead of maintaining a separate mark price for the perpetual and an index price that tracks the underlying asset, the protocol uses only the oracle price.
On most perps protocols, you juggle a mark price (used for liquidations, PnL) and an index price (spot reference, and funding). Fairground simplifies this: the oracle price is the price. It is used for everything, order execution, PnL calculation, margin calculations, liquidation, and fee assessment.
The oracle price is pulled fresh at the start of each protocol action: matching, liquidation, and ADL. All orders processed within a single matching cycle execute at the same oracle price and as a result, two orders matched in the same block can execute at different prices if the oracle price changes between them.