Historical wallet holdings shouldn't require an engineering team. Dune reconstructs balances across 21 EVM chains. Tax, audit, custody, and treasury teams query the holdings they need. Every figure traceable to the event that moved it.
See what any wallet held at any point in time, down to the transaction that moved each balance.
Check holdings for any group of addresses across 21 chains, at a specific date or over a date range.
Monitor what your users hold today and how it changes day to day, at scale.
Track how token ownership is distributed and how it shifts over time.
Reconstruct what any address or set of addresses held on any date, by token, in USD. Used for fiscal year-end reporting, audit-period reconstruction, quarterly snapshots, and beneficial ownership disclosure.
Explore use caseTrack what a defined group of addresses holds over time: exchanges, custodians, lending markets, or any curated list. Filter by token and date range to scope the analysis.
Explore use caseCurrent and historical holdings for any address, at any scale, from a single customer wallet to an entire user base. Same query shape whether you're tracking one account or a million.
Explore use caseDaily token holdings across a large address set. Here applied to Uniswap V2 and V3 pools, but the same pattern works for any exchange's hot wallets or a custodian's full address book.
Explore use caseSee how a token's supply is distributed across its full holder base, and how that distribution shifts over time. Cut by wallet count, supply share, or holding tier.
Explore use case| Key features | Dune | DIY (build it yourself) |
|---|---|---|
| Get to a defensible historical balance | One query | Months of indexer work across transfers, traces, and RPC |
| Add a new EVM chain | Change the table prefix | Stand up a new indexer per chain |
| Handle native, wrapped, and chain-specific tokens | Normalized in the data itself | Per-chain custom logic, brittle to upstream changes |
| Apply retroactive historical corrections | Absorbed upstream. Your queries don't change | Re-run your pipeline; reconcile against your old outputs |
| Query a date-bounded historical range | Fast even on date-range queries | Scan or rebuild snapshots day-by-day |
Tax & audit
Reconstruct what any address or set of addresses held on any date, by token, in USD. Used for fiscal year-end reporting, audit-period reconstruction, quarterly snapshots, and beneficial ownership disclosure.
Open audit & tax collection| Token | Balance (units) | USD |
|---|
Compliance
Track what a defined group of addresses holds over time: exchanges, custodians, lending markets, or any curated list. Filter by token and date range to scope the analysis.
Wallets, custodians & exchanges
Current and historical holdings for any address, at any scale, from a single customer wallet to an entire user base. Same query shape whether you're tracking one account or a million.
Wallets, custodians & exchanges
Daily token holdings across a large address set. Here applied to Uniswap V2 and V3 pools, but the same pattern works for any exchange's hot wallets or a custodian's full address book.
Research
See how a token's supply is distributed across its full holder base, and how that distribution shifts over time. Cut by wallet count, supply share, or holding tier.
Three tables per chain. Same shape across all 21 EVM chains. Switch chains by switching the prefix.
Every event that moved a balance, recorded at the block. Each row is a balance-changing event for one address and one token. Transfers, native sends, wrapped-native deposits, miner rewards, all reconstructed into a single schema with the resulting balance.
Daily granularity for any address, any token, any date range. Daily balance updates, stored as validity intervals. Each row is valid until the next change. Compute dense daily rows for the cohort you need.
Current holdings, per address and token. The most recent known balance for every (address, token) pair. The table to query when "right now" is the answer: portfolio views, treasury monitors, and compliance feeds.
Flexible pricing based on your actual usage. Start with a preview dataset today.
Missing a chain or contract?
Sync the full balances schema to Snowflake, BigQuery, or Databricks. No API limits.
Query the balances schema directly in Dune's SQL editor. Start from a template or write your own.
Programmatic access to the balances schema. Same shape, REST-ready for pipelines, integrations, and product features.
Plug balances data into Claude, Cursor, Codex, and other MCP-compatible agents.