Maintained by: Dune · Refresh: ~30 min · Chains: 70+ blockchains
Get This Data
Access price data via API, Datashare, or the Dune App.
Key Features
- Multi-blockchain support: Prices for tokens across 70+ blockchains
- Multiple time granularities: minute, hourly, daily, and latest price data
- Source transparency: Each price point includes its data source
- Data quality: Comprehensive filtering to ensure price reliability
- Standardized native token addresses: Native tokens (like ETH, BNB) have fixed contract addresses for consistency
- Volume-weighted pricing: Prices are calculated using volume-weighted averages for more accurate representation
- Enhanced outlier detection: Multi-layered filtering system to reduce impact of anomalous trades
Available Tables
Theprices schema exposes these main tables:
| Table | Description |
|---|---|
prices.latest | The most recent price for each token |
prices.day | Daily token prices using hybrid approach |
prices.hour | Hourly token prices using hybrid approach |
prices.minute | Minute-by-minute token prices using hybrid approach |
Methodology
Hybrid Pricing Approach
All tables use the same methodology combining two data sources:-
Coinpaprika (~2,000 major tokens)
- External market data from aggregated exchanges
- Available at 5-minute intervals
- Aggregated to hourly/daily, interpolated for minute-level
-
DEX-derived (long tail tokens)
- On-chain trading activity from
dex.trades - Quality filtering to reduce anomalous trades:
- VWMP Outlier Detection: Prices deviating >3x from 7-day rolling median
- MAD Outlier Detection: Prices deviating >2x median absolute deviation
- Transfer Outlier Detection: Token amounts exceeding max transfer amounts
- Volume Outlier Detection: Trades <0.01 or >1M
- Aggregated into 1 hour intervals using volume-weighted averages
- Minimum $10k volume thresholds
- On-chain trading activity from
-
Forward-filling when no activity exists:
- Daily: 30 days max | Hourly: 7 days max | Minute: 2 days max
Coverage
- 900,000 unique tokens
- 70+ blockchains
- tokens are automatically added when they exceed a $10k volume threshold
Schema
All price tables share the following schema:| Column | Type | Description |
|---|---|---|
blockchain | varchar | Blockchain identifier (e.g., ‘ethereum’, ‘arbitrum’) |
contract_address | varbinary | Token contract address (fixed address for native tokens) |
symbol | varchar | Token symbol (e.g., ‘ETH’, ‘USDC’) |
price | double | USD price |
timestamp | timestamp | Timestamp (start of minute, hour, or day) |
decimals | int | Token decimals |
volume | double | Trading volume in USD (from price source) |
source | varchar | Data source (‘coinpaprika’ or ‘dex.trades’) |
Technical Notes
- Token identification: Requires both
contract_addressANDblockchain(symbols are not unique) - Native tokens: Use standardized addresses from
dune.blockchainstable. We mostly set native tokens to0x000... - Pricing independence: Calculated separately per blockchain
- Volume-weighted: Uses volume-weighted averages for accuracy
Solana Token Addresses
Solana tokens use base58-encoded mint addresses, but in Dune’s price tables they are stored asvarbinary in the contract_address column. To query Solana token prices, convert the base58 mint address to varbinary using from_base58():
Source-Specific Variants
For specialized analysis, each granularity offers source-specific tables: Coinpaprika-only tables:prices_external.day,prices_external.hour,prices_external.minute,prices_external.latest
prices_dex.day,prices_dex.hour,prices_dex.minute,prices_dex.latest
Usage Examples
Here are some examples of how to use the prices tables.Basic query to get the latest ETH price:
Getting historical price data:
Finding the right native token address:
Legacy Tables
The following tables are maintained for historical compatibility:prices.usd- View ofprices_external.minute(maintains legacy schema)
prices.usd is a view of prices_external.minute while preserving the legacy schema for backward compatibility.
When to Use These Tables
- Calculate USD values for token transfers, balances, and DeFi positions
- Build portfolio valuation tools and wallet trackers
- Power price feeds for dashboards, alerts, and automated reports
- Analyze token price movements and correlations across chains
- Benchmark token performance against market indices
Query Performance
Partition keys forprices.day, prices.hour, prices.minute: blockchain, contract_address
Always filter on blockchain and a time range. For specific tokens, also filter on contract_address or symbol.
Related Tables
tokens.erc20— Token metadata (symbols, decimals) for joining with price datadex.trades— DEX trading data (prices are partially derived from on-chain trades)tokens.transfers— Token transfers that can be valued using price tables