Market Intelligence

Settings & System Health

Provider status, scan history, and how this dashboard is put together.

Last Scan

GroupProviderSucceededFailedUniverse Size
cryptoBinance (public market data)202
eu-stockDemo (synthetic)50050
us-stockDemo (synthetic)47047
ucits-etfDemo (synthetic)25025
us-etfDemo (synthetic)24024
indexDemo (synthetic)606

Last scan completed: 11 Aug, 02:54

Data Sources

Europe / UCITS ETFsDEMO

Stooq (the intended free EOD source) currently returns a JavaScript proof-of-work anti-bot challenge that cannot be solved without violating the no-bypass rule. Runs on synthetic demo data, clearly labeled, until a real free/licensed source is available.

US Stocks / ETFsDEMO (no API key set)

Finnhub free tier — real-time US quotes, 60 calls/min, no card required. Set FINNHUB_API_KEY to switch on real data.

Crypto (BTC/ETH)LIVE

Binance public, read-only market-data endpoints. No account, no key, no trading integration.

FX / IdentifiersNot yet wired into the scan loop

Frankfurter (FX) and OpenFIGI (ISIN verification) were used during universe curation; live FX conversion in the UI is a v1.1 item.

Scheduling (once deployed)

Europe/UCITS (EOD groups) are intended to scan twice daily, timed to when Euronext/Xetra publish a new close. US stocks/ETFs and crypto (intraday groups) are intended to scan roughly every 2 hours during their respective active hours. GitHub Actions' free scheduler is documented as best-effort and can run late under load — this dashboard always shows the actual last-scan and scanned timestamps rather than assuming a fixed cadence. Not yet deployed to a live scheduler; currently run manually via npm run scan.

Cost

Every configured service is free-tier with no card on file: GitHub Actions, Finnhub, Binance public endpoints, Cloudflare Pages/Access (once deployed). Expected recurring cost: €0/month.