Methodology — How InflowScan Tracks Crypto ETF Flows

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.

1. Daily ETF flows & T+1 settlement

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.

Verification layer

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.

Multi-source reconciliation

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.

2. FlowScore — 0 to 100, per asset

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:

  • ETF flow direction & momentum — whether creations or redemptions dominate, how large the move is relative to its recent norm, and whether the pattern is persisting day over day.
  • Market liquidity — the stablecoin “dry powder” backdrop: how much capital is sitting ready to deploy versus draining away.
  • Derivatives positioning — what the futures and options market is signalling about leverage and conviction.
  • Price-trend confirmation — whether price action corroborates or contradicts what the flow tape is doing.
  • Macro context — the broader risk backdrop the asset is trading into.

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.

3. Premium / discount — what it tells you

An ETF's premium or discount is the percentage gap between its market price and its net asset value (NAV). A positive number means the fund traded above the basket of crypto it holds; a negative number means it traded below. We track per-fund daily averages and surface them as part of the issuer-published flow record.

Spot crypto ETFs typically trade within tens of basis points of NAV. The mechanism that keeps the gap tight is intraday creation and redemption: when the ETF trades rich to its underlying, an authorized participant can buy the underlying spot (or futures hedge), deliver it to the issuer, and receive ETF shares to sell — collapsing the premium. When the ETF trades cheap, the opposite trade closes the discount. As long as APs can route between spot and ETF cheaply, the gap stays tight.

When premium widens beyond its usual band, that's a positioning signal. A persistent premium suggests buyers are willing to pay up for ETF wrapping rather than route to spot — usually because of allocation mandates that forbid direct crypto exposure. A persistent discount points the other way: holders want out faster than the AP arb can handle. Either condition tends to mean-revert within a session or two; what matters is the size of the deviation and whether it sticks.

We never aggregate premium across funds or across days that have partial coverage. If an issuer hasn't reported, the day's premium stat for that fund shows -- rather than a stale or interpolated value.

4. Daily coverage — how we know the day is in

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.

The aggregation rule

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.

Verification

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.

5. Brief cadence — eight types, eight slots

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.

BriefWhenDaysWhat it leads with
Pre-Market8:30 AM ETMon–FriYesterday's settled flow recap. The day's flow report-of-record.
Macro Pulse10:30 AM ETWednesdayMid-week macro tape: dollar, Nasdaq, 10Y yield read into crypto.
Midday12:00 PM ETDailyPositioning — funding, options, intraday narrative. Not a flow recap.
Closing Bell5:00 PM ETMon–FriThe day's price action and intraday range. Today's flows haven't settled yet.
Settled Flows Wrap10:15 PM ETMon–FriCloses the loop: today's T+0 flows are in. ~250 words, flow-only.
Weekly Recap10:15 AM ETSaturdayThe week in numbers, daily breakdown, and ETF leaderboard.
ETF Industry9:00 AM ETSundayFilings, launches, and the new-fund pipeline.
Week Ahead3:15 PM ETSundayLevels, 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.

6. Data integrity — the -- 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:

  • If a value can't be sourced and verified, the interface shows -- 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.
  • On a collection failure, the day is left honestly incomplete and flagged rather than backfilled with a fabricated row.
  • Rolling aggregates (7D, 30D, AUM) compute only over fully-reported days. A partial day in the window pushes the aggregate to the last complete day — or, if that's not possible, to --.
  • FlowScore degrades transparently. If an input dimension has no data, the surfaced confidence percentage drops; we never paper over a missing input with a synthetic substitute.
  • Briefs use hedged language for inference. Our editorial standards forbid investment advice, price predictions stated with certainty, and the standard generic-LLM tells.

The short version: when in doubt, blank wins. An obvious gap is honest; a confident-looking wrong number is not.