Timeseries endpoints
| Endpoint | Granularity | Use case |
|---|---|---|
/v4/assets/aggregates/timeseries | Asset-level | Track NAV, supply, or holders for one or many assets |
/v4/tokens/aggregates/timeseries | Token-level | Break down metrics by chain (e.g., supply per network) |
The aggregate block
Timeseries queries use anaggregate block to control grouping, time resolution, and computation mode:
groupBy
Controls how results are grouped. Each unique group becomes a separate series in the response.| Value | Description | Returns |
|---|---|---|
asset | Group by asset | One series per asset |
token | Group by token | One series per on-chain token (chain-level granularity) |
asset_class | Group by asset class | One series per asset class |
network | Group by network | One series per blockchain network |
date | No entity grouping | A single combined series |
interval
The time resolution of each data point.| Value | Description |
|---|---|
day | One point per day |
week | One point per week |
month | One point per month |
year | One point per year |
mode
How values are computed within each interval.| Value | Description | Use when |
|---|---|---|
stock | Point-in-time snapshot (latest value in the period) | Tracking balances, NAV, supply, holders — metrics that represent a state |
flow | Accumulated over the period | Tracking mints, burns, transfers — metrics that represent activity |
stock returns the supply at the end of each month. For monthly mints, flow returns the total minted during each month.
aggregateFunction
| Value | Description |
|---|---|
sum | Sum values across the group |
avg | Average across the group |
min | Minimum value in the group |
max | Maximum value in the group |
Discovering available measures
Every timeseries query requires ameasure_slug filter to specify which metric to retrieve. Use the meta endpoints to discover available measures:
measure_slug field in the response lists all available measures as selectOptions. You can also browse measures in the Data Catalog.
Common measures:
| Slug | Description |
|---|---|
net_asset_value_dollar | NAV in USD |
price_dollar | Price in USD |
circulating_supply_token | Circulating token supply |
circulating_market_value_dollar | Circulating market value in USD |
circulating_asset_value_dollar | Circulating asset value in USD |
holding_addresses_count | Number of unique holders |
daily_mints_dollar | Daily mint volume in USD |
daily_burns_dollar | Daily burn volume in USD |
daily_transfer_volume_dollar | Daily transfer volume in USD |
apy_7_day | 7-day APY |
apy_30_day | 30-day APY |
Response format
Timeseries responses differ from list endpoints. Each result contains a measure descriptor, a group descriptor, and an array of points:| Field | Description |
|---|---|
measure | The metric being returned (slug, name, unit) |
group | What the data is grouped by — a specific asset, token, asset class, etc. |
points | Array of [date, value] pairs in chronological order |
Examples
Track an asset’s NAV over time
aggregate block is provided, the endpoint defaults to daily granularity grouped by the entity type.
Compare token supply across chains
UsegroupBy: "token" to get a separate series for each on-chain deployment:
Aggregate an entire asset class over time
UsegroupBy: "asset_class" to sum across all assets in a category:
Choosing the right endpoint
| Question | Endpoint | groupBy |
|---|---|---|
| What is this asset’s total NAV over time? | /v4/assets/aggregates/timeseries | asset |
| How is supply distributed across chains? | /v4/tokens/aggregates/timeseries | token |
| What’s the total market size of an asset class? | /v4/assets/aggregates/timeseries | asset_class |
| What are daily mints per network? | /v4/tokens/aggregates/timeseries | network |
| What’s the total value of all assets combined? | /v4/assets/aggregates/timeseries | date |