Skip to main content
Schema: solana.nft Table: dim_nft_metadata Type: Base Table

Description

This table contains comprehensive metadata for all NFTs on Solana, including both standard NFTs and compressed NFTs (cNFTs). It serves as the authoritative source for NFT attributes such as names, collection information, creator details, and metadata URIs. The data is sourced from Helius API and enriched with collection information from Solscan, providing a complete view of NFT characteristics and relationships.

Key Use Cases

  • Query NFTs by name, collection, or creator to find specific assets
  • Analyze NFT collections by grouping metadata and tracking creator royalties
  • Provide rich metadata for NFT marketplaces and trading platforms
  • Track creator performance and royalty distributions across NFT sales
  • Verify NFT metadata completeness and quality for data integrity

Important Relationships

  • Links to nft.ez_nft_sales via mint address to provide metadata context for sales transactions
  • Connects to nft.fact_nft_mints through mint address to enrich mint event data
  • collection_id groups NFTs into collections, enabling collection-level analytics
  • creators field contains creator addresses and royalty percentages for revenue tracking

Commonly-used Fields

  • mint: The unique mint address of the NFT (primary identifier)
  • nft_name: Human-readable name of the NFT for display and search
  • nft_collection_name: Name of the collection the NFT belongs to
  • collection_id: Address identifier for the NFT collection
  • creators: JSON array containing creator addresses and royalty percentages
  • authority: Address with authority over the NFT mint (important for editions)
  • image_url: Direct link to the NFT’s image for display purposes
  • metadata_uri: URI pointing to the complete metadata JSON for the NFT
  • metadata: Parsed metadata object containing all NFT attributes and properties

Columns

Column NameData TypeDescription
MINTTEXTUnique address representing a specific token
NFT_COLLECTION_NAMETEXTThe name of the NFT collection that the NFT belongs to, as provided by Solscan. This field groups NFTs into logical collections and enables collection-level analytics and tracking.
  • Data type: STRING (e.g., ‘Bored Ape Yacht Club’, ‘Okay Bears’)
  • Business context: Used to organize NFTs, analyze collection performance, and support collection-level analytics.
  • Analytics use cases: Collection trend analysis, rarity studies, and collection-based filtering.
  • Example: ‘Okay Bears’ | | COLLECTION_ID | TEXT | The unique address identifier for the NFT collection. This field provides a blockchain-level identifier for grouping NFTs into collections and enables collection-level analytics and tracking.
  • Data type: STRING (Solana address, e.g., ‘EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v’)
  • Business context: Used for precise collection grouping, analytics, and to join with other collection-level data.
  • Analytics use cases: Collection-level aggregation, cross-collection comparisons, and collection membership queries.
  • Example: ‘EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v’ | | CREATORS | VARIANT | A JSON array containing the creator addresses and their associated royalty percentages for the NFT. This field tracks who created the NFT and what percentage of sales they receive as royalties.
  • Data type: ARRAY of STRUCTS (e.g., [{"address": "...", "share": 50}])
  • Business context: Used for royalty attribution, creator analytics, and revenue distribution.
  • Analytics use cases: Creator earnings analysis, royalty flow tracking, and multi-creator attribution studies.
  • Example: [{"address": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM", "share": 50}] | | AUTHORITY | TEXT | The address of the account that has authority over the NFT mint. This field identifies who can perform administrative actions on the NFT, such as minting additional editions or updating metadata.
  • Data type: STRING (Solana address, e.g., ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’)
  • Business context: Used to track NFT governance, edition minting, and authority changes.
  • Analytics use cases: Authority change tracking, edition minting analysis, and NFT governance studies.
  • Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | METADATA | ARRAY | a block of json that describes the traits of an NFT | | IMAGE_URL | TEXT | URL that links to the image on the ipfs service | | METADATA_URI | TEXT | URL that links to the token metadata on the ipfs service | | NFT_NAME | TEXT | The human-readable name of the NFT as specified in its metadata. This field provides a user-friendly identifier for the NFT that can be used for display, search, and analytics purposes.
  • Data type: STRING (e.g., ‘Bored Ape #1234’, ‘CryptoPunk #5678’)
  • Business context: Used for user experience, search, and discovery of NFTs within collections and across marketplaces.
  • Analytics use cases: Collection curation, search optimization, and user-facing NFT listings.
  • Example: ‘Bored Ape #1234’ | | DIM_NFT_METADATA_ID | TEXT | A unique, stable identifier for each record in this table. The primary key (PK) ensures that every row is uniquely identifiable and supports efficient joins, lookups, and data integrity across models. The PK may be a natural key (such as a blockchain transaction hash) or a surrogate key generated from one or more fields, depending on the table’s structure and requirements. | | INSERTED_TIMESTAMP | TIMESTAMP_NTZ | The timestamp when this transaction record was first inserted into the analytics database. Used for data freshness tracking and incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process. | | MODIFIED_TIMESTAMP | TIMESTAMP_NTZ | The timestamp when this transaction record was last updated in the analytics database. Used for tracking updates and supporting incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process. |