Data sources
QuantDesk uses a source matrix so each data class has a documented upstream owner, normalization path, and fallback behavior.Source matrix
| Data class | Primary source | Ingestion service | Hub table | Public consumers |
|---|---|---|---|---|
| Mark / tick prices | Pyth-backed collectors | data-ingestion | hub_market_stats, hub_candles | Heatmap, ticker tape, chart API |
| On-chain fills | QuantDesk place_order_v2 logs | data-ingestion | hub_trades, hub_market_stats | Trade tape, rolling 24h volume rollups |
| OI / funding / reference marks | Coinalyze, Hyperliquid | data-ingestion | hub_reference_perps | Reference badges, operator context |
| News articles | RSS, NewsData, CryptoPanic | news-ingestion | hub_news | News panels, symbol-linked context |
| X posts and alerts | X/Twitter API or dev-mode sample feed | x-stream | x_posts, x_alerts | Social feed, alert list, MIKEY X context |
| Session metadata | TradFi session policy | backend enrichment | hub_market_stats.cash_open | US500 / US100 session badge |
| Dataset exports | Hub candles + catalog metadata | scripts/data | backtest_datasets | Elena backtests and reproducibility checks |
Symbol handling
- Registry symbols are canonical:
BTC-PERP,US500-PERP,US100-PERP. - News entity tagging maps aliases back to registry symbols.
- X entity tagging maps post mentions back to registry symbols where possible.
- Reference collectors derive their watchlists from active registry markets where possible.
Envelope contract
Every Redis producer publishes the Epic 15 event envelope:Fallback posture
- No production UI fallback to random market data.
- If a collector is stale, QuantDesk reports that via
/api/v2/data-healthrather than inventing metrics. - Legacy ad hoc stream payloads are deprecated and should not be used by new producers.