Skip to main content
Schema: flow.price Table: dim_asset_metadata Type: View

price__dim_asset_metadata

Description

A comprehensive dimensional table containing raw asset metadata from multiple price providers. This table serves as the foundation for asset identification and metadata management across different blockchain networks and price data sources. It contains uncurated, provider-specific data that may include duplicates, inconsistencies, and data quality issues inherent to the source APIs. The table maintains the original provider structure to preserve data lineage and enable source-specific analysis.

Key Use Cases

  • Asset Discovery and Identification: Finding all available assets across different price providers and blockchain networks
  • Data Quality Analysis: Identifying inconsistencies, duplicates, and gaps in asset metadata across providers
  • Provider Comparison: Analyzing how different price providers categorize and describe the same assets
  • Cross-Chain Asset Mapping: Understanding how assets are represented across different blockchain networks
  • Data Lineage Tracking: Maintaining audit trails for asset metadata changes and provider updates
  • Raw Data Access: Providing access to unprocessed asset metadata for custom curation and analysis

Important Relationships

  • price__ez_asset_metadata: Curated, deduplicated version of this table with one record per unique asset
  • price__fact_prices_ohlc_hourly: Links to price data through asset_id and provider
  • price__ez_prices_hourly: Provides curated price data for assets in this dimension
  • core__dim_contract_labels: May overlap with contract-based assets for additional labeling
  • evm/core_evm__dim_contracts: For EVM-based tokens, provides additional contract metadata

Commonly-used Fields

  • PROVIDER: Essential for filtering by data source and understanding data provenance
  • ASSET_ID: Primary identifier for joining with price fact tables and other asset-related data
  • TOKEN_ADDRESS: Critical for blockchain-specific operations and smart contract interactions
  • BLOCKCHAIN: Key for cross-chain analysis and blockchain-specific filtering
  • SYMBOL: Commonly used for asset identification in reports and dashboards
  • NAME: Human-readable asset name for display and reporting purposes

Columns

Column NameData TypeDescription
TOKEN_ADDRESSTEXTThe blockchain-specific contract address or identifier for the token asset. Data type: STRING. This field contains the unique address where the token contract is deployed on its respective blockchain network. Used for token identification, contract verification, cross-chain asset mapping, and blockchain-specific operations. Example: ‘0xa0b86a33e6441b8c4c8c8c8c8c8c8c8c8c8c8c8c’ for USDC on Ethereum, NULL for native assets like Bitcoin or Flow. Critical for DeFi operations, smart contract interactions, and maintaining accurate token mappings across different blockchain networks.
ASSET_IDTEXTThe unique identifier representing the asset within the price provider’s system. Data type: STRING. This field serves as the primary key for identifying specific assets across different price providers and data sources. Used for joining price data with asset metadata, tracking price movements over time, and maintaining referential integrity between fact and dimension tables. Example: ‘bitcoin’ for Bitcoin on CoinGecko, ‘ethereum’ for Ethereum on CoinMarketCap. Critical for data lineage, asset identification, and cross-provider data reconciliation in financial analytics and reporting workflows.
SYMBOLTEXTThe ticker symbol or abbreviated code representing the asset. Data type: STRING. This field contains the short, standardized identifier used in trading, price displays, and market data. Used for quick asset identification, trading interfaces, price feeds, and cross-platform asset matching. Example: ‘BTC’ for Bitcoin, ‘ETH’ for Ethereum, ‘FLOW’ for Flow, ‘USDC’ for USD Coin. Critical for market data integration, trading operations, and maintaining consistency across different exchanges and price providers.
NAMETEXTThe full name of the asset as provided by the price data source. Data type: STRING. This field contains the human-readable, official name of the cryptocurrency, token, or digital asset. Used for display purposes, user interfaces, reporting, and asset identification in analytics dashboards. Example: ‘Bitcoin’ for BTC, ‘Ethereum’ for ETH, ‘Flow’ for FLOW. Important for user experience, data presentation, and maintaining consistency across different price providers and blockchain networks.
BLOCKCHAINTEXTThe blockchain network or platform where the asset is native or primarily traded. Data type: STRING. This field identifies the specific blockchain ecosystem that hosts the asset’s smart contract or where the native asset operates. Used for cross-chain analytics, multi-chain portfolio tracking, and blockchain-specific filtering and grouping. Example: ‘ethereum’ for ETH and ERC-20 tokens, ‘flow’ for FLOW and Flow-native assets, ‘bitcoin’ for BTC. Critical for understanding asset distribution across blockchain networks, cross-chain bridge analysis, and multi-chain DeFi analytics.
BLOCKCHAIN_IDTEXTThe unique numeric identifier for the blockchain network or platform. Data type: INTEGER. This field provides a standardized way to identify blockchain networks across different systems and APIs. Used for blockchain network identification, cross-platform data integration, and maintaining consistent blockchain references. Example: 1 for Ethereum mainnet, 137 for Polygon, 0 for Bitcoin. Important for chain ID validation, cross-chain bridge operations, and maintaining referential integrity in multi-chain analytics systems.
PROVIDERTEXTThe data provider or source for the asset metadata or price record. Data type: STRING. This field identifies the external service, API, or protocol that supplied the asset or price data (e.g., ‘CoinGecko’, ‘CoinMarketCap’, ‘Dapper’, ‘Flow Oracle’). Used for data quality analysis, source attribution, and filtering by provider. Example: ‘CoinGecko’ for token prices, ‘Dapper’ for Flow-native asset metadata. Important for understanding data provenance, resolving discrepancies, and ensuring data reliability in analytics workflows.
INSERTED_TIMESTAMPTIMESTAMP_NTZ
MODIFIED_TIMESTAMPTIMESTAMP_NTZ
DIM_ASSET_METADATA_IDTEXTpk_id is a surrogate primary key, uniquely generated for each row in the table. Data type: STRING or INTEGER (implementation-specific). This field ensures every record is uniquely identifiable, even if the source data lacks a natural primary key. Used for efficient joins, deduplication, and as a reference in downstream models. Example: an auto-incremented integer or a UUID string. Essential for maintaining data integrity and supporting dbt tests for uniqueness.