InflowScan publishes a daily read on US-listed spot crypto ETF flows, premium and discount, derivatives positioning, and the composite FlowScore. This page documents how each number is sourced, validated, aggregated, and surfaced. It also explains when we deliberately show -- instead of a value — the operating principle that runs through every screen on the site.
Daily creations and redemptions for every US-listed spot Bitcoin, Ethereum, Solana, and XRP ETF are tracked at the per-fund level — one settled figure per fund per trading date. Writes are idempotent, so reruns and issuer corrections overwrite rather than duplicate, and the record for any given day converges on a single authoritative value once that day is fully reported.
The data is on a T+1 cadence. When a fund prints a creation or redemption on Monday, that activity settles overnight and is reported by the issuer the following morning. So when the dashboard says “Monday's net flow,” that figure is finalized the next business day, not Monday evening. This is why “today's” flow number on the dashboard is always partial until late in the trading day: issuers publish at different times — some report overnight, others not until mid-afternoon the next day. Multiple automated ingestion passes run through the trading day and the following morning to capture each issuer as it lands.
The prior trading week is fully settled by the start of the next week. Any single “today” cell on the dashboard during the day should be read as a snapshot — not a closing total. The Settled Flows Wrap brief each weekday evening is the editorial closing-bell for the day's flow data.
Every row passes an independent consistency check before publishing. Rows that fail are held for review and never published — they do not reach the public dashboard or the brief writer. A held figure stays out of view, an operator alert fires, and a human reviews before it is released or corrected. This is what keeps a bad upstream print from leaking into a brief or a screen.
Single-source data is a single point of failure. Flows are sourced from multiple independent, institutional-grade providers and reconciled against one another. We publish only the values that agree within our tolerance; when providers disagree materially, we hold the figure for review rather than guess. When one source is late or incomplete for a given day, the others backstop coverage so the record stays whole without ever substituting an unverified number.
A held figure is released only when the providers come back into agreement, the issuer publishes a correction that the feeds pick up, or an operator reviews and clears it after a manual cross-check. See our reconciliation overview for how disagreements are resolved.
FlowScore is a daily composite score for each tracked asset (BTC, ETH, SOL, XRP). It blends five input dimensions into a single 0–100 number, with 50 as a neutral midpoint, and is recomputed once per day after the previous session's flows have settled. The five dimensions, in plain English:
Each dimension contributes to the composite. If a dimension has no data on a given day — say derivatives data is delayed — FlowScore degrades transparently and we surface a lower confidence percentage alongside the score: a FlowScore computed with all five dimensions reporting reads at full confidence, and a missing dimension pulls confidence down accordingly. We never paper over a missing input with a synthetic substitute.
The composite also drives a plain-English market-state label: Confirmation (flows and price aligned and strong), Accumulation (flows leading price), Divergence (price leading without flow support), Distribution (both weak), and Transition for the in-between cases. The label is shorthand for what the data is doing — it is not a recommendation.
Interpretation buckets: 0–25 bearish, 26–45 weak, 46–55 neutral, 56–70 constructive, 71–85 bullish, 86–100 strong. The score is structural, not predictive. It tells you what the flow tape and the surrounding tape are doing right now — it is not investment advice.
We track per-issuer reporting completeness for each trading day — which issuers have reported for that date and which are still outstanding. A day is only treated as settled once every active fund has reported. Until then the day is partial, and the dashboard treats it accordingly.
We do not compute 7-day, 30-day, or AUM-style aggregates over a window that contains any partial-coverage day. Rolling aggregates compute only over fully-reported days: if the window would otherwise sweep up an in-progress day, the aggregate either trails back to the last fully-settled day (preferred) or surfaces as --. The rule is one-directional — it is fine to display today's per-fund partial values with a date stamp; it is not fine to roll those values into a “7-day total” that pretends to be settled.
Automated verification passes run through the day and the following morning to re-check consistency and update each day's completeness status as issuers land. If a fund is still missing past the expected window, an alert fires and the day is held rather than rolled up as if it were complete.
InflowScan Staff publishes briefs on a weekly cadence built around when ETF flow data actually lands and when institutional readers want it. Each slot serves a distinct editorial purpose — we don't run the same recap three times a day with different timestamps. All times are Eastern.
| Brief | When | Days | What it leads with |
|---|---|---|---|
| Pre-Market | 8:30 AM ET | Mon–Fri | Yesterday's settled flow recap. The day's flow report-of-record. |
| Macro Pulse | 10:30 AM ET | Wednesday | Mid-week macro tape: dollar, Nasdaq, 10Y yield read into crypto. |
| Midday | 12:00 PM ET | Daily | Positioning — funding, options, intraday narrative. Not a flow recap. |
| Closing Bell | 5:00 PM ET | Mon–Fri | The day's price action and intraday range. Today's flows haven't settled yet. |
| Settled Flows Wrap | 10:15 PM ET | Mon–Fri | Closes the loop: today's T+0 flows are in. ~250 words, flow-only. |
| Weekly Recap | 10:15 AM ET | Saturday | The week in numbers, daily breakdown, and ETF leaderboard. |
| ETF Industry | 9:00 AM ET | Sunday | Filings, launches, and the new-fund pipeline. |
| Week Ahead | 3:15 PM ET | Sunday | Levels, catalysts, and the calendar for the coming week. |
Pre-Market publishes in the institutional reading window before the 9:30 AM NYSE open, once the prior session's fast-reporting flow data is in hand. Closing Bell deliberately ships before the day's T+0 flows settle, which is why it leads with price action and references prior-session flows as backdrop — not as today's headline. Settled Flows Wrap covers the gap: it posts a terse evening anchor once the day's flow data has landed, closing the loop on the trading day.
Bylines are always “InflowScan Staff.” Voice targets a desk-strategist morning note — confident in observation, hedged in inference. We don't predict prices, give portfolio advice, or pretend a flat day is a story.
-- rule
Every screen and every brief on InflowScan obeys a single hard rule: no data is better than bad data. When a number is missing, stale, or sourced inconsistently, the surface shows -- or an explicit empty state. We do not approximate, interpolate, or fall back to a plausible-looking value. A credible-looking wrong number is worse than an obvious blank, because users trust the chart and act on it.
What this looks like in practice:
-- rather than a fabricated number — across every screen, chart, and downstream brief. A failed data fetch never falls back to a stale or placeholder value.--.The short version: when in doubt, blank wins. An obvious gap is honest; a confident-looking wrong number is not.