Skip to main content
Schema: flow.nft Table: ez_nft_sales Type: View

Description

Comprehensive view of all NFT marketplace sales on the Flow blockchain, providing a unified interface for NFT trading activity across multiple marketplaces and collections. This table captures sales from the primary NFT Marketplace contract, Fabricant NFT Marketplace, NBA TopShot primary market, and other supported marketplaces. The table includes transaction details, pricing information, and marketplace attribution, enabling cross-platform NFT sales analysis.

Key Use Cases

  • Analyze NFT sales activity across multiple marketplaces
  • Track collection and marketplace performance
  • Power NFT market dashboards and analytics
  • Support price analysis and market trends
  • Enable cross-collection and cross-marketplace comparisons

Important Relationships

  • Sources data from silver__nft_sales_s for unified sales data
  • Can be joined with metadata tables (nft__dim_allday_metadata, nft__dim_topshot_metadata, etc.) for enriched analytics
  • Links to nft__fact_topshot_buybacks for buyback program analysis
  • Supports multiple NFT collections and marketplaces

Commonly-used Fields

  • tx_id: Unique transaction identifier for the sale
  • block_timestamp: When the sale transaction occurred
  • marketplace: Name of the marketplace where sale occurred
  • nft_collection: Contract address of the NFT collection
  • nft_id: Unique identifier for the NFT sold
  • buyer: Address of the buyer
  • seller: Address of the seller
  • price: Sale price in the specified currency
  • currency: Currency used for the transaction

Columns

Column NameData TypeDescription
TX_IDTEXTThe unique identifier (hash) for a transaction on the Flow blockchain. Data type: STRING. Each transaction is assigned a cryptographic hash that ensures its uniqueness and immutability. Used for joining transaction data across tables, tracing transaction execution, and verifying transaction integrity. Example: β€˜e3f1c2d4…’. Essential for transaction-level analytics, debugging, and cross-referencing with block and event data.
BLOCK_HEIGHTNUMBERBlock height is the unique, sequential integer assigned to each block as it is added to the Flow blockchain. It serves as the primary identifier for block ordering and is used to reference the position of a block within the chain. Data type: INTEGER. Block height is essential for joining block, transaction, and event tables, and for analyzing blockchain growth over time. For example, block height 100,000 refers to the 100,000th block produced on Flow. This field is critical for time-series analytics, chain reorganization analysis, and historical state reconstruction.
BLOCK_TIMESTAMPTIMESTAMP_NTZThe timestamp (in UTC) when the block or transaction was recorded on the Flow blockchain. Data type: TIMESTAMP_NTZ. This field is essential for time-series analysis, ordering events, and joining with other tables by time. For example, a block with block_height 100,000 may have a block_timestamp of β€˜2023-01-01 12:00:00’. Used for analytics on network activity, transaction throughput, and historical state reconstruction.
MARKETPLACETEXTContract address for the marketplace where the transaction occurred. Flow uses a general-purpose contract at A.4eb8a10cb9f87357.NFTStorefront for a significant number of sales. This column does not necessarily indicate the website or specific platform on which the sale occurred.
NFT_COLLECTIONTEXTThe contract address or identifier for the NFT collection on the Flow blockchain. Data type: STRING. This field identifies the smart contract that manages the NFT collection, enabling collection-level analytics, filtering, and protocol attribution. Used for grouping NFTs by collection, tracking collection performance, and joining with metadata tables. Example: β€˜A.e4cf4bdc1751c65d.AllDay’ for NFL All Day, β€˜A.87ca73a41bb50ad5.TopShot’ for NBA TopShot. Important for collection analytics, marketplace filtering, and cross-collection comparisons.
NFT_IDTEXTThe unique identifier for the NFT within its collection. Data type: STRING or NUMBER. This field uniquely identifies a specific NFT token within a collection, typically representing the token ID or serial number assigned during minting. Used for NFT-level analytics, tracking individual token movements, and joining with metadata tables. Example: β€˜12345’ for TopShot moment #12345, or β€˜A.1234567890abcdef.Moment#456’ for a specific moment. Important for NFT tracking, sales analysis, and metadata joins.
BUYERTEXTThe party in the transaction purchasing the asset, this is an account address.
SELLERTEXTThe party in the transaction selling the asset, this is an account address.
PRICEFLOATThe price of the asset, in the currency specified in the table.
CURRENCYTEXTThe contract address refering to the currency used in the transaction. This may or may not relate to a token in the prices table, depending on the marketplace or transaction.
TX_SUCCEEDEDBOOLEANTransaction status, if it succeeded or failed.
TOKENFLOWARRAYAn array of events tracking the flow of tokens, in event_index order, for a transaction. This is constructed from the following events within a transaction: TokensDeposited, TokensWithdrawn, ForwardedDeposit.
COUNTERPARTIESARRAYAn array containing the addresses interacted with during the tokenflow of the transaction. This contains all payers and recipients of tokens within the transaction.
EZ_NFT_SALES_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.
INSERTED_TIMESTAMPTIMESTAMP_NTZThe UTC timestamp when the record was first created and inserted into this table. Data type: TIMESTAMP_NTZ. Used for ETL auditing, tracking data freshness, and identifying when data was loaded or updated in the analytics pipeline. Example: β€˜2023-01-01 12:00:00’. This field is critical for monitoring data latency, troubleshooting ETL issues, and supporting recency tests in dbt.
MODIFIED_TIMESTAMPTIMESTAMP_NTZThe UTC timestamp when this record was last updated or modified by an internal ETL or dbt process. Data type: TIMESTAMP_NTZ. Used for change tracking, ETL auditing, and identifying the most recent update to a record. Example: β€˜2023-01-02 15:30:00’. This field is important for troubleshooting data issues, monitoring pipeline health, and supporting recency or freshness tests in dbt.