---
title: WGO Data Semantics and Freshness
description: Trading dates, settlement state, numerical precision, freshness, and analytical boundaries for WGO data.
---

# Data semantics and freshness

## Two different daily clocks

ETF and on-chain dates are not interchangeable:

| Dataset | Date field | Calendar |
| --- | --- | --- |
| ETF | `trade_date` | US ETF trading day |
| On-chain | `metric_date` | UTC calendar day |
| Realized liquidation | `bucket_start` | UTC hour or UTC day |
| Potential liquidation | `snapshot_at` | UTC snapshot time |

An ETF response's latest date can remain Friday during a weekend or US market
holiday. Always label reports using response dates, not the caller's local date.

## Settlement

- `settled` means the ETF observation is eligible for final daily analysis.
- `pending` means the observation can still be revised.
- `/etf/{symbol}/overview` uses settled observations only.
- `/etf/{symbol}/funds` without `trade_date` selects the latest settled date.
- `/etf/{symbol}/daily`, and a funds request with an explicit date, can expose pending data.

The ETF collector does not request the still-open New York trading day. Later
revisions can nevertheless change a previously collected record.

## On-chain completion state

`source_eod_completed_at` is the end-of-day completion time when known.
`has_flash_data=true` means at least one daily metric is provisional. Use `synced_at`
only as the time the current revision became available through the API; it is not the
metric's business date.

## Long-term-capital proxy

WGO calculates:

```text
latest cumulative net inflow - oldest cumulative net inflow in the window
```

The result is classified as `increased`, `decreased`, or `flat`. This proxy is useful
for judging whether net subscribed capital has accumulated over a period.

It does **not** identify investor identity or holding duration. In particular:

- Market makers also participate in ETF creations and redemptions.
- One investor can sell while another buys without changing aggregate shares.
- `total_net_assets_change` includes BTC/ETH price changes and cannot independently measure new capital.
- Per-fund daily flow does not prove that capital moved directly from one ETF to another.

## Numerical representation

Counts are JSON integers. Decimal amounts and ratios are returned as JSON strings to
avoid floating-point precision loss. Parse them with a decimal library for financial
calculation; do not convert large amounts directly to binary floating point.

Null means that no usable value is available for that field and date.
It must not be silently converted to zero.

## Liquidation scope

Realized liquidation amounts describe completed events. Potential liquidation buckets are
estimates from publicly visible positions without account-value or per-position notional
filters. They must not be treated as a market-wide order book. The `coverage` object is part
of the meaning of every snapshot.

## Data freshness

ETF and on-chain data is daily; realized liquidation history is refreshed hourly.
Potential liquidation data is returned as dated snapshots. This is a reporting service, not an
execution feed. Consumers
should determine freshness from `trade_date` or `metric_date`, `settlement_status`,
`has_flash_data`, `bucket_start`, or `snapshot_at` instead of assuming a fixed arrival time.

WGO data is not a trade recommendation.
