Oracle Prices
Oracle prices are aggregated prices that provide up-to-date price data for different assets. The oracle price for each trading pair is used for the following:
- Ensuring that each account is well-collateralized after each trade
- Determining when an account should be liquidated
- Triggering "triggerable" order types such as Stop-Limit and Take-Profit orders
How are oracle prices determined on dYdX Chain?
Oracle prices are determined by the current validator set of the network.
- each validator runs a sidecar that pulls prices from oracle providers and external exchanges, such as Binance, Bitfinex, Bitstamp, Bybit, Coinbase, crypto.com, GateIO, ... the entire list is shown here
- each validator submits their view of oracle prices through vote extensions (some caveats here where there's a max number of markets that can be updated per block, minimum threshold on price changes, etc.)
- proposer proposes prices by aggregating these vote extensions
- network accepts a block
- oracle prices update