The world, frozen at an instant. Market price snapshots and source health metadata — the raw material from which predictions are made and against which they are judged.
Snapshot data flow: ~90 data sources Data Node Next.js API (crypto, flights, collects & stores proxies to browser weather, trains...) in SQLite | | | +---> fetch/poll ---> +--- /vision/snapshot -> +---> /api/vision/snapshot | every 5 min | | +---> fetch/poll ---> +--- /market/stats ----> +---> /api/vision/snapshot/meta | | | +---> fetch/poll ---> + | | Grid view: GET /api/vision/snapshot | Returns up to 5000 assets | Capped at 200 per source | | Detail: GET /api/vision/snapshot?source=crypto | Returns up to 10,000 assets for | that single source |
Optional. When provided, returns assets only from that source (up to 10,000). Without it, returns a capped grid view (up to 200 per source, 5,000 total).
Grid view capping: Source Raw assets Capped to ---------- ---------- --------- crypto 10,000 200 defi 6,000 200 earthquake 150 150 (under cap) flights 3,200 200 weather 500 200 trains 1,800 200 ... Total grid: up to ~5,000 assets displayed
Status
Meaning
200
Snapshot returned
502
Data-node upstream unavailable
Snapshots are cached for 30 seconds at the CDN. The totalAssets field always reflects the true count from the data-node, even when the prices array is capped.
status = "healthy" if activeAssets > 0 AND newest record < 7 days old status = "stale" if activeAssets > 0 AND newest record > 7 days old status = "stale" if activeAssets > 0 AND no newest record timestamp status = "not_started" if activeAssets == 0
Status
Meaning
200
Metadata returned (cached 30s, stale-while-revalidate 60s)