Where the numbers
come from.
Most platforms describe their data as “institutional-grade” and leave it there. This page names the sources, describes what happens when one of them fails, and states what the data cannot tell you.
Named upstreams, not an aggregator
EquitiesAlpaca for live US equities; Stooq for historical series.
OptionsAlpaca — full chains, greeks and open interest.
CryptoAlpaca and CoinGecko for spot pairs and market data.
PredictionKalshi and Polymarket event contracts and order books.
MacroBLS series releases and the US Treasury yield curve.
FilingsSEC EDGAR — 10-K, 10-Q, and Form 4 insider transactions.
PositioningCFTC Commitments of Traders.
Short interestFINRA daily short-volume ratio.
GeospatialGDELT events, NOAA weather, NASA FIRMS wildfire detection.
What happens between the source and your screen
Cache cascadeRequests resolve against a Cloudflare KV cache first and fall through to the provider only when the entry is older than its freshness window. That is what keeps a page load from becoming a provider call.
Stale-while-errorEntries are kept for seven days with a logical freshness stamp. If an upstream fails — outage, expired key, exhausted quota — you are served the last good value rather than an error. A stale number you can see the age of beats a blank panel.
Per-provider budgetsEvery provider has an explicit call budget: Alpaca 100/min, Finnhub 30/min, FRED 60/min, TwelveData 16/hour, AlphaVantage 12/day. Exceeding a budget is treated as our bug, not the provider’s problem.
Circuit breakersA 402, 403 or 429 from a provider trips a breaker and we stop calling it for a cooloff period rather than hammering a source that just told us to stop.
Scheduled prefetchA cron job keeps the common paths warm, so the cache is usually populated before you ask for it.
What this data cannot tell you
Not all real-timeCoverage depends on the provider and the plan behind it. Some series are delayed and some are end-of-day. Where a value has an age, the interface shows it — that is deliberate, not an oversight.
Coverage gaps are realFree and low-tier data has holes. Thinly traded names, some option chains and certain historical windows are sparse or absent. We would rather show a gap than fill it with an estimate.
Simulated is not realPaper trading and backtests are hypothetical. They do not model real fills, slippage or liquidity, and past or simulated performance does not indicate future results.
The analyst can be wrongLYNX reasons over this data and cites what it used. Citations let you check it — they do not make it right. Treat it as a fast analyst, not an oracle.
The full per-feed breakdown — every integration and market, with its upstream — lives in the data directory.