> ## 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 Token Amounts Per Protocol Per Chain

The `defillama.tvl.historical_token_amounts_per_chain` shows daily historical total amounts per (protocol, chain) pair. This is useful if a protocol operates on many chains and you only wish to look into that protocol's metrics in a particular chain.

## Columns

| Column Name              | Description                                                           |
| ------------------------ | --------------------------------------------------------------------- |
| chain                    | The chain corresponding to the record                                 |
| 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    |
| token\_amount            | The quantity of tokens held by the protocol on this date              |
| coingecko\_token\_id     | The unique identifier of the token on CoinGecko                       |
| 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                          |
| token\_symbol            | The abbreviated symbol of the token (e.g. 'ETH', 'USDT')              |
| token\_name              | The full name of the token                                            |
| token\_ethereum\_address | The contract address of the token on Ethereum network (if applicable) |
| token\_polygon\_address  | The contract address of the token on Polygon network (if applicable)  |
| token\_solana\_address   | The token address on Solana network (if applicable)                   |

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