Market Indices
Three cryptographically signed composite indices — volatility, sentiment, and stress — each telling a different part of the same market story.
Overview
Mycelia Signal publishes three signed composite indices. Each measures a distinct dimension of market state. Used together, they give a complete picture of current conditions that no single number can provide.
Volatility Index
How much is the market moving, and how extreme is that volatility relative to history? Five components: realized vol, implied vol, term structure, funding rate stress, put/call ratio. Output: 0–100. Higher = more volatile.
Sentiment Index
Which way is leveraged money leaning, and how strongly? Five components: funding rate direction, options skew (25D risk reversal), put/call ratio, term structure slope, cross-exchange basis. Output: −100 to +100. Positive = bullish positioning, negative = bearish.
Stress Index
Is the market structurally fragile right now? Three components: volatility regime (MSVI-derived), stablecoin peg deviation, funding rate extremity. Output: 0–100. Higher = more stressed. Market-wide single number — not per-pair.
Live
Delayed 5 minutes. Unsigned preview data. Embed these widgets →
Reading Them Together
MSSI and MSXI are most powerful in combination. MSSI tells you about structural conditions; MSXI tells you about positioning. The four quadrants describe meaningfully different market regimes.
MSVI — Volatility Index
MSVI measures how much the market is moving, and how extreme that volatility is relative to history. It is the only cryptographically signed composite crypto volatility oracle — five independent signals combined into a single Ed25519-attested number on every paid query.
VIX tells you how scared the S&P options market is. MSVI tells you how scared the crypto market is — and proves it with a signature you can verify independently.
Endpoints
| Endpoint | Description | Auth | L402 | x402 |
|---|---|---|---|---|
/oracle/volatility/btc/usd | BTC/USD MSVI — signed | Required | 500 sats | $0.05 |
/oracle/volatility/eth/usd | ETH/USD MSVI — signed | Required | 500 sats | $0.05 |
/oracle/volatility/btc/usd/preview | BTC/USD MSVI — unsigned, cached 5min | None | Free | Free |
/oracle/volatility/eth/usd/preview | ETH/USD MSVI — unsigned, cached 5min | None | Free | Free |
/oracle/volatility/btc/usd/methodology | Signed methodology document | None | Free | Free |
/oracle/volatility/eth/usd/methodology | Signed methodology document | None | Free | Free |
/oracle/volatility/catalogue | Available indices listing | None | Free | Free |
The Five Components
| Component | Weight | Sources | Method |
|---|---|---|---|
| Realized Volatility (RV) | 30% | Binance, OKX, Kraken | Parkinson (1980) estimator, 30D window, sqrt(365) annualization |
| Implied Volatility (IV) | 25% | Deribit options book | ATM delta-neutral, bid/ask midpoint, OI-weighted, min 10 BTC OI |
| Term Structure (TS) | 15% | Deribit options book | 7D IV / 90D IV ratio — >1.0 backwardation (fear), <1.0 contango (calm) |
| Funding Rate (FR) | 20% | Binance, Bybit perpetuals | Absolute z-score vs 30D mean — captures both fear and greed extremes |
| Put/Call Ratio (PCR) | 10% | Deribit options book | USD-value OI, 30D expiry window |
Output scale
MSVI outputs a 0-100 bounded index using min-max normalization against a rolling 2-year history window. Higher values indicate elevated volatility. Lower values indicate calm. During the first 30 days, MSVI outputs raw component values while history accumulates — the normalized field in the response indicates which mode is active.
| Range | Interpretation |
|---|---|
| 0 – 30 | Calm — volatility below historical norm |
| 30 – 50 | Mildly elevated — monitor |
| 50 – 70 | Elevated — above historical norm |
| 70 – 100 | High stress — historically rare |
Canonical string
v1|VOLATILITY|{PAIR}|MSVI|{VALUE}|{UNIT}|30D|RV:{rv}:{w},IV:{iv}:{w},TS:{ts}:{w},FR:{fr}:{w},PCR:{pcr}:{w}|CONFIDENCE:{c}|METHOD:v{m}|{TIMESTAMP}|{NONCE}
v1|VOLATILITY|BTCUSD|MSVI|30.87|index|30D|RV:44.26:0.3,IV:42.66:0.25,TS:0.950:0.15,FR:10.21:0.2,PCR:0.791:0.1|CONFIDENCE:0.9679|METHOD:v1|1744416000|482910
Quick start
curl https://api.myceliasignal.com/oracle/volatility/btc/usd/preview
# Free preview — no payment required import httpx r = httpx.get("https://api.myceliasignal.com/oracle/volatility/btc/usd/preview") d = r.json() print(f"MSVI BTC: {d['value']} ({d['unit']})") print(f"Confidence: {d['confidence']}") print(f"Components: RV={d['components']['rv']['value']}, IV={d['components']['iv']['value']}")
The confidence field reflects data availability across all five components. Values below 0.50 trigger a 503 — MSVI will not publish a result it cannot defend. The degraded flag is set when confidence is below 0.75.
MSXI — Sentiment Index
MSXI measures directional market positioning across five independent signals. The sign carries meaning — positive values indicate net bullish positioning, negative values indicate bearish positioning, and the magnitude reflects conviction.
Endpoints
| Endpoint | Description | Auth | L402 | x402 |
|---|---|---|---|---|
/oracle/sentiment/btc/usd | BTC/USD MSXI — signed | Required | 500 sats | $0.05 |
/oracle/sentiment/eth/usd | ETH/USD MSXI — signed | Required | 500 sats | $0.05 |
/oracle/sentiment/btc/usd/preview | BTC/USD MSXI — unsigned, cached 5min | None | Free | Free |
/oracle/sentiment/eth/usd/preview | ETH/USD MSXI — unsigned, cached 5min | None | Free | Free |
/oracle/sentiment/catalogue | Available indices listing | None | Free | Free |
The Five Components
| Component | Weight | Sources | Signal direction |
|---|---|---|---|
| Funding Rate (FR) | 30% | Binance, Bybit perpetuals | Positive funding = longs paying = bullish. Negative = shorts paying = bearish. |
| Options Skew (SKEW) | 25% | Deribit options book | 25D risk reversal: IV(call) − IV(put). Positive = calls bid = bullish. Negative = puts bid = bearish. |
| Put/Call Ratio (PCR) | 20% | Deribit options book | Inverted — high PCR (put heavy) = bearish. Low PCR (call heavy) = bullish. |
| Term Structure (TS) | 15% | Deribit options book | Inverted — backwardation (ratio >1.0) = near-term fear = bearish. Contango = calm = bullish. |
| Basis (BASIS) | 10% | Binance, Coinbase, Kraken, OKX, Bitstamp | Inverted — spread widening = fragmentation = bearish. Tight basis = healthy = bullish. |
Regimes
| Regime | Range | Interpretation |
|---|---|---|
EXTREMEBULLISH | 75 to 100 | Crowded longs. Historically precedes corrections. |
BULLISH | 25 to 75 | Net bullish positioning, longs dominant. |
NEUTRAL | −25 to 25 | Balanced positioning, no clear directional bias. |
BEARISH | −75 to −25 | Net bearish positioning, shorts dominant. |
EXTREMEBEARISH | −100 to −75 | Crowded shorts. Historically a contrarian signal. |
Canonical string
v1|SENTIMENT|{PAIR}|MSXI|{VALUE}|INDEX|FR:{fr}:{w},SKEW:{skew}:{w},PCR:{pcr}:{w},TS:{ts}:{w},BASIS:{basis}:{w}|REGIME:{regime}|CONFIDENCE:{c}|METHOD:v{m}|{TIMESTAMP}|{NONCE}
v1|SENTIMENT|BTCUSD|MSXI|-9.88|INDEX|FR:-0.00:0.3,SKEW:-4.12:0.25,PCR:0.863:0.2,TS:0.923:0.15,BASIS:0.049:0.1|REGIME:NEUTRAL|CONFIDENCE:1.0000|METHOD:v1|1744416000|382910
Quick start
curl https://api.myceliasignal.com/oracle/sentiment/btc/usd/preview
# Free preview — no payment required import httpx r = httpx.get("https://api.myceliasignal.com/oracle/sentiment/btc/usd/preview") d = r.json() print(f"MSXI BTC: {d['value']} ({d['regime']})") print(f"Skew: {d['components']['skew']['value']}") print(f"Funding: {d['components']['fr']['value']}")
MSSI — Stress Index
MSSI measures systemic market stress independent of price direction. A high MSSI reading indicates the market is structurally fragile — elevated volatility, stablecoin peg pressure, or extreme funding positions that increase liquidation risk. MSSI does not predict price direction; it predicts the potential severity of dislocations if they occur.
MSSI deliberately excludes price direction signals. It measures structure, not sentiment. The FTX collapse in November 2022 registered as CALM on MSSI — correctly identifying no structural market fragility, only counterparty risk. Contagion and counterparty events are not captured by this index and this limitation is documented.
Endpoints
| Endpoint | Description | Auth | L402 | x402 |
|---|---|---|---|---|
/oracle/stress/market | Market-wide MSSI — signed | Required | 500 sats | $0.05 |
/oracle/stress/market/preview | Market-wide MSSI — unsigned, cached 5min | None | Free | Free |
/oracle/stress/catalogue | Available indices listing | None | Free | Free |
The Three Components
| Component | Weight | Sources | Method |
|---|---|---|---|
| Volatility Regime (VOL) | 35% | MSVI internal — BTC+ETH averaged | Current MSVI value normalized 0–100. High realized and implied volatility signals structural fragility. |
| Stablecoin Stress (STBL) | 30% | Price-service — USDT/USD, USDC/USD | Max absolute deviation from $1.00. 2% depeg = 100 stress. Depeg events signal liquidity flight. |
| Funding Extremity (FR) | 35% | Binance, Bybit perpetuals | Absolute z-score of OI-weighted composite. Direction irrelevant — magnitude only. Extreme positioning in either direction signals liquidation risk. |
Regimes
| Regime | Range | Interpretation |
|---|---|---|
CALM | 0 to 25 | No structural stress. Normal market conditions. |
ELEVATED | 25 to 50 | Stress building. Monitor closely. Not yet actionable. |
HIGH | 50 to 75 | Significant structural stress. Risk parameters should reflect this. |
EXTREME | 75 to 100 | Severe stress. Historically coincides with major dislocations. |
Canonical string
v1|STRESS|MARKET|MSSI|{VALUE}|INDEX|VOL:{vol}:{w},STBL:{stbl}:{w},FR:{fr}:{w}|REGIME:{regime}|CONFIDENCE:{c}|METHOD:v{m}|{TIMESTAMP}|{NONCE}
v1|STRESS|MARKET|MSSI|17.48|INDEX|VOL:30.75:0.35,STBL:0.00:0.3,FR:19.20:0.35|REGIME:CALM|CONFIDENCE:1.0000|METHOD:v1|1744416000|551079
Quick start
curl https://api.myceliasignal.com/oracle/stress/market/preview
# Free preview — no payment required import httpx r = httpx.get("https://api.myceliasignal.com/oracle/stress/market/preview") d = r.json() print(f"MSSI: {d['value']} ({d['regime']})") print(f"Vol component: {d['components']['vol']['value']}") print(f"Stablecoin stress: {d['components']['stbl']['value']}")
Backtest & Validation
We have validated the components with available public historical data from January 2020 to present. The backtest covers realized volatility (Parkinson estimator), funding rates (Binance), and stablecoin peg data (USDC/USDT). Components derived from the Deribit options book — skew, PCR, and term structure — require historical options snapshots not available via public API.
The options-derived components are accumulating history from the live environment from launch. A full methodology validation including these components will be published as sufficient history accumulates.
| Event | Date | MSSI | MSXI (partial) | BTC price |
|---|---|---|---|---|
| COVID crash peak | 2020-03-13 | 91.2 EXTREME | −7.5 NEUTRAL | $5,579 |
| COVID — pre-crash signal | 2020-03-01 | 46.0 ELEVATED | −13.4 NEUTRAL | $8,532 |
| May 2021 deleveraging | 2021-05-19 | 40.7 ELEVATED | 11.1 NEUTRAL | $36,690 |
| FTX collapse | 2022-11-09 | 7.9 CALM | 36.2 BULLISH* | $15,923 |
| SVB / USDC depeg | 2023-03-11 | 36.7 ELEVATED | 12.1 NEUTRAL | $20,456 |
| ETF approval | 2024-01-10 | 14.9 CALM | −12.0 NEUTRAL | $46,654 |
* FTX MSXI showed BULLISH on collapse day — funding went extreme negative (shorts piling in), which reads as a contrarian oversold signal. Technically valid as a mean-reversion signal; directionally misleading as a sentiment label. Documented limitation of funding-direction component during sharp counterparty events.
MSXI partial backtest covers funding rate direction and RV-proxy components only. Full 5-component backtest requires historical Deribit options data.
These indices are informational data products. They do not constitute investment advice. Past index readings do not predict future market outcomes.