For the complete documentation index, see llms.txt. This page is also available as Markdown.

Oracle Prices

For TradFi perpetual markets, index and mark prices rely on:

Trading hours are specified for each market below.

Oracle Migration

Extended is in the process of migrating the oracle infrastructure for select TradFi markets. Until the dates specified in the table below, the listed markets will continue to rely on trade.xyz oracle feeds (delivered by Pragma), after which they will migrate to a RedStone-powered oracle.

Migration Date
Market Type
Markets

25/05/2026

Precious Metals

XAU, XAG, XPT

25/05/2026

FX

EUR, USDJPY

28/05/2026

Industrial Metals

XCU

01/06/2026

Index

SPX, NDX

10/06/2026

Energy

WTI, NATGAS, XBR

Equities, EWY, and SPCX are not part of this migration phase and continue to use the existing Stork setup.

Oracle Price Reference

Group
Market
Oracle Price Reference

Indices

SPX, NDX

Value of the index

Energy

WTI

1 barrel of West Texas Intermediate (WTI) Light Sweet Crude Oil

Energy

NATGAS

1 MMBtu of Henry Hub natural gas

Energy

XBR

1 barrel of Brent Crude Oil

Precious Metals

XAU

1 troy ounce of gold

Precious Metals

XAG

1 troy ounce of silver

Precious Metals

XPT

1 troy ounce of platinum

Industrial Metals

XCU

1 pound of copper

FX

EUR

EUR/USD exchange rate

FX

USDJPY

USD/JPY exchange rate

Equities

All

Underlying share price

ETFs

EWY

EWY share price

Pre-IPO

SPCX

Trade.xyz SpaceX reference price

Oracle Price Methodology

The table below outlines the Oracle Price Methodology for all TradFi markets, including the provider, calculation methodology, underlying price reference, and oracle availability.

Market
Provider
Oracle Price Reference
Oracle Availability

Indices: SPX, NDX

CME¹,² futures equivalent* normalised to spot

23/5**

Energy: WTI, NATGAS, XBR

CME¹,² and ICE¹ futures equivalent*

23/5**

Precious Metals: XAU, XAG, XPT

Massive (XAU, XAG) and LMAX (XPT) spot with fallbacks***

23/5**

Industrial Metals: XCU

CME futures equivalent*

23/5**

FX: EUR, USDJPY

RedStone (EUR) Stork (JPY)

EUR: LMAX spot with fallbacks*** JPY: FX broker spot prices

24/5

Equities & ETFs: All

Regular, pre-market, and post-market sessions: NYSE/Nasdaq midpoint prices via licensed data providers.

Overnight: Blue Ocean ATS

24/5

Pre-IPO: SPCX

Trade.xyz

24/7

* CME and ICE futures equivalent: a proprietary aggregate of market-maker and broker feeds that has historically shown high correlation with CME and ICE L1 mid-prices. Used as an alternative to direct CME and ICE market data. Expected maximum deviation from CME and ICE L1 mid-prices is 1-2 bps, depending on the market.

** 23/5 = 6:30 PM – 5:30 PM ET, Sunday to Friday, with 1 hour daily gaps.

*** Fallback is automatically triggered when the primary source is down or significantly deviates from the median of fallback sources.

Outside of Oracle Availability windows, the index and mark prices are calculated based on the off-hours pricing mechanics.

Futures-to-spot normalisation

For indices (SPX and NDX), where the price represents a futures-implied spot price, the oracle normalises the futures price to a spot equivalent using the cost-of-carry formula:

where:

  • r = risk-free rate (SOFR) sourced from New York Fed

  • d = annualised dividend yield, derived from major index ETF dividend yields and updated monthly. Current values can be obtained here.

  • T = days to futures expiry

Roll Schedule for Indices

Index oracles (SPX and NDX) reference quarterly futures contracts. The active contract follows the standard quarterly cycle, with settlement codes corresponding to the contract month:

  • H — March

  • M — June

  • U — September

  • Z — December

The active contract rolls to the next quarterly contract before expiry, on the corresponding “Active Until” date. The active and expiry dates for each quarterly contract are shown below:

Underlying Suffix
Active Until
Expiration

H6

2026-03-16 14:00:00 UTC

2026-03-20 13:30:00 UTC

M6

2026-06-15 14:00:00 UTC

2026-06-18 13:30:00 UTC

U6

2026-09-14 14:00:00 UTC

2026-09-18 13:30:00 UTC

Z6

2026-12-14 15:00:00 UTC

2026-12-18 14:30:00 UTC

Roll Schedule for Energy and Industrial Metals

For markets that reference futures-based price feeds (WTI, XBR, NATGAS, XCU), the active contract rolls over a 5-business-day transition window.

The roll period runs from the 5th to the 10th business day of the month. During this period, the oracle price transitions from the front-month contract to the next active contract using a linear weighting model that updates at predefined timestamps aligned with internal pricing sessions.

Updated weightings take effect when the oracle switches back to external pricing at 6:00 PM ET.

Roll Example. If WTI is referencing the M6 contract and rolling into N6, the transition proceeds as follows:

Timestamp
Front-month (M6) weight
Next-month (N6) weight

Day 5, 5:30 PM ET

80%

20%

Day 6, 5:30 PM ET

60%

40%

Day 7, 5:30 PM ET

40%

60%

Day 8, 5:30 PM ET

20%

80%

Day 9, 5:30 PM ET

0%

100% (roll complete)

Active contract schedule

The table below shows the active contract at the start of each month and the corresponding roll target for each energy and industrial metals market.

Instrument
Apr 2026 roll
May 2026 roll
Jun 2026 roll
Jul 2026 roll
Aug 2026 roll
Sep 2026 roll
Oct 2026 roll
Nov 2026 roll
Dec 2026 roll

XCU (Copper)

K6 → N6

N6

N6 → U6

U6

U6 → Z6

Z6

Z6

Z6 → H7

H7

WTI

K6 → M6

M6 → N6

N6 → Q6

Q6 → U6

U6 → V6

V6 → X6

V6 → X6

X6 → Z6

Z6 → F7

XBR (Brent)

M6 → N6

N6 → Q6

Q6 → U6

U6 → V6

V6 → X6

X6 → Z6

Z6 → F7

F7 → G7

G7 → H7

NATGAS

K26 → M26

M26 → N26

N26 → Q26

Q26 → U26

U26 → V26

V26 → X26

X26 → Z26

Z26 → F27

F27 → G27

Off-hours Pricing

During off trading hours, if the oracle has not been updated for 5 minutes, both the index price and mark price for TradFi markets are calculated as follows:

where:

  • β = e^(-10 sec / 1 hour), implying that the index is updated every 10 seconds

  • Impact_Mid_Price = 10-minute EMA impact mid price

The maximum deviation of the index and mark price from the last known oracle price is capped at ± 1 / (max market leverage).

Last updated