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.

Live preview

Try it free: curl https://api.myceliasignal.com/oracle/volatility/btc/usd/preview

Endpoints

EndpointDescriptionAuthL402x402
/oracle/volatility/btc/usdBTC/USD MSVI — signedRequired500 sats$0.05
/oracle/volatility/eth/usdETH/USD MSVI — signedRequired500 sats$0.05
/oracle/volatility/btc/usd/previewBTC/USD MSVI — unsigned, cached 5minNoneFreeFree
/oracle/volatility/eth/usd/previewETH/USD MSVI — unsigned, cached 5minNoneFreeFree
/oracle/volatility/btc/usd/methodologySigned methodology documentNoneFreeFree
/oracle/volatility/eth/usd/methodologySigned methodology documentNoneFreeFree
/oracle/volatility/catalogueAvailable indices listingNoneFreeFree

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.

ComponentWeightSourcesMethod
Realized Volatility (RV)30%Binance, OKX, KrakenParkinson (1980) estimator, 30D window, sqrt(365) annualization
Implied Volatility (IV)25%Deribit options bookATM delta-neutral, bid/ask midpoint, OI-weighted, min 10 BTC OI
Term Structure (TS)15%Deribit options book7D IV / 90D IV ratio — >1.0 backwardation (fear), <1.0 contango (calm)
Funding Rate (FR)20%Binance, Bybit perpetualsAbsolute z-score vs 30D mean — captures both fear and greed extremes
Put/Call Ratio (PCR)10%Deribit options bookUSD-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.

format
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}
example
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.

Confidence scoring

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
curl https://api.myceliasignal.com/oracle/volatility/btc/usd/preview

Paid — x402 (USDC on Base)

python
# 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

python
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.