Please contact [email protected] with any other questions

Does the SimpleHash NFT API include NFT sales data?

Yes - we include on-chain sales information in our NFT and Sales & Transfer endpoint responses, and include NFT collection floor price information on the collection fields on NFT responses. For more details on the models and chains supported, please reference Sale models and Floor price models.

What is the difference between an NFT contract and a collection?

"Contract" and "Collection" are terms used to describe two related, but different kinds of groupings of NFTs. Their specific implementations differ across blockchain ecosystems.

  • Contracts:
    • On EVM-based chains, an NFT contract represents a smart contract (usually based on the ERC-721 or 1155 standards) that issued NFTs. Each contract has a unique on-chain address (e.g., 0x23581767a106ae21c074b2276d25e5c3e136a68b in the case of Moonbirds).
    • NFTs adhering to the 721 or 1155 standards can always be identified by the combination of their contract address and individual token ID. (Token IDs can be any number, but are often 1-9999 in the case of some popular PFP projects).
    • Because they are represented on-chain, contracts remain the same no matter what marketplace or protocol is interacting with the NFT.
    • Solana does not have the same notion as an NFT contract - each NFT is identified by a unique Base58 token address, and NFTs are more commonly grouped by collection
    • Bitcoin ordinals also does not use smart contracts. Each NFT is identified by a unique inscription ID.

  • Collections:
    • On EVM-based chains, it is common to refer to NFT collections, some of which are well known or have a high media profile. Where collections differ from contracts is that they are usually represented off-chain, most commonly being tied to a specific NFT marketplace. Taking Moonbirds again as the example, the homepage on OpenSea for the collection can be found here: https://opensea.io/collection/proof-moonbirds, with proof-moonbirds being a unique identifier.
    • Collections may be represented by different identifiers across different marketplaces and protocols.
    • Contracts and collections are often 1:1 (e.g., the Moonbirds collection on OpenSea only contains NFTs from the 0x23581767a106ae21c074b2276d25e5c3e136a68b contract), but not always. A prominent example is the OpenSea storefront contract - one of the contracts used to mint NFTs on Ethereum via OpenSea's platform. The address of this contract is 0x495f947276749ce646f68ac8c248420045cb7b5e - and it has around 1.7M individual NFT token IDs.
    • This storefront contract also contains many individual collections - and the opposite situation can also be possible (a collection that contains multiple contracts)
    • On Solana, collections may be represented on or off-chain. Most Solana NFTs adhere to the Metaplex standard, which has a common way of verifying on-chain that a set of NFTs are part of a collection.
    • Because collections are treated differently not only across marketplaces, but also across chains, SimpleHash generates a unique identifier for each collection. This identifier can be found on either an NFT response body, or by querying the Contracts by Collection, or Collections by Marketplace endpoints

The SimpleHash API makes it easy to identify the contract and collection data for a given NFT, and also to query lists of NFTs based on these concepts.

  • EVM based NFTs:
    • The contract_address is a field on the main NFT body
    • The collection data can be found on the main NFT body, including the unique collection_id field
  • Solana based NFTs:
    • The contract_address field represents the unique token mint address for a specific NFT
    • The collection data can be found on the main NFT body, including the unique collection_id field
    • This collection field also contains both a metaplex_mint field identifying collections verified on chain, and a metaplex_first_verified_creator, which is another way of identifying NFTs by collection, based on the identity of the initial NFT creator, for collections that have not been verified on-chain
  • Bitcoin based NFTs:
    • The contract_address field represents the Inscription ID of the ordinal.

What is meant by the EVM/Solana/Bitcoin ecosystems?

NFTs are implemented differently based on the standards used, and the type of blockchain involved.

  • The EVM ecosystem involves NFTs based on blockchains compatible with the Ethereum Virtual Machine - on these chains, they are usually implemented via the ERC-721 or 1155 standards.
  • The Solana ecosystem involves NFTs based on Solana-compatible blockchains. SimpleHash currently supports Metaplex-based NFTs on Solana.
  • The Bitcoin ecosystem involves NFTs based on the Ordinals standard.

Does SimpleHash offer manual endpoints to refresh metadata?

SimpleHash has an automatic refresh system that takes in multiple signals to refresh contract and token metadata. In some situations however, it may be desirable to manually request a refresh - this can be achieved by sending a POST to either Refresh NFT Metadata or Refresh Contract Metadata.

How long does it usually take after a mint or transfer for this to be reflected in the SimpleHash system?

For most chains and scenarios, this can be expected in ~10s - this performance is improving over time as well.

Does SimpleHash offer SLAs?

We do - please contact [email protected] if you are interested in one of our Enterprise plans.

Do you have a full SDK?

The API currently only supports REST queries or use of webhooks. We currently do not have a full SDK, though it is in the works.