# Point-in-Time Metrics

Point-in-Time (PIT) metrics provide a consistent, **immutable** view of data as it was known at a specific moment in the past. This is critical for building robust and reliable systematic strategies, research, and backtesting. Unlike traditional mutable metrics that may change retroactively, PIT metrics preserve historical data without applying any future knowledge or corrections that emerged later.

### Why Point-in-Time?

Many datasets evolve over time due to late-arriving information, retrospective corrections, or refined methodologies. If not handled carefully, this can introduce [*look-ahead bias*](https://newyork.qwafafew.org/wp-content/uploads/sites/4/2015/10/Luo_20150128.pdf), where a model or analysis unintentionally uses information that wasn't actually available at the time — leading to misleading results.

PIT metrics solve this by freezing data as it was *known at the time*, avoiding hindsight adjustments and ensuring results are reproducible and free from future information leaks.

📖 **Further Reading:** [*Your Backtest Is Lying: Why You Must Use Point-in-Time Data*](https://insights.glassnode.com/why-use-point-in-time-data/)

> 📌 **Recommendation**: All systematic use cases (e.g., algorithmic trading, quantitative models, historical backtesting) **should rely on PIT metrics** for historical data.

### Common Reasons for Data Mutations

Even in a blockchain context, some data can change post-factum due to:

* **Clustering for Entity Adjustment**: As more heuristics or address linkages are discovered, historical metrics may be adjusted to reflect refined entity-level data (e.g., exchange wallets).
* **Late-Reported Data**: Off-chain or external data sources may deliver information with a delay (e.g. perpetual futures positions of a single exchange, or blockchain data that requires additional confirmations).
* **Data Corrections**: Improvements in off-chain datasets can lead to retroactive corrections.

PIT metrics eliminate the impact of such updates by recording and serving data exactly as it appeared at that time.

### Response format

PIT metric responses are the same as the regular variant, with one additional field per datapoint: `computed_at`. This field indicates at what time the datapoint was added into our system. We started tracking this data since 2024, the computed\_at field is omitted from earlier PIT datapoints.

Simple PIT timeseries metrics look like this:

```
[
  {
    "t": 1758585600,
    "v": 700017744,
    "computed_at": 1758685140
  },
...
```

Multi-timeseries PIT metrics look like this:

```
[
  {
    "t": 1758585600,
    "o": {
      "1d_1w": 67801800.87019362,
      "1m_3m": 61961089.16651055,
      "1w_1m": 7858184.390406752,
      "1y_2y": 212210.47253626725,
      "24h": 136026264.4282406,
      "2y_3y": 77661.69283392503,
      "3m_6m": 2498347.3922234857,
      "3y_5y": 145433.61576217506,
      "5y_7y": 0,
      "6m_12m": 1737574.3098036172,
      "7y_10y": 0,
      "aggregated": 278318566.33851117,
      "more_10y": 0
    },
    "computed_at": 1758684766
  },
...
```

Bulk PIT responses look like this:

```
{
  "data": [
    {
      "t": 1758585600,
      "bulk": [
        {
          "a": "SOL",
          "category": "7y_10y",
          "v": 0,
          "computed_at": 1758684987
        },
...
```

### Computed At

Since September 2024, we have been recording a `computed_at` timestamp for relevant data points. This field is included in API responses when available and omitted otherwise.

Please note that there is a delay between the `computed_at` timestamp and when the data becomes available (published) in our API. The table below summarizes the observed lag $$t$$ (time from computation to publication):

|                 | Lag $$t$$ |
| --------------- | --------- |
| Median          | 15 s      |
| 90th percentile | 1:07 min  |
| 95th percentile | 2:15 min  |
| 99th percentile | 9:42 min  |

### Metrics coverage

Please note that historical PIT data is only available from the exact date we began tracking it for a given metric.

* **Before July 2025:** PIT tracking was limited to BTC, ETH, and select tokens, and was only supported for the specific metrics listed below. They rely on address labeling and clustering, which makes them prone to mutations.
* **July 2025 to Present:** We expanded our coverage to track PIT data for all metrics across the platform.

**Important:** Because PIT history only exists from the moment tracking begins, any metrics that had PIT enabled in July 2025 will not contain historical PIT data prior to that date.

<details>

<summary>Pre-July 2025 PIT Supported Metrics</summary>

```
/addresses/accumulation_balance_pit
/addresses/accumulation_count_pit
/addresses/receiving_from_exchanges_count_pit
/addresses/sending_to_exchanges_count_pit
/bridges/deposits_by_chain_pit
/bridges/net_volume_by_chain_pit
/bridges/total_value_locked_by_chain_pit
/bridges/total_value_locked_by_chain_relative_pit
/bridges/withdrawals_by_chain_pit
/distribution/balance_1pct_holders_pit
/distribution/balance_exchanges_all_pit
/distribution/balance_exchanges_pit
/distribution/balance_exchanges_relative_pit
/distribution/balance_german_government_pit
/distribution/balance_miners_all_pit
/distribution/balance_miners_change_pit
/distribution/balance_miners_sum_pit
/distribution/balance_mtgox_trustee_pit
/distribution/balance_otc_desks_pit
/distribution/balance_us_government_pit
/distribution/balance_wbtc_pit
/distribution/exchange_net_position_change_pit
/distribution/gini_pit
/distribution/herfindahl_pit
/distribution/supply_contracts_pit
/entities/active_count_pit
/entities/min_1k_count_pit
/entities/net_growth_count_pit
/entities/new_count_pit
/entities/profit_relative_pit
/entities/receiving_count_pit
/entities/sending_count_pit
/entities/supply_balance_0001_001_pit
/entities/supply_balance_001_01_pit
/entities/supply_balance_01_1_pit
/entities/supply_balance_100_1k_pit
/entities/supply_balance_10_100_pit
/entities/supply_balance_10k_100k_pit
/entities/supply_balance_1_10_pit
/entities/supply_balance_1k_10k_pit
/entities/supply_balance_less_0001_pit
/entities/supply_balance_more_100k_pit
/entities/supply_distribution_relative_pit
/eth2/deposited_by_provider_volume_sum_pit
/fees/exchanges_mean_pit
/fees/exchanges_relative_pit
/fees/exchanges_sum_pit
/fees/gas_used_sum_bridges_pit
/fees/gas_used_sum_bridges_relative_pit
/fees/gas_used_sum_defi_pit
/fees/gas_used_sum_defi_relative_pit
/fees/gas_used_sum_erc20_pit
/fees/gas_used_sum_erc20_relative_pit
/fees/gas_used_sum_nfts_pit
/fees/gas_used_sum_nfts_relative_pit
/fees/gas_used_sum_stablecoins_pit
/fees/gas_used_sum_stablecoins_relative_pit
/fees/gas_used_sum_vanilla_pit
/fees/gas_used_sum_vanilla_relative_pit
/fees/tx_types_breakdown_relative_pit
/fees/tx_types_breakdown_sum_pit
/indicators/accumulation_trend_score_pit
/indicators/asol_account_based_pit
/indicators/asol_lth_account_based_pit
/indicators/asol_sth_account_based_pit
/indicators/cdd90_account_based_age_adjusted_pit
/indicators/cdd_account_based_pit
/indicators/cdd_lth_account_based_pit
/indicators/cdd_sth_account_based_pit
/indicators/cyd_account_based_pit
/indicators/cyd_account_based_supply_adjusted_pit
/indicators/dormancy_account_based_pit
/indicators/dormancy_flow_pit
/indicators/dormancy_lth_account_based_pit
/indicators/dormancy_sth_account_based_pit
/indicators/liveliness_account_based_pit
/indicators/msol_account_based_pit
/indicators/mvrv_account_based_pit
/indicators/net_unrealized_profit_loss_account_based_pit
/indicators/nupl_less_155_account_based_pit
/indicators/nupl_more_155_account_based_pit
/indicators/nvt_entity_adjusted_pit
/indicators/rcap_account_based_pit
/indicators/realized_loss_account_based_pit
/indicators/realized_loss_lth_account_based_pit
/indicators/realized_loss_lth_to_exchanges_account_based_pit
/indicators/realized_loss_sth_account_based_pit
/indicators/realized_loss_sth_to_exchanges_account_based_pit
/indicators/realized_loss_to_exchanges_account_based_pit
/indicators/realized_profit_account_based_pit
/indicators/realized_profit_loss_lth_sth_relative_pit
/indicators/realized_profit_loss_lth_sth_to_exchanges_relative_pit
/indicators/realized_profit_lth_account_based_pit
/indicators/realized_profit_lth_to_exchanges_account_based_pit
/indicators/realized_profit_sth_account_based_pit
/indicators/realized_profit_sth_to_exchanges_account_based_pit
/indicators/realized_profit_to_exchanges_account_based_pit
/indicators/sopr_account_based_pit
/indicators/svab_entity_adjusted_pit
/indicators/svl_entity_adjusted_1d_1w_pit
/indicators/svl_entity_adjusted_1m_3m_pit
/indicators/svl_entity_adjusted_1w_1m_pit
/indicators/svl_entity_adjusted_1y_2y_pit
/indicators/svl_entity_adjusted_24h_pit
/indicators/svl_entity_adjusted_2y_3y_pit
/indicators/svl_entity_adjusted_3m_6m_pit
/indicators/svl_entity_adjusted_3y_5y_pit
/indicators/svl_entity_adjusted_5y_7y_pit
/indicators/svl_entity_adjusted_6m_12m_pit
/indicators/svl_entity_adjusted_7y_10y_pit
/indicators/svl_entity_adjusted_more_10y_pit
/indicators/unrealized_loss_account_based_pit
/indicators/unrealized_profit_account_based_pit
/indicators/urpd_entity_adjusted_pit
/mining/revenue_sum_pit
/mining/volume_mined_sum_pit
/supply/amer_1y_supply_change_pit
/supply/apac_1y_supply_change_pit
/supply/emea_1y_supply_change_pit
/supply/highly_liquid_sum_pit
/supply/illiquid_change_pit
/supply/illiquid_sum_pit
/supply/liquid_change_pit
/supply/liquid_illiquid_sum_pit
/supply/liquid_sum_pit
/supply/lth_loss_sum_pit
/supply/lth_net_change_pit
/supply/lth_profit_sum_pit
/supply/lth_sth_profit_loss_relative_pit
/supply/lth_sum_pit
/supply/sth_loss_sum_pit
/supply/sth_profit_loss_ratio_pit
/supply/sth_profit_sum_pit
/supply/sth_sum_pit
/transactions/entity_adjusted_count_pit
/transactions/transfers_between_exchanges_count_pit
/transactions/transfers_count_bridges_pit
/transactions/transfers_count_bridges_relative_pit
/transactions/transfers_count_defi_pit
/transactions/transfers_count_defi_relative_pit
/transactions/transfers_count_erc20_pit
/transactions/transfers_count_erc20_relative_pit
/transactions/transfers_count_nfts_pit
/transactions/transfers_count_nfts_relative_pit
/transactions/transfers_count_stablecoins_pit
/transactions/transfers_count_stablecoins_relative_pit
/transactions/transfers_count_vanilla_pit
/transactions/transfers_count_vanilla_relative_pit
/transactions/transfers_exchanges_to_whales_count_pit
/transactions/transfers_from_coinjoins_count_pit
/transactions/transfers_from_exchanges_count_pit
/transactions/transfers_from_miners_count_pit
/transactions/transfers_from_otc_desks_count_pit
/transactions/transfers_to_exchanges_count_pit
/transactions/transfers_to_miners_count_pit
/transactions/transfers_to_otc_desks_count_pit
/transactions/transfers_volume_between_exchanges_sum_pit
/transactions/transfers_volume_by_size_entity_adjusted_relative_pit
/transactions/transfers_volume_by_size_entity_adjusted_sum_pit
/transactions/transfers_volume_entity_adjusted_from_lth_loss_sum_pit
/transactions/transfers_volume_entity_adjusted_from_lth_profit_sum_pit
/transactions/transfers_volume_entity_adjusted_from_lth_sth_profit_loss_relative_pit
/transactions/transfers_volume_entity_adjusted_from_lth_sum_pit
/transactions/transfers_volume_entity_adjusted_from_sth_loss_sum_pit
/transactions/transfers_volume_entity_adjusted_from_sth_profit_sum_pit
/transactions/transfers_volume_entity_adjusted_from_sth_sum_pit
/transactions/transfers_volume_entity_adjusted_mean_pit
/transactions/transfers_volume_entity_adjusted_median_pit
/transactions/transfers_volume_entity_adjusted_sum_pit
/transactions/transfers_volume_exchanges_net_by_size_pit
/transactions/transfers_volume_exchanges_net_pit
/transactions/transfers_volume_exchanges_to_whales_sum_pit
/transactions/transfers_volume_from_coinjoins_sum_pit
/transactions/transfers_volume_from_exchanges_mean_pit
/transactions/transfers_volume_from_exchanges_sum_pit
/transactions/transfers_volume_from_miners_sum_pit
/transactions/transfers_volume_from_otc_desks_sum_pit
/transactions/transfers_volume_lth_sth_to_exchanges_profit_loss_relative_pit
/transactions/transfers_volume_lth_to_exchanges_loss_sum_pit
/transactions/transfers_volume_lth_to_exchanges_profit_sum_pit
/transactions/transfers_volume_lth_to_exchanges_sum_pit
/transactions/transfers_volume_miners_net_pit
/transactions/transfers_volume_miners_to_exchanges_all_pit
/transactions/transfers_volume_miners_to_exchanges_pit
/transactions/transfers_volume_sth_to_exchanges_loss_sum_pit
/transactions/transfers_volume_sth_to_exchanges_profit_sum_pit
/transactions/transfers_volume_sth_to_exchanges_sum_pit
/transactions/transfers_volume_to_exchanges_mean_pit
/transactions/transfers_volume_to_exchanges_sum_pit
/transactions/transfers_volume_to_miners_sum_pit
/transactions/transfers_volume_to_otc_desks_sum_pit
/transactions/transfers_volume_whales_to_exchanges_sum_pit
/transactions/transfers_volume_within_exchanges_sum_pit
/transactions/transfers_whales_to_exchanges_count_pit
/transactions/tx_types_breakdown_count_pit
/transactions/tx_types_breakdown_relative_pit
```

</details>

### Learn More

* [Full article on Point-in-Time metrics](https://insights.glassnode.com/introducing-point-in-time-data/)


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.glassnode.com/data/point-in-time-metrics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
