Source Methodology
Source methodology for all 66 endpoints — crypto, stablecoin pegs, market indices, FX, economic indicators, and commodities. Exchanges, data providers, aggregation methods, and exclusion logic.
This page documents source methodology for all 66 paid endpoints across crypto pairs, stablecoin pegs, market indices (MSVI, MSXI, MSSI), FX crosses, economic indicators, and commodities. For the full endpoint list with pricing, see Endpoints & Pairs.
Crypto Pairs — Source Table
| Pair | Total | Min Required | Sources | Method |
|---|---|---|---|---|
| BTC/USD | 9 | 6 (4 if USDT dropped) | Coinbase, Kraken, Bitstamp, Gemini, Bitfinex, Binance, Binance US, OKX, Gate.io | Median |
| BTC/USD VWAP | 7 | 4 (3 if USDT dropped) | Coinbase, Kraken, Bitstamp, Gemini, Bitfinex, OKX, Gate.io | VWAP (5-min window) |
| BTC/EUR | Combined | See ¹ | Cross-rate: BTC/USD ÷ EUR/USD | Cross-rate |
| BTC/EUR VWAP | Combined | See ¹ | Cross-rate: BTC/USD VWAP ÷ EUR/USD | VWAP cross-rate |
| BTC/JPY | Combined | See ¹ | Cross-rate: BTC/USD ÷ USD/JPY (GMO Coin, Bitbank, ECB sources) | Cross-rate |
| ETH/USD | 5 | 3 | Coinbase, Kraken, Bitstamp, Gemini, Bitfinex | Median |
| ETH/USD VWAP | 5 | 3 | Coinbase, Kraken, Bitstamp, Gemini, Bitfinex | VWAP (5-min window) |
| ETH/EUR | 4 | 2 | Coinbase, Kraken, Bitstamp direct EUR + cross-rate | Hybrid median |
| ETH/JPY | Combined | See ¹ | Cross-rate: ETH/USD ÷ USD/JPY | Cross-rate |
| SOL/USD | 9 | 5 (3 if USDT dropped) | Coinbase, Kraken, Bitstamp, Gemini, Bitfinex, Binance, OKX, Gate.io, Bybit | Median |
| SOL/EUR | 4 | 2 | Coinbase, Kraken, Bitstamp direct EUR + cross-rate | Hybrid median |
| SOL/JPY | Combined | See ¹ | Cross-rate: SOL/USD ÷ USD/JPY | Cross-rate |
| XAU/USD | 8 | 3 (2 if PAXG dropped) | Kitco, JM Bullion, GoldBroker, Coinbase, Kraken, Gemini, Binance, OKX | Median |
| XAU/EUR | Combined | See ¹ | Cross-rate: XAU/USD ÷ EUR/USD | Cross-rate |
| XAU/JPY | Combined | See ¹ | Cross-rate: XAU/USD ÷ USD/JPY | Cross-rate |
| XRP/USD | 6 | 3 | Kraken, Binance, Bitstamp, OKX, Gate.io, Bybit | Median |
| ADA/USD | 5 | 3 | Kraken, Binance, Bitstamp, OKX, Gate.io | Median |
| DOGE/USD | 5 | 3 | Kraken, Binance, Bitstamp, OKX, Bybit | Median |
¹ Cross-rate pairs have no independent source threshold. They fail if either component feed fails its own minimum. For example, BTC/EUR requires BTC/USD (min 6 sources) and EUR/USD (min 4 sources) to both succeed independently.
FX Crosses — Source Table
| Pair | Method | Sources |
|---|---|---|
| EUR/USD | Median (8 sources) | ECB (Frankfurter), ECB Direct, Bank of Canada, RBA, Norges Bank, Czech National Bank, Kraken, Bitstamp |
| EUR/JPY, EUR/GBP, EUR/CHF, EUR/CNY, EUR/CAD | Cross-rate — See ¹ | EUR/USD ÷ target currency rate (central bank + exchange sources) |
| GBP/USD, GBP/JPY, GBP/CHF, GBP/CNY, GBP/CAD | Cross-rate — See ¹ | GBP sourced via ECB/Frankfurter + Kraken, Bitstamp cross-validation |
| USD/JPY, USD/CHF, USD/CNY, USD/CAD | Median — min 4 | ECB (Frankfurter), Bank of Canada, RBA, Norges Bank. JPY pairs add GMO Coin and Bitbank for direct JPY liquidity. |
| CHF/JPY, CHF/CAD, CNY/JPY, CNY/CAD, CAD/JPY | Cross-rate — See ¹ | Derived from USD base rates. Min 2 independent sources per component. |
¹ Cross-rate pairs inherit the minimum source requirements of their component feeds. Both components must independently meet their thresholds for the pair to succeed.
Stablecoin Pegs — Source Table
Stablecoin peg attestations serve a different purpose from crypto price feeds. The signal is not the price itself — it is the deviation from par. USDT/USD at $0.9998 and at $1.0002 are both "normal." USDT/USD at $0.9920 is a depeg event. At 2 decimal places both round to $1.00 and the signal is lost. Mycelia Signal attests stablecoin pegs at 5 decimal places specifically to preserve this precision.
USDT and USDC direct pairs (USD) use 4-source median aggregation from CEX spot markets where the stablecoin trades directly against USD. Cross-rate pairs (EUR, JPY) are derived by composing the existing USDT/USD attestation with the existing EUR/USD or USD/JPY attestation — no additional exchange sources are required, and the derivation chain is fully verifiable.
Note: Coinbase returns a hardcoded $1.00 for USDC/USD (they are the issuer). This is not a market price and is excluded. Gemini provides a real market price and is included instead.
| Pair | Sources | Min | Source Detail | Method |
|---|---|---|---|---|
| USDT/USD | 4 | 3 | Kraken, Bitstamp, Bitfinex, Binance | Median (5dp) |
| USDC/USD | 4 | 3 | Kraken, Bitstamp, Gemini, Binance | Median (5dp) |
| USDT/EUR | Combined | See ¹ | Cross-rate: USDT/USD ÷ EUR/USD | Cross-rate (5dp) |
| USDT/JPY | Combined | See ¹ | Cross-rate: USDT/USD × USD/JPY | Cross-rate (5dp) |
¹ Cross-rate pairs inherit the minimum source requirements of their component feeds. USDT/EUR requires both USDT/USD (min 3) and EUR/USD (min 4) to succeed independently.
USDT Normalization
MSVI — Volatility Index Sources
The Mycelia Signal Volatility Index (MSVI) is a five-component weighted composite. Each component draws from independent sources. All computation is performed on Asia GC where Binance and Bybit APIs are accessible.
| Component | Weight | Sources | Method |
|---|---|---|---|
| Realized Volatility (RV) | 30% | Binance, OKX, Kraken (daily OHLCV) | Parkinson (1980) estimator — high/low based. Annualized with √365. Weighted median across sources. |
| Implied Volatility (IV) | 25% | Deribit options book (public API) | ATM delta-neutral options (Δ≈0.5), 40-60 day expiry window, bid/ask midpoint, OI-weighted mean. Black-Scholes IV inversion via Brent's method. Risk-free rate: 0%. |
| Term Structure (TS) | 15% | Deribit options book | Ratio of 7-day IV to 77-day IV. >1.0 = backwardation (fear). <1.0 = contango (calm). |
| Funding Rate (FR) | 20% | Binance perpetuals, Bybit perpetuals, OKX perpetuals | Absolute z-score of current funding rate vs 30-day mean. Captures both fear and greed extremes. Median across exchanges. |
| Put/Call Ratio (PCR) | 10% | Deribit options book | USD-value open interest of puts vs calls, 30-day expiry window. Z-scored against 90-day history. |
The composite MSVI value is a weighted sum of normalized component values on a 0-100 scale. Normalization uses a rolling 2-year min-max window. During the first 30 days of operation, raw unnormalized values are published — this is documented in the signed methodology document at /oracle/volatility/btc/usd/methodology.
Known limitations are documented explicitly in the methodology: Parkinson estimator assumes continuous trading; flash crashes can dominate the 30-day RV window; Deribit is the sole options source; funding rate mechanics differ slightly between exchanges.
MSXI — Sentiment Index Sources
The Mycelia Signal Sentiment Index (MSXI) is a five-component weighted composite measuring directional market positioning from −100 (extreme bearish) to +100 (extreme bullish). Separate readings for BTC and ETH. All computation performed on Asia GC.
| Component | Weight | Sources | Method |
|---|---|---|---|
| Funding Rate Direction (FR) | 30% | Binance perpetuals, Bybit perpetuals, OKX perpetuals | OI-weighted composite funding rate. Positive = longs paying (bullish bias). Negative = shorts paying (bearish bias). Normalized against 90-day history. |
| 25D Risk Reversal (SKEW) | 25% | Deribit options book (public API) | 25-delta call IV minus 25-delta put IV. Positive = calls bid (bullish). Negative = puts bid (bearish). OI-weighted across expiries. |
| Put/Call Ratio (PCR) | 20% | Deribit options book | USD-value open interest of puts vs calls, 30-day expiry window. High PCR = bearish hedging. Low PCR = bullish bias. |
| Term Structure Slope (TS) | 15% | Deribit options book | 7D/77D IV ratio slope direction. Rising term structure = near-term fear. Flat or inverted = calm or complacency. |
| Cross-Exchange Basis (BASIS) | 10% | Binance, Bybit, OKX perpetuals | Perpetual price minus spot price (basis). Positive basis = leveraged long pressure. Negative = short pressure. |
All-time high: +74.2 on Nov 10 2022 — options components flipped sharply bullish as puts were unwound after FTX collapse. All-time low: −65.3 on Jan 6 2021 — crowd massively short into BTC ripping from $29k to $40k.
Known limitations: funding rate direction can be structurally negative during bear markets without indicating active short positioning; options skew on Deribit may not fully represent OTC sentiment; basis compression occurs near futures expiry.
MSSI — Stress Index Sources
The Mycelia Signal Stress Index (MSSI) is a three-component weighted composite measuring systemic market stress from 0 (calm) to 100 (extreme). Market-wide single number — not per asset. All computation performed on Asia GC.
| Component | Weight | Sources | Method |
|---|---|---|---|
| Volatility Regime (VOL) | 35% | MSVI BTC + MSVI ETH (computed) | Average of BTC and ETH MSVI readings. High composite volatility = structural market stress. Normalized 0-100. |
| Stablecoin Peg Deviation (STBL) | 30% | USDT/USD + USDC/USD (Kraken, Bitstamp, Bitfinex, Binance, Gemini) | Maximum deviation of USDT or USDC from $1.00 par. Linear scale: 0% deviation = 0, 5% deviation = 100. Catches depeg events in real time. |
| Funding Extremity (FR) | 35% | Binance perpetuals, Bybit perpetuals, OKX perpetuals (BTC + ETH) | Absolute z-score of OI-weighted composite funding rate vs 30-day mean. Captures both extreme longs and extreme shorts as stress signals. |
Key events: March 2023 USDC depeg — stablecoin component hit 100 as USDC traded at $0.87, while vol and funding read CALM. FTX collapse (Nov 2022) — registered CALM correctly, as counterparty risk is not captured by structural market signals. COVID crash (Mar 13 2020) — all-time high of 91.15.
Known limitations: MSSI cannot detect counterparty or solvency risk; stablecoin component is sensitive only to on-exchange peg deviations, not OTC or redemption queue stress; volatility regime component lags intraday flash crashes by one computation cycle (~3 minutes).
BTC/USD, BTC/USD VWAP, and SOL/USD include USDT-denominated sources (Binance, OKX, Gate.io, Bybit). These prices are normalized to USD using a live USDT/USD rate from Kraken and Bitstamp.
If the USD-denominated and USDT-denominated medians diverge by more than 0.5%, all USDT sources are automatically excluded from the attestation. When this happens, the minimum source threshold drops accordingly (e.g., BTC/USD from 6 to 4). The exclusion is transparent — the sources list in the canonical string will only show the USD sources that were actually used.
XAU/USD Source Composition
XAU/USD combines two source categories: 3 bullion dealers (Kitco, JM Bullion, GoldBroker) providing spot gold prices via web scraping, and 5 PAXG/USD exchange prices (Coinbase, Kraken, Gemini, Binance, OKX) using the gold-backed token as a proxy. If PAXG sources diverge significantly from bullion prices, they can be excluded, dropping the minimum from 3 to 2.
Cross-Rate Inheritance
BTC/EUR, XAU/EUR, and BTC/EUR VWAP have no independent source thresholds. They fail if either component feed fails its own minimum. For example, BTC/EUR requires both BTC/USD (min 6 sources) and EUR/USD (min 4 sources) to succeed independently.
Aggregation Methods
Median: The middle value of all responding sources, sorted by price. Resistant to single-source outliers — a manipulated exchange price cannot move the median unless it compromises more than half the sources.
VWAP: Volume-weighted average price computed over a 5-minute rolling window. Each exchange's price is weighted by its trading volume in that window. Exchanges that don't provide volume data within the window are excluded.
Cross-rate: Computed by dividing one feed's price by another (e.g., BTC/USD ÷ EUR/USD = BTC/EUR). Both component feeds must independently meet their source thresholds.
Hybrid median: Combines direct EUR-denominated exchange prices with a synthetic cross-rate, then takes the median. Used for ETH/EUR and SOL/EUR where some exchanges offer direct EUR pairs.
Every attestation lists the exact sources that contributed to the price in the canonical string (position 7). You can always verify which exchanges were included and how many sources backed the attestation.
FX Pairs
FX rates are sourced from central banks and exchanges: ECB (Frankfurter API), ECB Direct, Bank of Canada, Norges Bank, RBA, Czech National Bank, plus Kraken and Bitstamp for cross-validation. JPY pairs additionally use GMO Coin and Bitbank for direct JPY liquidity. Minimum 2 independent sources required per pair.
Economic Indicators
US indicators sourced directly from BLS (CPI, NFP, unemployment) and FRED/BEA (GDP, PCE, Fed Funds, yield curve). EU indicators sourced from Eurostat via SDMX API (HICP, unemployment, GDP, employment). No third-party aggregators — all data fetched direct from official statistical agencies. Vintage dating via FRED ALFRED for US series.
Commodities
WTI crude, Brent crude, natural gas, and copper sourced from EIA and Federal Reserve via FRED. DXY (US Dollar Index) from Federal Reserve. Reference benchmark prices only — not real-time spot. Updated weekly for energy, daily for DXY.
Precious Metals (XAU)
Gold (XAU/USD) uses 8 sources: 3 bullion dealers (Kitco, JM Bullion, GoldBroker) plus 5 PAXG/USD exchange prices (Coinbase, Kraken, Gemini, Binance, OKX). XAU/EUR and XAU/JPY are cross-rates derived from XAU/USD. See XAU/USD Source Composition section above for full detail.