The Commodities Perps index price on BitMEX is constructed using oracle feeds from Pyth and Chainlink that track traditional commodity markets. When those markets are open, oracle data provides the majority of the index price, supplemented by the BitMEX orderbook. When traditional markets are closed, the index defaults to the median of the bid, ask, and last prices on the BitMEX orderbook, with a 2% hourly price band applied for protection.
The specific oracle sources vary by contract:
| Contract | Oracle Sources | Reference Price |
|---|---|---|
| WTIUSDT | Pyth + Chainlink | Pyth references the front-month WTI futures contract; Chainlink references closer to the WTI spot price |
| BRENTUSDT | Pyth | Front-month Brent futures contract, subject to rolling before delivery date |
| XAGUSDT | Pyth + Chainlink | Silver spot price from traditional markets |
| XAUtUSDT | Pyth + Chainlink | Tether Gold price from traditional markets |
For oil contracts specifically, the oracle source prices reference the front-month futures contract traded on traditional exchanges (NYMEX for WTI, ICE for Brent). These references are subject to contract rolling before delivery dates, which is handled automatically within the index construction.
Why does BitMEX apply a 2% price band?
The price band acts as a circuit breaker. When traditional markets are closed, the BitMEX orderbook operates with lower liquidity and without the anchor of institutional order flow from commodity exchanges. Without a price band, a single large order or a coordinated manipulation attempt could push the index price significantly away from fair value, triggering unnecessary liquidations.
The 2% restriction per hour still allows meaningful price discovery. A full day of consecutive 2% moves would permit a 48% total shift but prevents sudden spikes that do not reflect genuine market conditions. The price band is removed immediately when traditional markets reopen and oracle feeds resume.