---
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 |

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 reached the WGO API database; 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.

## Collection cadence

Both datasets are collected daily and revisions are synchronized to the API database
in short intervals. This is a daily reporting service, not a real-time feed. Consumers
should determine freshness from `trade_date` or `metric_date`, `settlement_status`,
`has_flash_data`, and `synced_at` instead of assuming a fixed arrival time.

The WGO API normalizes and stores daily observations but does not convert them into
trade recommendations.
