Skip to main content
An openOracle report is two limit orders, a buy and a sell, at the same price. The orders are locked until either the timer runs out or one is taken. To take one of the limit orders, you must replace them with larger ones at a new price. When the timer runs out without a dispute, the price is settled. Any disputes reset the timer.

Core Stages

Price Request — Create an oracle game instance with desired parameters. Contains reward to initial reporter. Initial Report — Submit the first two limit orders of the oracle game. Earn the initial reporter reward. Dispute — Take one of the existing limit orders and replace both with larger ones at a new price. Settle — Finalize the oracle game after the timer expires without a dispute. Applications can now use the price.

Oracle Game Parameters

Parameters are set at time of price request. Settlement Time TT — Per-round timer resetting on each dispute. The duration that must pass without a dispute before the current price can be settled. Initial Reporter Reward — Amount earned by being the first reporter in an oracle game. Paid for by creator of price request. Settler Reward — Amount earned by settling an oracle game after the settlement time expires. Paid for by creator of price request. Multiplier MM — How much the limit order size must increase on a dispute. 1.4x => 40% larger each dispute. Becomes 1 at Escalation Halt. Swap Fee FsF_s — The percentage fee paid to the previous reporter when their limit order is taken during a dispute. Protocol Fee FpF_p — The percentage fee paid to the protocol fee recipient when a limit order is taken during a dispute. Protocol Fee Recipient — The address that receives accrued protocol fees. Initial Liquidity LL — Starting size of limit orders in the oracle game. The initial reporter must put up this much liquidity. Escalation Halt — Size threshold at which disputes no longer need to post larger orders. Limit orders are now equal in size to the prior orders.

Gameplay

Dispute Distance DD — The profit from taking one of the limit orders. Represents the difference between true price and limit order price when you dispute. Adversarial Dispute Distance AA — The loss from having one of your limit orders taken. Represents the difference between true price and limit order price when you get disputed. External Notional NN — The value at stake in the consuming application (swap size, perp position, lending position). Distinct from the oracle game’s internal liquidity. Linear Notional — External notional where PnL scales approximately linearly with the oracle price (or return), such as swaps and perps. Binary Notional — External notional where PnL is primarily threshold-driven (e.g., above/below a strike or liquidation trigger), rather than linear in the oracle price. Liquidity Ratio II — The ratio of oracle game liquidity to external notional, I=L/NI = L / N. Oracle Price Error RR — The percentage difference between the reported oracle price and the true market price. This is structurally similar to dispute distance DD, but used for attack-level analysis rather than single-dispute EV framing. No-Dispute Band / Dispute Barriers — The interval around the true price where a report is expected to survive without dispute over one settlement window. Once the true price is outside the barriers, a dispute is expected to be profitable for honest arbitrageurs. Survival Probability QQ — The probability a given report does not get disputed over the settlement time. Settlement Probability Inequality — Core game condition Q>11/MQ > 1 - 1/M. If violated, the total cost of the oracle game diverges.