> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allium.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Historical TVL Per Protocol

The `defillama.tvl.historical_agg_tvl` shows daily historical total value locked (TVL) in protocols.

## Columns

| Column Name           | Description                                                        |
| --------------------- | ------------------------------------------------------------------ |
| protocol\_name        | The full name of the DeFi protocol                                 |
| protocol\_id          | Unique identifier for the protocol in DefiLlama's system           |
| protocol\_slug        | URL-friendly version of the protocol name used in DefiLlama's URLs |
| total\_liquidity\_usd | The TVL of the protocol on this date                               |
| date                  | Deprecated column; see section below for more details              |
| actual\_timestamp     | The record timestamp from DefiLlama                                |
| nearest\_date         | The nearest date of `actual_timestamp` above                       |

## Caveat on Time Columns

For most cases, you should use the *nearest\_date* column. Here is why:

The data returned from DefiLlama has daily timestamps with time 00:00:00, except for the latest record which corresponds to the latest data available in DefiLlama. For example, if we scrape the data corresponding to the protocol at 4 Mar 03:00, we may get records with the timestamps:

* 1 Mar 00:00

* 2 Mar 00:00

* 3 Mar 00:00

* 3 Mar 23:00 (assuming data in DefiLlama corresponding to this protocol has freshness of 4 hours) The timestamps above are stored in the `actual_timestamp` column.

The deprecated `date` column truncates the times from the timestamp column above. In this case, it will store dates 1 Mar, 2 Mar, 3 Mar, and another 3 Mar. This is likely undesirable for you.

The `nearest_date` column instead rounds the time to the nearest date. In this case, it will store dates 1 Mar, 2 Mar, 3 Mar, and 4 Mar, ensuring that each date contains a data even when we fetch a slightly late data.
