> For the complete documentation index, see [llms.txt](https://gitbook-docs.coinmetrics.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook-docs.coinmetrics.io/network-data/network-data-overview/exchange/point-in-time-flows.md).

# Point-in-Time Flows

## Overview

Point-in-time exchange flow metrics measure the same on-chain deposit, withdrawal, net-flow, and transfer-count activity as the standard [exchange flow metrics](/network-data/network-data-overview/exchange.md), but attribute that activity using only the addresses Talos had identified as belonging to the entity at the time. They are designed for historical analysis and backtesting where restating past intervals with newly discovered addresses would introduce look-ahead bias.

Every standard exchange flow metric on a supported asset has a point-in-time equivalent. Insert `Pit` immediately before the unit suffix (`Ntv`, `USD`, or `Cnt`) in the metric name. For example, Coinbase deposits in native units map from `FlowInCBSNtv` to `FlowInCBSPitNtv`. Point-in-time exchange flow metrics are published at **1d** and **1h** frequency. They are **not** available at block-by-block (1b) frequency.

Directional [pairwise flow](/network-data/network-data-overview/exchange/pairwise-flows.md#point-in-time-pairwise-flows) metrics use the same `Pit` naming pattern on the assets where pairwise flows are offered.

## At a Glance

<table data-full-width="true"><thead><tr><th>Data type</th><th>Entities</th><th width="159">Frequency / cadence</th><th>Unit</th><th>Primary endpoint</th></tr></thead><tbody><tr><td>Metric</td><td>Assets</td><td>1d, 1h</td><td>Native units, USD, transfer count</td><td><code>/timeseries/asset-metrics</code></td></tr></tbody></table>

## Metrics

Each standard exchange flow metric has a point-in-time counterpart, named by inserting `Pit` immediately before the unit suffix (`Ntv`, `USD`, or `Cnt`):

<table data-full-width="true"><thead><tr><th width="360">Standard metric</th><th>Point-in-time metric</th><th>Description</th></tr></thead><tbody><tr><td><code>FlowIn{Entity}Ntv</code> / <code>FlowIn{Entity}USD</code></td><td><code>FlowIn{Entity}PitNtv</code> / <code>FlowIn{Entity}PitUSD</code></td><td>Deposits to the entity. See <a href="/network-data/network-data-overview/exchange/deposits.md">Deposits</a>.</td></tr><tr><td><code>FlowOut{Entity}Ntv</code> / <code>FlowOut{Entity}USD</code></td><td><code>FlowOut{Entity}PitNtv</code> / <code>FlowOut{Entity}PitUSD</code></td><td>Withdrawals from the entity. See <a href="/network-data/network-data-overview/exchange/withdrawals.md">Withdrawals</a>.</td></tr><tr><td><code>FlowNet{Entity}Ntv</code> / <code>FlowNet{Entity}USD</code></td><td><code>FlowNet{Entity}PitNtv</code> / <code>FlowNet{Entity}PitUSD</code></td><td>Net flows for the entity. See <a href="/network-data/network-data-overview/exchange/net-flows.md">Net Flows</a>.</td></tr><tr><td><code>FlowTfrIn{Entity}Cnt</code></td><td><code>FlowTfrIn{Entity}PitCnt</code></td><td>Deposit transfer count for the entity.</td></tr><tr><td><code>FlowTfrOut{Entity}Cnt</code></td><td><code>FlowTfrOut{Entity}PitCnt</code></td><td>Withdrawal transfer count for the entity.</td></tr><tr><td><code>Sply{Entity}Ntv</code> / <code>Sply{Entity}USD</code></td><td><code>Sply{Entity}PitNtv</code> / <code>Sply{Entity}PitUSD</code></td><td>Supply held by the entity. See <a href="/network-data/network-data-overview/exchange/exchange-supply.md">Exchange Supply</a>.</td></tr><tr><td><code>TxExCnt</code></td><td><code>TxExPitCnt</code></td><td>Transaction count for exchanges. See <a href="/network-data/network-data-overview/exchange/transaction-count.md">Transaction Count</a>.</td></tr></tbody></table>

Replace `{Entity}` with the entity short code from the [exchange coverage table](/network-data/network-data-overview/exchange.md#exchange-on-chain-flows-and-supply-metrics-coverage). For example, Coinbase deposits in native units are `FlowInCBSPitNtv`, Binance withdrawals in native units are `FlowOutBNBPitNtv`, and Kraken net flows in native units are `FlowNetKRKPitNtv`. USD variants follow the same pattern (`FlowInCBSPitUSD`, `FlowOutBNBPitUSD`, and so on).

Aggregate metrics use `Ex` for all exchanges in place of `{Entity}` — for example, `FlowInExNtv` maps to `FlowInExPitNtv`, and `SplyExUSD` maps to `SplyExPitUSD`. Transfer-count aggregates follow the same rule (`FlowTfrFromExCnt` → `FlowTfrFromExPitCnt`, `FlowTfrToExCnt` → `FlowTfrToExPitCnt`).

Metrics whose names include `Incl` — the variants that include exchange-to-exchange transfers — place `Pit` before `Incl` rather than before the unit suffix. For example, `FlowInExInclNtv` maps to `FlowInExPitInclNtv`, and `FlowTfrFromExInclCnt` maps to `FlowTfrFromExPitInclCnt`.

## Asset and frequency coverage

Point-in-time exchange flow metrics ship on the same assets and at the same batch frequencies as the corresponding standard exchange flow metrics, with the exceptions noted below.

| Asset group                           | Assets (API symbols)                                                                                        | Pit exchange flows | Notes                                                                                                                                                                                                   |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Native                                | `btc`, `eth`                                                                                                | 1d, 1h             | Includes aggregate (`Ex`) and per-exchange metrics for the [on-chain exchange universe](/network-data/network-data-overview/exchange.md#exchange-on-chain-flows-and-supply-metrics-coverage).           |
| ERC-20 stablecoins and related tokens | `dai`, `usdc_eth`, `usdt_eth`, `usds_eth`, `usde_eth`, `usdg_eth`, `pyusd_eth`, `usd1_eth`, `usdc_base.eth` | 1d, 1h             | Same per-exchange deposit, withdrawal, and transfer-count coverage as standard ERC-20 exchange flows. Net-flow and exchange-supply Pit metrics follow the same per-asset rules as the standard metrics. |
| Pairwise (USDC only)                  | `usdc_eth`                                                                                                  | 1d, 1h             | See [Point-in-time pairwise flows](/network-data/network-data-overview/exchange/pairwise-flows.md#point-in-time-pairwise-flows).                                                                        |

**Miner exchange flows** (`FlowMiner*Pit*`): available for **`btc`** and **`eth`** at **1d only**, matching standard miner flow coverage.

**ETF flows**: point-in-time ETF metrics are documented separately for Bitcoin on the [ETF Point-in-Time Flows](/network-data/network-data-overview/exchange-traded-fund/point-in-time-flows.md) page.

At **1h**, point-in-time metrics mirror standard **1h** exchange flows: deposits, withdrawals, transfer counts, and aggregate exchange transaction count (`TxExPitCnt`). **Net flows** (`FlowNet*Pit*`), **exchange supply** (`Sply*Pit*`), and related **1d-only** per-exchange fields follow the same frequency rules as the standard metrics (typically **1d** on native assets).

For metric-level availability (including entities and history start), use the [Asset Metrics coverage tool](https://coverage.coinmetrics.io/asset-metrics-v2/FlowInExPitNtv) or [`/catalog-v2/asset-metrics`](https://api.coinmetrics.io/v4/catalog-v2/asset-metrics).

## Methodology

Standard and point-in-time exchange flow metrics answer the same question — how much value is held, and how much value moved into or out of an entity over an interval — but they differ in when an address counts as belonging to the entity.

### Standard vs. point-in-time

<table data-full-width="true"><thead><tr><th></th><th>Standard metrics</th><th>Point-in-time metrics</th></tr></thead><tbody><tr><td><strong>Address set</strong></td><td>All addresses <strong>currently known</strong> to belong to the entity. For example, a metric value for the date 2021-01-01 would include all addresses known at the current date, including addresses that had been discovered after 2021-01-01.</td><td>Only addresses <strong>known to belong to the entity at the time</strong> of the interval. For example, a metric value for the date 2021-01-01 would only include addresses that had been discovered on or prior to 2021-01-01.</td></tr><tr><td><strong>History start</strong></td><td>From each address's <strong>first non-zero balance</strong></td><td>From each address's <strong>date of discovery</strong> as an entity address</td></tr><tr><td><strong>Restatement</strong></td><td>Past values can change when new entity addresses are discovered later. This is done on an ad hoc basis and customers will be informed as and when any changes are made.</td><td>Past values are fixed; newly discovered addresses affect only intervals on or after their discovery date</td></tr><tr><td><strong>Best for</strong></td><td>Current monitoring and analysis using the fullest available address coverage</td><td>Point-in-time-correct backtests, research, and any workflow that must not inherit future address discoveries</td></tr></tbody></table>

For example, compare Coinbase exchange supply in native units:

<table data-full-width="true"><thead><tr><th width="360">Metric</th><th>Description</th></tr></thead><tbody><tr><td><code>SplyCBSNtv</code></td><td>The sum in native units held by Coinbase at the end of that interval. Metric values reflect activity of addresses <strong>currently known</strong> to belong to the entity, from each address's <strong>first non-zero balance</strong>.</td></tr><tr><td><code>SplyCBSPitNtv</code></td><td>The sum in native units held by Coinbase at the end of that interval. Metric values reflect activity of addresses <strong>known to belong to the entity at the time</strong>, from each address's <strong>date of discovery</strong> as an entity address.</td></tr></tbody></table>

Exchange flow metrics follow the same attribution logic. A deposit to an address that Talos later tags as belonging to Coinbase appears in `FlowInCBSNtv` for all historical intervals back to that address's first activity, but in `FlowInCBSPitNtv` only from the interval when the address was first identified as Coinbase.

## Accessing the Data

{% tabs %}
{% tab title="Python Client" %}

```python
from coinmetrics.api_client import CoinMetricsClient

api_key = "<API_KEY>"
client = CoinMetricsClient(api_key)

print(
    client.get_asset_metrics(
        assets="eth",
        metrics=["FlowInCBSNtv", "FlowInCBSPitNtv"],
        frequency="1h",
    ).to_dataframe()
)
```

{% endtab %}

{% tab title="Shell" %}

```shell
curl --compressed "https://api.coinmetrics.io/v4/timeseries/asset-metrics?assets=eth&metrics=FlowInCBSNtv,FlowInCBSPitNtv&frequency=1h&api_key=<your_key>"
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

response = requests.get(
    "https://api.coinmetrics.io/v4/timeseries/asset-metrics",
    params={
        "assets": "usdc_eth",
        "metrics": "FlowInCBSNtv,FlowInCBSPitNtv",
        "frequency": "1h",
        "api_key": "YOUR_API_KEY",
    },
).json()
```

{% endtab %}
{% endtabs %}

Full parameter reference: see the API Reference for [`/timeseries/asset-metrics`](https://docs.coinmetrics.io/api/v4/#operation/getTimeseriesAssetMetrics).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://gitbook-docs.coinmetrics.io/network-data/network-data-overview/exchange/point-in-time-flows.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
