Back to Worldmonitor

Indicators & Signals

docs/panels/indicators-and-signals.mdx

2.10.07.5 KB
Original Source

WorldMonitor ships many tile-style indicator, correlation, and signal panels — compact surfaces that show one or two readings each and are designed to be composed alongside the deep-dive panels. This page is the collective reference so each tile is findable without writing a dedicated page per panel.

When a tile is empty, check Data Sources and the health endpoint for upstream status.

Sentiment tiles

Panel idTitleWhat it shows
fear-greedFear & GreedCNN Fear & Greed Index gauge (0-100).
positioning-24724/7 PositioningAlways-on positioning flow signal.
aaii-sentimentAAII SentimentAAII bull/bear retail sentiment survey (weekly).

Macro tiles

Panel idTitle
macro-tilesMacro Indicators (CPI, unemployment, GDP, policy rates; US + Euro Area)
yield-curveYield Curve
national-debtGlobal Debt Clock
liquidity-shiftsLiquidity Shifts
macro-signalsMarket Regime / Market Radar

Calendars

Panel idTitle
earnings-calendarEarnings Calendar (EPS estimate vs actual, beat/miss)
economic-calendarEconomic Calendar (CPI / NFP / GDP / PMI / central bank decisions)

Market-structure tiles

Panel idTitle
market-breadthMarket Breadth
etf-flowsBTC ETF Tracker
cot-positioningCOT Positioning

Commodity tiles

Panel idTitle
energy-complexEnergy Complex
oil-inventoriesOil Inventories
base-metalsBase Metals
gold-silverGold & Silver
gold-intelligenceGold Intelligence
mining-companiesMining Companies
critical-mineralsCritical Minerals
fao-food-price-indexFAO Food Price Index
grocery-basketGrocery Index
bigmacBig Mac Index
fuel-pricesFuel Prices

Crypto tiles

Panel idTitle
crypto-heatmapCrypto Sectors
ai-tokensAI Tokens
defi-tokensDeFi Tokens
other-tokensAlt Tokens
stablecoinsStablecoins

Regional economy tiles

Panel idTitle
gulf-economiesGulf Economies / Gulf & OPEC Economies
gcc-investmentsGCC Investments / GCC Resource Investments
gccNewsGCC Business News

Correlation panels

These panels visualise cross-domain correlation over a rolling window — useful for spotting regime shifts and unusual co-movement.

Panel idTitleCross-domain pair
military-correlationForce PostureMilitary × events
escalation-correlationEscalation MonitorConflict/protest events (45%) + conflict-linked outages (25%) + escalation news severity (30%) over 48h
economic-correlationEconomic WarfareSanctions × markets
disaster-correlationDisaster CascadeNatural × infra
cross-source-signalsCross-Source SignalsMulti-source signal agreement

Misc signals

Panel idTitleWhat it shows
geo-hubsGeopolitical HubsHotspot concentration map.
social-velocitySocial VelocityReddit r/worldnews + r/geopolitics velocity; same feed as the MCP get_social_velocity tool.
population-exposurePopulation ExposurePopulation within a buffer of active events.
satellite-firesFiresFIRMS/VIIRS thermal detections on the map. See Thermal Escalation for the clustered + baseline-aware view.
ucdp-eventsUCDP Conflict EventsUCDP georeferenced conflict event dataset.
internet-disruptionsInternet DisruptionsCloudflare Radar outages + service status.
service-statusService StatusInternet-service status surface.
positive-feedGood News FeedCurated constructive-news stream.
live-webcamsLive WebcamsSee Webcam layer for the map-layer equivalent.
windy-webcamsWindy Live WebcamWindy.com-backed webcam.

Infrastructure-backed endpoints

The compact infrastructure tiles use the generated InfrastructureService client. internet-disruptions, DDoS summaries, traffic anomalies, service-status, and server-computed temporal anomalies read bootstrap data first when available, then call the REST RPC when bootstrap data is absent, filtered, or stale. Utility routes such as IP geolocation, reverse geocoding, bootstrap cache reads, and baseline writes are data-plane routes rather than standalone tiles.

MethodRouteWhat it feeds
GET/api/infrastructure/v1/list-internet-outagesInternet Disruptions map/tile data from Cloudflare Radar; fetchInternetOutages() uses bootstrap outages first, then this RPC.
GET/api/infrastructure/v1/list-service-statusesService Status tile; fetchServiceStatuses() uses bootstrap serviceStatuses first, then this RPC with optional status filtering.
GET/api/infrastructure/v1/get-cable-healthCable layer and infrastructure cascade context; see Infrastructure Cascade Analysis for the cable-specific workflow.
GET/api/infrastructure/v1/get-temporal-baselineClient-side temporal anomaly checks for metrics such as military flights, vessels, protests, AIS gaps, and satellite fires.
GET/api/infrastructure/v1/list-temporal-anomaliesServer-computed temporal anomalies for news and satellite fires; bootstrap temporalAnomalies is consumed first, then fetchLiveAnomalies() can call this route.
GET/api/infrastructure/v1/list-internet-ddos-attacksDDoS attack summaries from Cloudflare Radar; fetchDdosAttacks() uses bootstrap ddosAttacks first, then this RPC.
GET/api/infrastructure/v1/list-internet-traffic-anomaliesTraffic anomaly events from Cloudflare Radar; bootstrap trafficAnomalies is used for the unfiltered view, while country-filtered reads call this RPC.
GET/api/infrastructure/v1/get-ip-geoCaller IP geolocation utility for infrastructure-aware experiences; no panel hydrates from it directly.
GET/api/infrastructure/v1/reverse-geocodeCoordinate-to-place lookup utility for API consumers and v1 callers; some UI paths still use the legacy thin /api/reverse-geocode helper.
GET/api/infrastructure/v1/get-bootstrap-dataBatch cache read RPC for selected bootstrap/cache keys; complements the top-level bootstrap hydration path.
POST/api/infrastructure/v1/record-baseline-snapshotBackground baseline update used by temporal anomaly tracking; it writes observations and does not render a visible tile by itself.

Shared behaviour

  • All panels above are free unless noted otherwise — none are premium: 'locked' in src/config/panels.ts.
  • Compact tiles are registered across multiple variants; the per-variant registration determines whether a tile is enabled by default. Check src/config/panels.ts directly when confirming availability.
  • Most tile-style panels hydrate from the bootstrap payload (getHydratedData(...)) and fall back to a fresh RPC call so the initial paint is immediate.