
MultiNFT is a comprehensive multimodal dataset of non-fungible tokens (NFTs), sourced from OpenSea. To ensure data accuracy and consistency, the dataset is constructed using official APIs and adopts a three-stream data acquisition architecture that integrates sales records, asset metadata, and standardized image processing.
Spanning a four-year period from 1 May 2021 to 30 April 2025, MultiNFT captures 2.38M transactions involving over 500K unique NFT assets. By encompassing multiple market cycles, the dataset offers a rich foundation for digital asset analytics (e.g., price determinants and liquidity trends), market prediction (e.g., temporal movements and macro event impacts), and multimodal learning (e.g., combining image, metadata, and transaction data for classification or generative tasks).
Assets: 10,000
Assets: 19,552
Assets: 10,000
Assets: 8,888
Assets: 19,763
Assets: 10,000
Assets: 10,000
Assets: 9,602
Assets: 9,004
Assets: 19,950
Assets: 20,000
Assets: 9,968
Assets: 9,754
Assets: 21,868
Assets: 9,999
Assets: 7,777
Assets: 10,000
Assets: 10,021
Assets: 9,999
Assets: 8,192
Assets: 9,999
Assets: 11,111
Assets: 8,888
Assets: 9,993
Assets: 20,000
Assets: 9,173
Assets: 10,000
Assets: 10,000
Assets: 5,555
Assets: 10,000
Assets: 8,814
Assets: 4,000
Assets: 10,000
Assets: 9,999
Assets: 14,405
Assets: 10,000
Assets: 9,999
Assets: 10,000
Assets: 8,026
Assets: 9,999
Assets: 2,021
Assets: 21,480
Assets: 10,000
Assets: 10,000
"0": [ { "trait_type": "Earring", "value": "Silver Hoop" }, { "trait_type": "Background", "value": "Orange" }, { "trait_type": "Fur", "value": "Robot" } ]
collections.csv contains basic information for 50 carefully selected PFP collections from OpenSea's top 100 trading volume collections, all created between April 2021 and March 2023. NSFW assets are excluded from the dataset to ensure data quality and compliance.
Variable Name | Data Type | Description |
---|---|---|
collection | string | Collection slug. A unique string to identify a collection on OpenSea |
name | string | Name of the collection |
description | string | Description of the collection |
image_url | string | Square image used to represent the collection |
banner_image_url | string | Banner image used to represent the collection |
owner | string | The public blockchain address of the owner |
safelist_status | object | Status of the collection verification requests. Options: not_requested, requested, approved, verified, disabled_top_trending |
category | string | Category of the collection (e.g. PFPs, Memberships, Art) |
is_disabled | boolean | If the collection is currently able to be bought or sold using OpenSea |
is_nsfw | boolean | If the collection is currently classified as 'Not Safe for Work' as defined in OpenSea's NSFW Policy |
trait_offers_enabled | boolean | If trait offers are currently being accepted for the collection |
collection_offers_enabled | boolean | If collection offers are currently being accepted for the collection |
opensea_url | string | OpenSea Link to collection |
project_url | string | External URL for the collection's website |
wiki_url | string | External URL for the collection's wiki |
discord_url | string | External URL for the collection's Discord server |
telegram_url | string | External URL for the collection's Telegram group |
twitter_username | string | Username for the collection's Twitter account |
instagram_username | string | Username for the collection's Instagram account |
contracts | array | Contracts for the collection |
editors | array | List of editor addresses for the collection |
fees | array | List of fees for the collection including creator earnings and OpenSea fees |
required_zone | string | If defined, the required zone for all orders for this collection |
rarity | object | Rarity data for the Collection |
payment_tokens | array | Payment tokens for the collection |
total_supply | integer | The total supply of the collection (minted minus burned) |
created_date | date | The date the collection was created |
assets.csv includes detailed metadata for 523,020 NFT assets from these 50 collections, with all assets having valid image and attribute metadata.
Variable Name | Data Type | Description |
---|---|---|
identifier | string | The NFT's unique identifier within the smart contract (also referred to as token_id) |
collection | string | Collection slug. A unique string to identify a collection on OpenSea |
contract | string | The public blockchain address of the contract |
token_standard | string | ERC standard of the token (erc721, erc1155) |
name | string | Name of the NFT |
description | string | Description of the NFT |
image_url | string | Link to the image associated with the NFT |
display_image_url | string | Link to the image that is display on the OpenSea website |
display_animation_url | string | Link to the animation that is display on the OpenSea website |
metadata_url | string | Link to the offchain metadata store |
opensea_url | string | Link to the NFT on OpenSea |
updated_at | string | Last time that the NFT's metadata was updated by OpenSea |
is_disabled | boolean | If the item is currently able to be bought or sold using OpenSea |
is_nsfw | boolean | If the item is currently classified as 'Not Safe for Work' by OpenSea as defined in OpenSea's NSFW Policy |
Sales data spans four years (May 1, 2021 - April 30, 2025) across all 50 collections. sales_raw.csv contains comprehensive transaction records excluding NSFW/disabled assets and zero-price transactions, with buyer/seller addresses encrypted for privacy protection.
Variable Name | Data Type | Description |
---|---|---|
event_type | string | Defaults to 'sale' |
order_hash | string | Order hash for the order which was fulfilled |
chain | string | OpenSea supported chains |
protocol_address | string | Exchange contract address which fulfilled the order |
closing_date | datetime | Posix timestamp converted to datetime |
nft_identifier | string | The NFT's unique identifier (token_id) |
nft_collection | string | Collection slug |
nft_contract | string | Public blockchain address of the contract |
nft_token_standard | string | ERC standard (erc721, erc1155) |
nft_name | string | Name of the NFT |
nft_description | string | Description of the NFT |
nft_image_url | string | Link to the image |
nft_display_image_url | string | Link to displayed image |
nft_display_animation_url | string | Link to displayed animation |
nft_metadata_url | string | Link to offchain metadata |
nft_opensea_url | string | Link to NFT on OpenSea |
nft_updated_at | string | Last metadata update time |
nft_is_disabled | boolean | If item can be bought/sold |
nft_is_nsfw | boolean | If classified as NSFW |
quantity | integer | Number of assets transferred |
seller | string | Seller of the NFT |
buyer | string | Buyer of the NFT |
payment_quantity | string | Amount of tokens in the order |
payment_token_address | string | Contract address for ERC20 token |
payment_decimals | integer | Number of decimals the token uses |
payment_symbol | string | Symbol of the token (ETH, WETH, etc.) |
transaction | string | Transaction hash |
event_timestamp | datetime | Posix timestamp converted to datetime |
sales_cleaned.csv filters transactions to four major payment tokens (ETH, WETH, DAI, USDC), removing 97 transactions with other tokens, and integrates Yahoo Finance daily close prices to calculate USD values and logarithmic prices for enhanced price analysis.
Variable Name | Data Type | Description |
---|---|---|
payment_price | float | Actual payment amount (quantity ÷ 10^decimals) |
payment_usd_price | float | Payment amount converted to USD |
log_usd_price | float | Natural logarithm of USD price |
Basic information for 50 PFP collections and metadata for 523,020 NFT assets.
Click to download:
Four years of transaction records with raw and cleaned versions for analysis.
Click to download:
523,020 standardized images (224×224 PNG) and corresponding trait attribute data.
Click to download:
Full multimodal dataset package with all sales, metadata, and image data for research.
Access Complete Dataset