# 24/5 Commodity Markets

Commodity-referenced perpetuals track raw spot commodity prices via oracle feeds that reflect real-world exchange pricing. Because the underlying commodity markets are not open around the clock, these perpetuals follow the trading session schedule of the relevant exchange.

### Instrument Specifications

| Market      | Ticker         | Description                                                                                                                                                             | Settlement | Max Leverage | Margin Mode | Oracle                                                                        |
| ----------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------ | ----------- | ----------------------------------------------------------------------------- |
| Silver      | XAG/USD:USDC   | Tracks the value of 1 troy ounce of silver.                                                                                                                             | USDC       | 10×          | Isolated    | [Stork (XAG)](https://data.stork.network/assets/XAGUSD)                       |
| WTI         | WTI/USD:USDC   | Tracks the price of West Texas Intermediate crude oil. See Oracle Roll section below.                                                                                   | USDC       | 3×           | Isolated    | [Pyth (WTI)](https://pythdata.app/explore/Commodities.WTIJ6%2FUSD)            |
| Natural Gas | NG/USD:USDC    | Tracks the price of Henry Hub natural gas. See Oracle Roll section below.                                                                                               | USDC       | 3×           | Isolated    | [Pyth (NATGAS)](https://pythdata.app/explore/Commodities.NGDJ6%2FUSD)         |
| AF100       | AF100/USD:USDC | Tracks a modified market-cap index of 100 of the largest, most actively traded non-financial equities listed on a premier U.S. exchange. See Oracle Roll section below. | USDC       | 5×           | Isolated    | [Pyth (NMM6)](https://insights.pyth.network/price-feeds/Equity.US.NMM6%2FUSD) |

### Session Hours

| Parameter                  | Value                                                                                                                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **External Session Hours** | Sunday 6:00 PM ET to Friday 5:00 PM ET                                                                                                                                                     |
| **Internal Session Hours** | Daily maintenance window: Monday–Thursday, 5:00–6:00 PM ET (market paused). Trading also follows [CME holiday closures](https://www.cmegroup.com/tools-information/holiday-calendar.html). |

### Oracle Roll (WTI)

WTI crude oil perpetuals are priced from dated futures contracts (e.g., CLJ6 for March 2026, CLK6 for April 2026). When a front-month contract approaches expiry, a discrete oracle switch from one feed to another would create a predictable price cliff that is trivially front-runnable.

Aftermath solves this with a continuous linear blend computed on-chain every block:

#### Blend Formula

$$
P\_{blended} = w\_{front\_month} ⋅
P\_{front\_month} + w\_{next\_month} ⋅ P\_{next\_month}
$$

Where w₁ + w₂ = 1 always. The weights are determined by d, the number of calendar days until front-month expiry:

* If d > 10: w₁ = 1.0 (100% front month, no blending yet)
* If d ≤ 3: w₁ = 0.0 (100% next month, roll complete)
* Otherwise: w₁ = (d − 3) / (10 − 3); i.e., linear interpolation over 7 days

The roll window begins 10 days before expiry and completes 3 days before expiry. This provides a smooth, continuous transition with no front-runnable price discontinuity.

#### Key Properties

* Computed **on-chain** every transaction
* Eliminates the front-running opportunity present in discrete oracle switches
* Both raw Pyth feeds are visible on-chain for anyone to verify
* WTI futures roll monthly; the blend activates automatically each cycle

#### Active Pyth Feeds

The oracle consumes two Pyth Network feeds simultaneously:

* Front month: the nearest-expiry WTI futures contract (e.g., CLJ6/USD for March 2026)
* Next month: the following contract (e.g., CLK6/USD for April 2026)

After each roll completes (d ≤ 3), the next-month contract becomes the new front month, and a new next-month feed is activated for the subsequent expiry. Contract symbols follow CME convention: F=Jan, G=Feb, H=Mar, J=Apr, K=May, M=Jun, N=Jul, Q=Aug, U=Sep, V=Oct, X=Nov, Z=Dec.
