Source Methodology
Which exchanges and data providers feed each pair, how they're aggregated, and when sources are excluded.
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) |
| ETH/USD | 5 | 3 | Coinbase, Kraken, Bitstamp, Gemini, Bitfinex | Median |
| EUR/USD | 8 | 4 | ECB (Frankfurter), ECB Direct, Bank of Canada, RBA, Norges Bank, Czech National Bank, Kraken, Bitstamp | Median |
| XAU/USD | 8 | 3 (2 if PAXG dropped) | Kitco, JM Bullion, GoldBroker, Coinbase, Kraken, Gemini, Binance, OKX | Median |
| SOL/USD | 9 | 5 (3 if USDT dropped) | Coinbase, Kraken, Bitstamp, Gemini, Bitfinex, Binance, OKX, Gate.io, Bybit | Median |
| BTC/EUR | 17 | Inherited | Cross-rate: BTC/USD (9) ÷ EUR/USD (8) | Cross-rate |
| ETH/EUR | 4 | 2 | Coinbase, Kraken, Bitstamp direct EUR + cross-rate | Hybrid median |
| SOL/EUR | 4 | 2 | Coinbase, Kraken, Bitstamp direct EUR + cross-rate | Hybrid median |
| XAU/EUR | Combined | Inherited | Cross-rate: XAU/USD ÷ EUR/USD | Cross-rate |
| BTC/EUR VWAP | Combined | Inherited | Cross-rate: BTC/USD VWAP ÷ EUR/USD | VWAP cross-rate |
USDT Normalization
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.