ETF endpoints
WGO exposes US spot ETF data at aggregate and fund-ticker granularity. All monetary fields are currently denominated in US dollars unless a field explicitly states otherwise. Decimal values are JSON strings to preserve precision.
ETF overview
GET /api/wgo/v1/etf/{symbol}/overviewUse this endpoint for a daily report. It considers only settled ETF observations.
| Parameter | Type | Default | Constraint |
|---|---|---|---|
symbol | path string | — | BTC or ETH |
window | query integer | 30 | 2–365 latest settled observations |
curl --fail --silent --show-error \
-H "Authorization: Bearer ${MOBIUSQUANT_TOKEN}" \
"https://api.mobiusquant.ai/api/wgo/v1/etf/ETH/overview?window=30"Overview fields
| Field | Meaning |
|---|---|
as_of | Latest settled US ETF trading date, or null when no data exists |
window_requested | Requested maximum number of observations |
observations | Settled observations actually available |
latest.net_inflow | Aggregate net flow on as_of |
latest.direction | inflow, outflow, or flat |
flow_streak.direction | Direction of the latest observation |
flow_streak.days | Consecutive observations with that direction; zero when latest is flat |
period.net_inflow | Sum of daily net flows across returned observations |
period.inflow_days | Number of positive-flow observations |
period.outflow_days | Number of negative-flow observations |
period.flat_days | Number of zero-flow observations |
long_term_capital_proxy.direction | increased, decreased, or flat |
long_term_capital_proxy.cumulative_net_inflow_change | Latest cumulative flow minus oldest cumulative flow in the window |
long_term_capital_proxy.total_net_assets_change | AUM change over the same observations; includes price effects |
If there is no settled data, latest, period, and long_term_capital_proxy are null, while flow_streak.direction is none.
Daily aggregate history
GET /api/wgo/v1/etf/{symbol}/daily| Parameter | Type | Default | Constraint |
|---|---|---|---|
symbol | path string | — | BTC or ETH |
start | query date | omitted | Inclusive YYYY-MM-DD |
end | query date | omitted | Inclusive YYYY-MM-DD |
limit | query integer | 90 | 1–1000 |
Rows are ordered by trade_date descending. This endpoint may contain a pending row; filter on settlement_status when a report requires final data.
{
"symbol": "BTC",
"count": 1,
"data": [
{
"country_code": "US",
"symbol": "BTC",
"trade_date": "2026-08-21",
"total_net_inflow": "307453306.12",
"total_value_traded": "6371116431",
"total_net_assets": "96069419933.81248",
"cum_net_inflow": "53706123160.808",
"settlement_status": "settled",
"synced_at": "2026-08-23T14:46:53.392330+00:00"
}
]
}Per-fund breakdown
GET /api/wgo/v1/etf/{symbol}/funds| Parameter | Type | Default | Constraint |
|---|---|---|---|
symbol | path string | — | BTC or ETH |
trade_date | query date | latest settled date | YYYY-MM-DD |
Rows are sorted by net_inflow descending, with missing values last. Supplying an explicit date can return pending records; omitting it selects the latest date with settled per-fund data.
{
"symbol": "BTC",
"trade_date": "2026-08-21",
"count": 1,
"data": [
{
"country_code": "US",
"symbol": "BTC",
"ticker": "IBIT",
"name": "iShares Bitcoin Trust",
"exchange": "NASDAQ",
"trade_date": "2026-08-21",
"net_inflow": "239278720",
"cum_inflow": "62426677463.659996",
"net_assets": "59014515840",
"currency_share": "43.664",
"prem_dsc": "0.0003664345914253797",
"value_traded": "5206871551",
"settlement_status": "settled",
"synced_at": "2026-08-23T14:47:00.581971+00:00"
}
]
}prem_dsc is a ratio: 0.001 means approximately 0.1%. currency_share is a fund-share value; it is not a US-dollar flow field.
Analytical boundary
Per-fund records can show which listed ETF received or lost capital on a trading day. They cannot reveal intraday transfers, individual orders, beneficial owners, or whether the same investor moved capital between two funds.