Skip to content

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.

  1. 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
  2. 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.)
  3. proposer proposes prices by aggregating these vote extensions
  4. network accepts a block
  5. oracle prices update