The defillama.tvl.historical_agg_token_values shows daily historical token values of protocols.

Columns

Column NameDescription
protocol_nameThe full name of the DeFi protocol
protocol_idUnique identifier for the protocol in DefiLlama’s system
protocol_slugURL-friendly version of the protocol name used in DefiLlama’s URLs
token_value_usdThe USD token value held by the protocol on this date
coingecko_token_idThe unique identifier of the token on CoinGecko
dateDeprecated column; see section below for more details
actual_timestampThe record timestamp from DefiLlama
nearest_dateThe nearest date of actual_timestamp above
token_ethereum_addressThe contract address of the token on Ethereum network (if applicable)
token_polygon_addressThe contract address of the token on Polygon network (if applicable)
token_solana_addressThe 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.