Asset holders
Asset holders is measured as the number of unique addresses that hold a non-zero balance of a project’s assets. This metric is used by investors to track the expansion or contraction of the asset holder base over time. Data is aggregated daily for each tracked asset across all supported blockchain networks.
Token Terminal
Top 10 assets by asset holders
Latest asset holders
All assets (0)
Asset | Issuer | Market sector | Chains | View 30d | ||||
|---|---|---|---|---|---|---|---|---|
1. Overview
Asset holders is measured as the number of unique addresses that hold a non-zero balance of a project’s assets. This metric is used by investors to track the expansion or contraction of the asset holder base over time. Data is aggregated daily for each tracked asset across all supported blockchain networks.
2. Data sources
- EVM chain data: Ledger state and ERC-20
Transferevents, covering EVM-compatible chains (Ethereum, Arbitrum, Base, Polygon, Optimism, and others). - Solana instructions: SPL token account data and transfer instructions.
- Other chain types: Account and balance data from Aptos, Near, and Polkadot Asset Hub.
- Asset metadata: Token contract addresses and decimal precision retrieved from asset metadata.
3. Step-by-step calculation
Component A: Address balance identification
- Purpose: Identify all unique addresses associated with a specific token and determine their current holdings.
- Logic: For EVM-compatible chains, balances are derived by parsing ERC-20
Transferevents or by querying the ledger state for all addresses that have interacted with the token contract. On Solana, account balances are retrieved from the SPL token program. Similar account-based balance records are extracted for Aptos, Near, and Polkadot Asset Hub to identify the population of potential holders. - Key fields:
token_address(the contract address of the asset),address(the unique identifier of the holder),timestamp(the time of the state record).
Component B: Normalization and non-zero filtering
- Purpose: Ensure token amounts are accurate and exclude addresses that no longer hold the asset.
- Logic: Decimal precision is retrieved from token metadata for each asset. All raw amounts are normalized by decimal precision. A filter is applied to exclude any address where the resulting balance is zero. Only addresses with a positive balance are retained for the final count.
- Key fields:
amount(the normalized quantity of tokens held),decimals(the precision factor for the asset).
Component C: Daily aggregation and gap filling
- Purpose: Calculate the final daily count and ensure continuity in the time series.
- Logic: Unique addresses are counted for each asset per chain on a daily grain. The data is combined across all chains to provide a total holder count per asset. For days where no new balance changes are recorded, the metric is filled with zero values or the previous known state is maintained to ensure a continuous daily record.
- Key fields:
asset_holders(the count of unique addresses),timestamp(the day of the observation).