Skip to main content
Schema: somnia.price Table: ez_asset_metadata Type: Base Table

What

This curated dimensional table provides comprehensive metadata for tokens and native assets across EVM blockchains. It serves as the authoritative source for asset information, with quality checks and verification status to ensure reliability.

Key Use Cases

  • Asset discovery and verification checking
  • Cross-chain asset mapping and analysis
  • Token metadata lookup for display purposes
  • Filtering for verified or native assets only

Important Relationships

  • Join with ez_prices_hourly: For price data enrichment
  • Join with ez_token_transfers: For transfer metadata

Commonly-used Fields

  • token_address: Contract address (NULL for native assets)
  • symbol: Token ticker symbol
  • name: Full asset name
  • decimals: Token decimal places
  • is_verified: Flipside verification status
  • is_native: Native asset flag
  • blockchain: Network identifier

Sample Queries

Verified Asset Discovery
-- Find all verified USD stablecoins
SELECT 
    blockchain,
    token_address,
    name,
    symbol,
    decimals,
    is_verified
FROM <blockchain_name>.price.ez_asset_metadata
WHERE is_verified = TRUE
    AND (
        symbol IN ('USDC', 'USDT', 'DAI', 'BUSD')
        OR name ILIKE '%USD%'
        OR name ILIKE '%stablecoin%'
    )
    AND is_native = FALSE
ORDER BY blockchain, symbol;
Cross-Chain Asset Mapping
-- Find same assets across multiple chains
WITH asset_presence AS (
    SELECT 
        symbol,
        name,
        COUNT(DISTINCT blockchain) AS chain_count,
        ARRAY_AGG(DISTINCT blockchain) AS chains,
        ARRAY_AGG(token_address) AS addresses
    FROM <blockchain_name>.price.ez_asset_metadata
    WHERE is_native = FALSE
        AND is_verified = TRUE
    GROUP BY 1, 2
)
SELECT * FROM asset_presence
WHERE chain_count > 3
ORDER BY chain_count DESC, symbol;
Native Asset Reference
-- Get all native assets with metadata
SELECT 
    blockchain,
    symbol,
    name,
    decimals,
    CASE blockchain
        WHEN 'ethereum' THEN 'Proof of Stake'
        WHEN 'binance' THEN 'Proof of Staked Authority'
        WHEN 'polygon' THEN 'Proof of Stake'
        WHEN 'avalanche' THEN 'Avalanche Consensus'
        ELSE 'Various'
    END AS consensus_mechanism
FROM <blockchain_name>.price.ez_asset_metadata
WHERE is_native = TRUE
ORDER BY blockchain;

Columns

Column NameData TypeDescription
TOKEN_ADDRESSTEXTContract address of the token on the blockchain. NULL for native assets (ETH, AVAX, etc.). Example: ‘0xa0b86a33e6776a1e7f9f0b8b8b8b8b8b8b8b8b8b’
ASSET_IDTEXTUnique identifier for the asset from the price provider. Provider-specific ID format. Example: ‘ethereum’
SYMBOLTEXTToken ticker symbol as commonly recognized. Usually 3-5 uppercase characters. Example: ‘WETH’
NAMETEXTFull name of the asset or token. More descriptive than symbol. Example: ‘Wrapped Ether’
DECIMALSNUMBERNumber of decimal places for the token. Most ERC-20 tokens use 18 decimals, USDC/USDT use 6, WBTC uses 8. Example: 18
BLOCKCHAINTEXTThe blockchain network where the asset exists. Lowercase by convention. Example: ‘ethereum’
IS_NATIVEBOOLEANBoolean indicating if the asset is the blockchain’s native currency. TRUE for ETH on Ethereum, AVAX on Avalanche, etc. Example: true
IS_DEPRECATEDBOOLEANFlag indicating if the asset is no longer actively supported. TRUE for deprecated assets that may have stale prices. Example: false
IS_VERIFIEDBOOLEANBoolean indicating Flipside team verification of the asset. TRUE for manually verified assets with validated metadata. Example: true
IS_VERIFIED_MODIFIED_TIMESTAMPTIMESTAMP_NTZIS_VERIFIED_MODIFIED_TIMESTAMP column
EZ_ASSET_METADATA_IDTEXTPrimary key - unique identifier for each row ensuring data integrity. Format: Usually VARCHAR containing composite key generated using MD5 hash of the relevant columns. Example: MD5(blocknumber, txhash, trace_index) Usage: Deduplication in incremental loads Join operations for data quality checks Troubleshooting specific records Important: Implementation varies by table - check table-specific documentation.
INSERTED_TIMESTAMPTIMESTAMP_NTZUTC timestamp when the record was first added to the Flipside database. Format: TIMESTAMP_NTZ Use Cases: Data freshness monitoring Incremental processing markers Debugging data pipeline issues SLA tracking Query Example:
MODIFIED_TIMESTAMPTIMESTAMP_NTZUTC timestamp of the most recent update to this record. Format: TIMESTAMP_NTZ Triggers for Updates: Data corrections Enrichment additions Reprocessing for accuracy Schema migrations Monitoring Usage: