MSVI Volatility Index
The first cryptographically attested crypto volatility index. Five independent signals, one signed number.
What is MSVI?
The Mycelia Signal Volatility Index (MSVI) is a five-component weighted volatility index for BTC and ETH. It combines realized volatility, implied volatility, term structure, funding rate stress, and put/call ratio into a single 0-100 index — cryptographically signed with Ed25519 on every 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. No other signed crypto volatility oracle exists.
Try it free: curl https://api.myceliasignal.com/oracle/volatility/btc/usd/preview
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
MSVI is not a single-source number. Every component is computed from independent data sources and the weight of each is fixed in a versioned, signed methodology document.
| 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, z-scored vs 90D history |
Why Parkinson for Realized Volatility?
The Parkinson (1980) estimator uses daily high/low prices rather than close-to-close returns. It is 2-5x more statistically efficient — meaning it requires fewer data points to achieve the same accuracy. This matters for crypto where intraday ranges carry genuine signal.
Why the Funding Rate?
Perpetual futures funding rates reveal how leveraged traders are positioned. Extreme positive funding means longs are paying shorts — the market is over-leveraged to the upside. MSVI uses the absolute deviation from the 30-day mean, capturing both fear spikes and greed spikes as volatility signals.
Why Term Structure?
The ratio of short-dated implied volatility to long-dated implied volatility reveals the shape of the options market. When near-term vol exceeds far-term vol (backwardation, ratio >1.0), the market is pricing acute near-term fear. This is a signal the composite value alone cannot capture.
The Canonical String
Every paid MSVI response includes a canonical string that is the exact input to the Ed25519 signing operation. You can reconstruct it from the response fields and verify independently.
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.6679|METHOD:v1|1744000000|482910
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.
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.
Quick Start
Free preview (no payment)
curl https://api.myceliasignal.com/oracle/volatility/btc/usd/preview
Paid — x402 (USDC on Base)
# pip install x402-python from x402.client import X402Client client = X402Client(private_key="your_base_private_key") response = client.get("https://api.myceliasignal.com/oracle/volatility/btc/usd") data = response.json() print(f"MSVI BTC: {data['value']} ({data['unit']})") print(f"Confidence: {data['confidence']}") print(f"Canonical: {data['canonical']}")
Verify the signature
import hashlib, base64 from nacl.signing import VerifyKey pubkey_hex = "7ab07fbe7d08cd16823e5eb0db0e21f3f38e9366d5fd00d14e95df0fb9b51a1a" canonical = data["canonical"] signature = base64.b64decode(data["signature"]) msg_hash = hashlib.sha256(canonical.encode()).digest() vk = VerifyKey(bytes.fromhex(pubkey_hex)) vk.verify(msg_hash, signature) print("Signature valid")
Why This Is Unique
Bloomberg has volatility data but charges $25,000/year with no cryptographic attestation. Deribit DVOL is a single exchange's implied vol, unsigned, no methodology commitment. VIX covers equities only.
MSVI is the only volatility index that is: pay-per-query with no subscription, cryptographically signed on every response, methodology-versioned and machine-readable, accessible to AI agents via standard HTTP, and independently verifiable against a published public key.
A risk model querying MSVI twice daily pays $36.50/year. A DeFi protocol using it to adjust risk parameters pays per-call with no minimum commitment. An AI agent making a leveraged position decision gets a signed answer for $0.05.