Volatility Pools

Markets and thresholds

Every threshold comes from the asset's own recent history, and the data behind it is stored on chain with the market.

The move

Two prices define a market: the reference, recorded when the market locks, and the settlement, recorded when the window ends. The move is the absolute change between them, in basis points:

move = |settlement − reference| / reference
YES wins if move > threshold, otherwise NO wins
Computed in basis points and rounded down. A move equal to the threshold goes to NO.

Thresholds from recent history

When a market is created, the last 20 moves of the same length are measured: 20 close-to-close moves for a daily market, 20 one-hour moves for an hourly market. The 20 values are sorted and the threshold is taken at a fixed percentile.

ThresholdPercentileRecent moves larger than it
TIGHT25thAbout 3 in 4
FAIR50th (median)About 1 in 2
WIDE75thAbout 1 in 4

With the samples sorted from smallest to largest as s[0] to s[19], the percentiles interpolate linearly between neighbours:

TIGHT = 0.25 · s[4]  + 0.75 · s[5]
FAIR  = 0.50 · s[9]  + 0.50 · s[10]
WIDE  = 0.75 · s[14] + 0.25 · s[15]
Rounded to the nearest basis point. A threshold must be at least 1 bp.

The thresholds adapt to each asset. A quiet week lowers them and a volatile week raises them, so FAIR stays close to an even question whatever the regime.

Verifiable on chain

The 20 samples are stored in the market account. At creation the program recomputes the percentile from those samples and rejects the market if the threshold does not match. Anyone can read the samples and check that the threshold follows from them.

Windows and samples

InstrumentWindowSamples
Equity dailyFrom one session's close to the next session's close (New York time)Daily closes
Equity hourlyOne clock hour of the regular session, 10:00 to 16:00 ETHourly bars of the regular session
Crypto daily00:00 UTC to the next 00:00 UTCDaily candles
Crypto hourlyOne hour, on the hour, UTCHourly candles

Only consecutive bars are used, so a gap in the data never produces a sample that spans two periods. Equity markets follow the exchange calendar, including holidays and early closes.

Try it