Overview | EVM Balances | Dune
Historical and current token balances and balance changes across 21 EVM chains.
Overview
Defensible historical and current balances for tax, audit, custodian, and treasury workflows.
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.
Historical coverage
- EVM chains: 21
- Wallets covered: 1.8B
- Tokens covered: 39.2M
Who this is for
Tax, audit, and reconciliation teams
See what any wallet held at any point in time, down to the transaction that moved each balance.
Compliance and risk teams
Check holdings for any group of addresses across 21 chains, at a specific date or over a date range.
Wallets, custodians, and exchanges
Monitor what your users hold today and how it changes day to day, at scale.
Research and analytics teams
Track how token ownership is distributed and how it shifts over time.
How teams use this dataset
Produce onchain balance sheets
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.
Monitor counterparty and market exposure
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.
Build portfolio and custody views
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.
Track DEX and protocol liquidity
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.
Analyze token ownership distribution
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.
Dune vs DIY
| 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 |
FAQ
How fresh is the data?
updates, daily_updates, and latest refresh hourly across all 21 chains.
Which tables are in the dataset?
Three per chain: block-level updates, daily granularity in daily_updates, and current-state latest. Same schema across every supported chain.
Does this include Bitcoin, Solana, or other non-EVM chains?
Not in this dataset.
Is this a live wallet API?
No. This is historical analytical balances for warehouse, dashboard, and reporting workflows.
Can this be delivered to my warehouse?
Yes. Get this data into your Snowflake, BigQuery, and Databricks via Dune Datashare. Scope and refresh depend on which chains, addresses, and date ranges you need.
How do I get access?
This dataset is available for enterprise customers only.
Tax & audit
Binance 2025 balance sheet
| Token | Balance (units) | USD |
|---|---|---|
| USDT | 41.78b | $41.75b |
| ETH | 3.89m | $11.59b |
| wBETH | 2.96m | $9.58b |
| USDC | 2.80b | $2.80b |
| USD1 | 947.07m | $946.75m |
| LINK | 73.27m | $905.72m |
| USDe | 460.69m | $460.18m |
| SHIB | 65.27t | $457.79m |
| UNI | 69.29m | $404.66m |
| PEPE | 84.60t | $345.85m |
| Other | — | $3.31b |
| Total | — | $72.54b |
Compliance
Monitor counterparty and market exposure
Track what a defined group of addresses holds over time.
Wallets, custodians & exchanges
Build portfolio and custody views
Current and historical holdings for any address, at any scale.
Research
Analyze token ownership distribution
See how a token's supply is distributed across its full holder base.
Get access
Three tables per chain. Same shape across all 21 EVM chains. Switch chains by switching the prefix.
Updates
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.
Granularity
- BLOCK
Refresh
- HOURLY
Daily Updates
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.
Example SQL
SELECT d.timestamp as day
, i.token_address
, i.balance
, i.balance_usd
FROM balances_ethereum.daily_updates i
JOIN utils.days d
ON d.timestamp >= CURRENT_DATE - INTERVAL '30' day
AND d.timestamp < CURRENT_DATE
AND d.timestamp >= i.valid_from
AND d.timestamp < i.valid_to
WHERE i.address = 0xd8da6bf26964af9d7eed9e03e53415d37aa96045
AND i.address_prefix = 'd8'
AND i.valid_from <= CURRENT_DATE
AND i.valid_to > CURRENT_DATE - INTERVAL '30' day
ORDER BY d.timestamp
Latest
Current holdings, per address and token. The most recent known balance for every (address, token) pair.
Granularity
- LATEST STATE
Refresh
- HOURLY
Request access
Missing a chain or contract? Request coverage.
Ways to access the data
Datashare
Sync the full balances schema to Snowflake, BigQuery, or Databricks. No API limits.
Dune Data Hub
Query the balances schema directly in Dune's SQL editor. Start from a template or write your own.
Dune API
Programmatic access to the balances schema. Same shape, REST-ready for pipelines, integrations, and product features.
Dune MCP
Plug balances data into Claude, Cursor, Codex, and other MCP-compatible agents.