Data Models
NFTs

NFT Data Model

The current data schema for an NFT is below, as a javascript object with types:

{
    Title: <string>
    CollectionDescription: <string>
    ContractAddress: <string>,
    ContractChain: <string, one of options: ETH, SOL, POLY, OPTIMISM>,
    CreationDate: <string>,
    ImagePic: <string, a URL pointing at a loadable image>,
    MarketPlace: <string>,
    MarketPlaceLink: <string>,
    ReleaseStatus: <string, one of options: Available, Upcoming>,
    ThreshrNFTId: <string, provided on creation, not uploadable>,        
    TokenQuantity: <number>,
    TokenQuantityIssued: <number>,
    Perks: [
        {
            ID: <string>
        }
    ]
    Website: <string>
    Twitter: <string>
    Discord: <string>
}   

Users are likely to see extra fields while the schema is being solidified. The above fields are guaranteed.

Notes about Intent and Usage

Title

Mandatory
Searchable
Intent: The title of the NFT Collection

CollectionDescription

Mandatory
Searchable
Intent: A description of the collection; more than what you'd put into OpenSea.

ContractAddress

Mandatory
Intent: Provide the blockchain contract address for the NFT.

ContractChain

Mandatory
Intent: Provide the blockchain on which the NFT is located.

ImagePic

Mandatory
Intent: A loadable image in url format. Should be secured with https.

MarketPlace

Intent: Provide a marketplace where the NFT collection can be acquired.
Something like "OpenSea."

MarketPlaceLink

Intent: Provide a direct link to the location on the marketplace where the NFT collection can be acquired.
Something like "https://magiceden.io/marketplace/threshr (opens in a new tab)"

ReleaseStatus

Intent: Indicate if your NFT collection is available.

ThreshrNFTId

Intent: A unique identifier provided by Threshr that tracks the collection.

Website

Intent: A link to the creator's site.

Twitter

Intent: A link to the creator's twitter.

Discord

Intent: A link to the creator's discord.

TokenQuantity

Intent: The overall number of NFTs available for mint.

TokenQuantityIssued

Intent: The number of NFTs issued already.

Perks

Intent: An array referencing the Perks tracked by this NFT collection. Each Perk is a javascript object with an "ID" field and "ThreshrPerkId" string value.

Schema Updates

This schema is likely to be updated. If you have a request for updates, please email help@threshr.co.
Current proposals include:

  • Standardized blockchain hosted location for this NFT data
  • "Other" field allowing minters to host necessary utility data that may not conform to the above standard but may still be useful