> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Collections

> Deploy smart contracts and NFT collections

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

Crossmint allows you to create managed collections 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](/minting/nfts/integrate/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. On EVM chains, ERC-721 and ERC-1155 contracts are supported, while on Solana, Metaplex standard programs and compressed NFT programs are supported.

<Note>See the list of supported blockchains [here](/introduction/supported-chains)</Note>

## 1. Create and Deploy 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`):

```bash cURL theme={null}
curl --request POST \
     --url https://staging.crossmint.com/api/2022-06-09/collections/ \
     --header 'content-type: application/json' \
     --header 'x-api-key: <X_API_KEY>' \
     --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"
  }
}
'
```

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

<Accordion title="Sell your collection items">
  If you intend to sell the NFTs in your collection, read the guide on [how to enable
  payments](/minting/nfts/integrate/list-for-sale) first.
</Accordion>

## 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 what the status of a collection is. For example:

<CodeGroup>
  ```bash cURL theme={null}
  # Set your variables
  API_KEY="<YOUR_API_KEY>"
  ENV="staging" # or "www" for production
  ACTION_ID="<ACTION_ID>"

  curl --request GET \
    --url "https://${ENV}.crossmint.com/api/2022-06-09/actions/${ACTION_ID}" \
    --header "X-API-KEY: ${API_KEY}"
  ```

  ```javascript checkStatus.js theme={null}
  const apiKey = "<YOUR_API_KEY>";
  const env = "staging"; // or "www" for production
  const actionId = "<ACTION_ID>";

  const url = `https://${env}.crossmint.com/api/2022-06-09/actions/${actionId}`;
  const options = {
      method: "GET",
      headers: { "X-API-KEY": apiKey },
  };

  fetch(url, options)
      .then((response) => response.json())
      .then((response) => console.log(response))
      .catch((err) => console.error(err));
  ```
</CodeGroup>

## 3. List all collections under your project

```bash cURL theme={null}
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>'
```

<CardGroup cols={2}>
  <Card title="API Reference" icon="terminal" color="#B56710" href="/api-reference/minting/collection/create-collection">
    Test any API in seconds directly from the docs.
  </Card>

  <Card title="Talk to an expert" icon="message" iconType="duotone" color="#ADD8E6" href="https://www.crossmint.com/contact/sales">
    Contact our sales team for support.
  </Card>
</CardGroup>
