Skip to main content
The prices.minute table provides minute-level price data for tokens across multiple blockchains using the same hybrid approach as all other price tables:
  1. Coinpaprika prices for tokens where we have reliable external data (~2,000 major tokens)
  2. DEX-derived prices for the long tail of tokens not covered by coinpaprika
Minute-level data uses interpolation from hourly anchor points to provide smooth, continuous pricing.
Minute-level data uses interpolation between hourly anchor points for smooth pricing. Forward-filling is applied for up to 48 hours when no trading activity exists.

Table Schema

ColumnTypeDescription
blockchainvarcharBlockchain identifier (e.g., ‘ethereum’, ‘arbitrum’)
contract_addressvarbinaryToken contract address (fixed address for native tokens)
symbolvarcharToken symbol (e.g., ‘ETH’, ‘USDC’)
timestamptimestampMinute timestamp
pricedoubleToken price in USD (volume-weighted average)
decimalsintToken decimals
volumedoubleTrading volume in USD (from price source)
sourcevarcharData source (‘coinpaprika’ or ‘dex.trades’)

Table Sample

Implementation Details

The minute prices are built using the hybrid approach with interpolation:
  1. Source prioritization: Coinpaprika prices for ~2,000 major tokens, DEX-derived prices for long tail tokens
  2. Hourly interpolation: Uses hourly data as anchor points for linear interpolation
  3. Linear interpolation: Implements interpolation between hourly anchor points to create smooth minute-level data
  4. Noise reduction: Reduces noise and outliers by using stable hourly data points as anchors
  5. Forward-filling: The system forward-fills with the last available price for a maximum of 48 hours (2880 minutes) to avoid stale data
  6. Continuous time series: Provides minute-by-minute data points for every minute between hourly anchors

Source-Specific Variants

prices_external.minute

For purely coinpaprika-based minute prices:
  • Coverage: Only tokens with Coinpaprika listings (~2,000 tokens)
  • Source: External exchange-aggregated minute pricing with interpolation
  • Use case: When you need minute-level external price validation
  • Key role: Serves as the underlying source for the prices.usd legacy view
  • Schema: Same as prices.minute but source is always ‘coinpaprika’

prices_dex.minute

For purely DEX-derived minute prices:
  • Coverage: All tokens with sufficient DEX trading volume
  • Source: On-chain DEX trading activity with interpolation
  • Use case: When you need minute-level pricing that reflects on-chain activity
  • Schema: Same as prices.minute but source is always ‘dex.trades’

Usage

This table is ideal for high-frequency analysis and examining short-term price movements. It’s particularly useful for studying price impacts of specific events or transactions with high temporal precision. Important Notes:
  • The minute-level data is interpolated from hourly anchor points using the hybrid approach
  • Provides comprehensive token coverage through coinpaprika and DEX-derived sources
  • Provides smooth and consistent pricing while reducing the impact of noise and outliers

Latency and Update Frequency

The prices.minute table is updated hourly based on the upstream data pipeline. As a result, prices typically have a latency of approximately 1 hour from real-time.

Usage Examples

Here are some examples of how to use the prices tables.

Get minute-by-minute ETH prices during a specific event:

SELECT
  timestamp,
  price
FROM prices.minute
WHERE
  blockchain = 'ethereum'
  AND contract_address = 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -- WETH
  AND timestamp >= NOW() - INTERVAL '2' HOUR
  AND timestamp <= NOW() - INTERVAL '1' HOUR
ORDER BY timestamp

Analyze price volatility within short time frames:

SELECT
  date_trunc('hour', timestamp) as hour,
  max(price) - min(price) as price_range,
  (max(price) - min(price)) / min(price) * 100 as volatility_pct
FROM prices.minute
WHERE
  blockchain = 'ethereum'
  AND contract_address = 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -- WETH
  AND timestamp >= NOW() - INTERVAL '1' DAY
GROUP BY 1
ORDER BY 1

Data Quality Notes

  • Due to its high granularity, queries on this table may be more resource-intensive
  • Consider using prices.hour or prices.day for longer time ranges if minute-level precision is not required
  • Comprehensive coverage: Includes both coinpaprika and DEX-derived tokens through hybrid approach
  • Native tokens (like ETH, BNB) are assigned fixed addresses for consistency
  • Always use contract_address and blockchain for precise token identification, never use symbol for joins or filters
  • Interpolated Pricing: Minute-level data is interpolated from hourly anchor points using hybrid methodology
  • Reduced Noise: The interpolation approach reduces the impact of noise and outliers
  • 48-Hour Forward-Fill: The system forward-fills with the last available price for a maximum of 48 hours (2880 minutes) to avoid stale data
  • External source reliability: Coinpaprika data provides stable, exchange-aggregated pricing
  • DEX-derived limitations: DEX-derived prices can contain errors due to low liquidity, market manipulation, or anomalous trades
  • Fallback option: For critical applications, consider using prices_external.minute for more reliable pricing where available
  • Data validation: Always validate prices for critical applications, especially for lesser-known tokens