A collection is a container of NFTs, used by applications like marketplaces and wallets to group NFTs together.

Collections can be created via API or directly from the console. Crossmint has a library of pre-audited smart contracts which work for most major use cases. However, you can also bring your own contract if you already have one.

Crossmint supports non-fungible and semi-fungible tokens (editions), free and paid mints, and builds on open ERC and Metaplex standards.

See the list of supported blockchains here

1. Create an NFT collection

The first time you mint an NFT on a specific blockchain, Crossmint will assign it, and any subsequent mints, to a default collection for that chain. You can create additional collections from the console or in a single API call (requires the API key scope collections.create):

cURL
curl --request POST \
     --url https://staging.crossmint.com/api/2022-06-09/collections/ \
     --header 'content-type: application/json' \
     --header 'x-client-secret: <CLIENT_SECRET>' \
     --header 'x-project-id: <PROJECT_ID>' \
     --data '
{
  "chain": "polygon",
  "metadata": {
    "name": "A new collection",
    "imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png",
    "description": "A new collection with its own dedicated smart contract"
  }
}
'

The collection details you provide will be displayed to your customers on marketplaces and other interfaces.

2. Check the status of your collection

It takes a few seconds (up to a minute, depending on the blockchain and how congested it is) to deploy a collection.

You can use the following API to check collection status API to check what the status of a collection is. For example:

cURL
curl --request GET \
     --url https://staging.crossmint.com/api/2022-06-09/collections/default-solana \
     --header 'x-client-secret: <CLIENT_SECRET>' \
     --header 'x-project-id: <PROJECT_ID>'

3. List all collections under your project

cURL
curl --request GET \
     --url https://staging.crossmint.com/api/2022-06-09/collections/ \
     --header 'x-client-secret: <CLIENT_SECRET>' \
     --header 'x-project-id: <PROJECT_ID>'