Crude Oil (WTI)
Two windows make up for weekday coverage:
Regular-hours: 6:00 p.m. – 4:30 p.m. ET
Off-hours: 4:30 p.m. – 6:00 p.m. ET
Weekend coverage starts on Friday 4:30 p.m. ET. and runs continuously until Sunday 6:00 p.m. ET.
Oracle Pricing
Oracle pricing is used to calculate funding rates which anchor perpetual contract price to underlying commodity price. For the 24/7 markets we divide the oracle price into three segments (weekday on-hours, weekday off-hours, weekend off-hours). Pricing infrastructure is handled by Redstone.
Each oracle update (every 2.5s) can change oraclePx by at most 1%.
EMA Definition (used below)
Let xtbe the input series sampled every Δt=1s, and let St be the EMA with time constant τ (e.g., 1h,8h,150s). We use:
Part 1: Weekday on-hours
Source: During on-hours, we create an implied price by blending the front month CL contract and the following month CL contract. The blending formula and rolling schedule is provided in the sections below. Fallbacks are implemented to mitigate any single corrupted feed. The result is the on-hours oraclePx.
Part 2: Weekday off-hours
Oracle = EMA_1h(impact_price)
Part 3: Weekend off-hours
Oracle = EMA_8h(impact_price)
Blending Formula during On-Hours Pricing
The price of the oil perpetuals future contract is derived from a weighted average between the 1st and 2nd month of the CME CL futures contracts.
P = price of the Oil perpetuals future contract.
P_1 = price of the CL dated futures contract (front month).
P_2 = price of the CL dated futures contract (following month).
D = number of commodity business days from, and including, the Previous Expiration Date to, but excluding, the Roll Date.
N = the number of commodity business days from, and including, the Previous Expiration Date to, but excluding, the Next Expiration Date.
Previous Expiration Date = date of expiration of the previous contract that expired immediately prior to the Roll Date.
Roll Date = second commodity business day after the current business day.
Next Expiration Date = date of expiration of the front month contract.
Example


Mark Pricing
This section details our methodology for calculating the mark price, which serves as the reference for margin, liquidations, take-profit and stop-loss triggers, and unrealized profit and loss computations. Pricing infrastructure is handled by Redstone.
Each oracle update (every 2.5s) can change markPx by at most 1%.
Mark Price is calculated as the median of the following 3 values:
MarkPx0: Oracle Price
MarkPx1: Oracle Price
MarkPx2: The median of best bid, best ask, last trade on Hyperliquid (added as default by HL)
ExternalPerpPx Pricing
This limits a perp market's mark price movement to the given band of +/- min(1/max_leverage, 20%) from the externalPerpPx value.
Part 1: Weekday on-hours
Oracle Price
Part 2: Weekday off-hours
Last Close from Weekday On Hour period
Part 3: Weekend off-hours
Last Close on Weekday On Hour
Holidays & Misc.
Holidays are treated as weekends. Shorter regular sessions due to holidays will transition to weekend status afterwards. Holidays are defined here: https://www.lmax.com/global/holiday-calendar and https://www.cmegroup.com/trading-hours.html
Last updated