Hyperps and index perpetuals
Hyperps fund against a moving average of their own mark price until spot trading exists; index perps track a formula the validators publish.
Hyperps and index perps let you trade a price no exchange spot market provides. Funding needs an index outside the perp, normally the oracle price. Two kinds of market lack one:
- An asset with no spot market yet. Hyperps use a smoothed history of the perp’s own price; the docs call usual pre-launch futures more susceptible to manipulation.
- An underlying that is a formula, such as a basket of NFT floor prices. Index perps have the validators compute and publish it.
Hyperps fund against their own average
Section titled “Hyperps fund against their own average”A hyperp (Hyperliquid-only perp) trades like any perp, except that its oracle price is an 8-hour exponentially weighted moving average of the last day’s minute-by-minute mark prices, capped at 4 times the initial mark price:
oracle_price(t) = min[ sum_{i=0}^{1439} [ p_i * exp(-i/480) ] * (1 - exp(-1/480)) / (1 - exp(-3)), initial_mark_price * 4 ]
p_i = initial_mark_price if (t - i minutes) < t_list mark_price(t - i minutes) otherwiseEach of the 1,440 one-minute samples (one day) is weighted by exp(-i/480), an 8-hour time constant; (1 - exp(-1/480)) / (1 - exp(-3)) makes the weights sum to exactly 1 (1,440 / 480 = 3). Minutes before the listing time t_list are padded with the initial mark price.
So 66.5 per cent of the oracle, (1 - e^-1) / (1 - e^-3), comes from the last 8 hours. Say a hyperp has traded at 1.00 since listing, then its mark jumps to 2.00 and stays: the oracle reads about 1.665 after 8 hours and 2.00 after 24.
- Mark price includes the weighted median of other exchanges’ pre-launch perp prices, for stability, though those contracts often differ in specification (caps in the table).
- Funding scales each premium sample to 1 per cent (funding).
- Conversion: shortly after the USDT pair lists for spot on Binance, OKX or Bybit, the hyperp becomes a normal perp on the usual oracle.
The docs credit the moving average with stability and manipulation resistance: moving the oracle means holding the mark away for hours, paying funding throughout.
Index perps track a published formula
Section titled “Index perps track a published formula”An index perp works like a normal perp, except that validators periodically publish the formula’s value and their median replaces the spot oracle in funding. The docs define two:
| Index perp | Underlying | Construction |
|---|---|---|
| NFTI-USD | blue-chip NFT collections | 3-minute moving average of the aggregate floor price (below); floors from OpenSea and Blur, converted to USDT at the ETH-USDT spot oracle price |
| FRIEND-USD | friend.tech key prices; the first index perp listed | converted to USDT at the robust exchange median ETH/USDT mid price; basket redefined several times, each with a scale factor keeping the index continuous (0.00431 and 0.002469 are two documented factors) |
Index = 3 minute ema of [ (BAYC floor / 10) + MAYC floor + Azuki floor + DeGods floor + Pudgy Penguins floor + Milady Maker floor ] / 10000A mainnet meta read on 28 September 2026 showed both with isDelisted: true, marginMode: "strictIsolated" and maximum leverage 3.
Index-style underlyings on HIP-3
Section titled “Index-style underlyings on HIP-3”On a HIP-3 dex the deployer publishes the oracle, so anyone can list an index. The docs warn most price indices are unsuitable as perp oracles, and a deployer is slashable for every market on its dex. A mainnet read in one research track found these live with open interest, all with cross margin off:
| Market | Underlying |
|---|---|
para:10Y |
US 10-year Treasury yield, quoted as the yield in per cent |
mkts:BVIV, xyz:VIX, xyz:VOL |
volatility indices |
para:BTCD |
a dominance ratio |
The numbers
Section titled “The numbers”| Parameter | Value |
|---|---|
| Hyperp oracle | 8-hour EMA of the last 1,440 one-minute mark prices |
| Decay | exp(-i/480), i in minutes |
| Oracle cap, formula | 4 x initial mark price |
| Oracle cap, prose | 4 x one-month average mark price |
| Mark cap | 3 x the 8-hour mark price EMA |
| Mark cap with external pre-launch perps | 1.5 x median external perp price |
| Funding premium sample | 1% of the usual clamped interest and premium formula |
| Sampling | first block after each Unix minute, stamped on the minute |
| Conversion trigger | spot listing of the USDT pair on Binance, OKX or Bybit |
| Index perp oracle | median of validators’ published index values |
| NFTI-USD | 3-minute EMA of aggregate floor / 10,000; BAYC floor divided by 10 |
Trading a hyperp or index perp
Section titled “Trading a hyperp or index perp”- Funding is the main hyperp risk. The oracle lags, so after strong momentum the docs warn funding will heavily reward the opposite direction for the next 8 hours.
- The reference changes at conversion, from the perp’s own average to external spot prices, and funding with it.
- The caps bound a squeeze: margin, liquidation and PnL all run on the capped mark (liquidation).
- Read an index perp’s formula first, including rebalances and scale factors.
Reproducing the oracle from code
Section titled “Reproducing the oracle from code”- No documented
metafield marks a hyperp or index perp;oraclePxis the moving average or the published index value. - To reproduce a hyperp oracle, record
markPxonce a minute from listing. No documented info request returns historical mark prices, and trade candles are not mark prices. - On HIP-3 the deployer publishes oracle and mark inputs with
setOracle, within the timing and clamp limits in operating a perp dex.
Where the docs contradict themselves
Section titled “Where the docs contradict themselves”- Two 4x caps: the formula uses 4 x the initial mark price, the prose 4 x the one-month average mark price. The docs do not say whether both apply or how they combine.
- Padding: the formula pads every pre-listing minute with the initial mark price; the prose pads when there are fewer than 480 samples. They agree for the first 8 hours after listing and differ from 8 to 24.
- Typo: the docs’ formula spells the cap term
intial_mark_price, the same quantity asinitial_mark_pricein the padding rule. - Delisted examples: both documented index perps are delisted (read above); the docs still describe the mechanism best.
For the funding formula, see Funding; for another perp without an exchange spot price, see AMM-priced perpetuals.