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
Check Price Coverage
You can test the coverage of the prices tables on this dashboard.
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
Enterprise Data Solutions
Need custom pricing feeds or dedicated support? Talk to our enterprise team.
Build Custom Models
Build private pricing pipelines with the dbt Connector.