FlowDensity
BOT-FIRST · THE UI IS A RENDERER OF THIS

Developers

Every number on every screen of this product is one of these endpoints, rendered. Your bot reads the same truth at the same instant.

ENDPOINTS · v1
GET/v1/snapshot/event-riskboard, sorted
GET/v1/snapshot/volumervol + z, cross-sectional
GET/v1/calendarmarket-wide, 90d
GET/v1/calendar/{symbol}per-asset clock
GET/v1/reads/{symbol}pressure reads · paid
GET/health/deepsleeves, providers, store
QUICKSTART
$ curl -s \
  -H "X-API-Key: $FD_KEY" \
  https://api.flowdensity.com/v1/snapshot/event-risk

# every envelope, every endpoint:
{ asset, signal, score,
  components{}, confidence,
  freshness, as_of }

# missing data is null + reason.
# never fabricated. design your
# bot to trust the nulls.
SIGNAL ENVELOPE · FIELD BY FIELD identical contract to AttentionDensity — one parser, two feeders
scorefloat | null0–100, cross-sectional, full-range by construction. null = honest None, with reason.
componentsobjectevery input the score used — rvol, z, next_catalyst, implied_move. Nullable per field.
confidencefloat 0–1capped when inputs are missing; cap reason shipped alongside. Render it next to the score.
freshnessenumlive · stale · degraded. Degraded means gaps, not guesses — stale values are never carried forward.
as_ofISO 8601computation time, UTC. Every number can answer "where did you come from?"
Access tiers
LAYER 0 Signal API

The scores themselves. Free leaderboard; metered API tiers for bots and terminals.

free → metered · pricing TBD
LAYER 1 Pressure Reads

Flux's bounded interpretation — generated once per asset per cycle from the structured packet, cached, resold. Claims cite packet fields. Describes; never predicts.

subscription · pricing TBD
LAYER 2 Cross-feeder synthesis

FlowDensity × AttentionDensity in one read: "attention 4σ above baseline, flow flat — crowd talk without money confirmation." Only possible here.

premium · pricing TBD