This dashboard is a client of the same free, public API you can hit directly — agent-native first: REST for everyone, MCP for your agent.
| GET /v1/underlyings | the Underlying catalog (?venue=, ?representation=) |
| GET /v1/underlyings/:id | one Underlying |
| GET /v1/weekend-tape/:underlying | latest composite + is_tradfi_open + dispersion_bps |
| GET /v1/weekend-tape/:underlying/series | 1-minute composite series (?limit=, ?from=, ?to=) |
| GET /v1/monday-scoring | the honest, published accuracy record (all names) |
| GET /v1/monday-scoring/:underlying | one name's record + fully auditable per-session scores |
| GET /v1/basis/:underlying | basis vs reference + spread matrix + depeg flags |
| GET /v1/instruments/:underlying | mapped Instruments across venues (+ latest price) |
| GET /v1/implied-borrow/:underlying | perp-funding-implied annualized borrow per venue + cross-venue median (?series=true) |
| GET /v1/corp-actions | whole-market split/halt forensics (mishandled first) |
| GET /v1/corp-actions/:underlying | one name's reference splits, supply events, and per-venue verdicts |
| GET /v1/tracking-error/:underlying | basis-over-time (RMSE/mean/stdev) per Instrument (?series=true) |
| GET /v1/liquidity | the Liquidity Reality league — depth + $100k slippage, best execution first |
| GET /v1/liquidity/:underlying | one name's per-venue depth + $100k slippage |
| GET /v1/exposure | total on-chain equity exposure by wrapper (?series=true); CEX 24h volume separate |
| GET /v1/exposure/:underlying | one name's spot AUM + perp OI decomposition |
| GET /v1/events | the wtf feed of detected anomalies (?type=, ?severity=, ?underlying=) |
| GET /v1/freshness | per-venue (and per venue×stream) capture freshness + stale flags |
| GET /v1/coverage | coverage grid (underlyings × venues) + new listings |
| GET /v1/flows | spot mint/burn flow + raw holder counts (dust-adjusted: Phase 4) |
| GET /v1/flows/:underlying | one name's per-token flows |
| GET /v1/calendar | today's US session + next open/close (holiday-aware) |
curl https://api.equities.wtf/v1/weekend-tape/AAPL
# {"underlying":"AAPL","status":"ok","data":{
# "composite_price":"227.40","venue_count":7,
# "venues":["aster","avantis","bitget","bybit","dinari","hl","ostium"],
# "dispersion_bps":"12.4","ts":"...","is_tradfi_open":false}}Prices are exact decimal strings — the API never routes a price through a float, and neither does this dashboard. An empty database returns empty results, a downed database returns a clean 503, and unknown names return a 404.
The same query layer ships as MCP tools — list_underlyings, get_weekend_tape, get_monday_accuracy, get_basis, get_instruments, get_implied_borrow, get_corp_actions, get_tracking_error, get_liquidity, get_exposure, get_events, get_freshness, get_coverage, get_flows, get_calendar — so your agent can embed the whole exposure map without scraping this site. Every metric this dashboard displays is retrievable through these tools; there is no private data path.
# live mode NEXT_PUBLIC_API_URL=http://localhost:8080 # demo mode (no API needed): deterministic sample data, # clearly labeled, matching the contract exactly NEXT_PUBLIC_DATA_MODE=mock