> ## 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.

# List for Sale

> Configure royalties and marketplace profiles for your NFT collections

When selling NFTs on secondary markets, you can configure royalties to receive a percentage of each sale and optimize your collection's marketplace profile to attract buyers.

## Sell Tokens

The [Mint Tokens guide](https://docs.crossmint.com/tokenization/nfts/integrate/mint-tokens.md) showed you how to create different types of non-fungible assets.
In this guide you will learn how to enable Crossmint's Checkout so you
can sell them to your customers using cryptocurrency or credit card.

### How It Works

* You can set a price in crypto (ETH, MATIC, SOL or USDC).
* For imported and secondary collections, payouts arrive instantly. For managed collections, payouts arrive after a 24-hour withholding period.
* Your customers can pay with crypto or credit card.
* You pay credits for NFT gas, user pays only for the item.

### Configure a Collection for Sale

> [tab] Using the console
>
> 1. [Create an NFT collection](https://docs.crossmint.com/tokenization/nfts/integrate/create-collections.md) and navigate
>    to it in the console.
>
> 2. Upload NFT "templates" for all the NFTs you wish to list for sale. You
>    can do so from the "NFTs" tab in the console, or by using
>    [the API](https://docs.crossmint.com/api-reference/minting/template/create-template.md).
>
> 3. Navigate to the `Checkout` entry on the navbar in the collections page.
>    Follow the wizard to enable payments.
>
> 4. (Production only) [Verify your account and collection](https://docs.crossmint.com/introduction/platform/account-verification.md). Not required in staging.
>
> 5. Share the url or QR code with your users.

> [tab] Using the API
>
> **Enable at collection creation time**
>
> Pass a `payments` object to the [Collection Creation
> API](https://docs.crossmint.com/api-reference/minting/collection/create-collection.md) with the`price` (The price for the NFT in the specified currency), `recipientAddress` (The wallet address where you will receive the proceeds of the sale. Must support the blockchain you are selling NFTs on) and `currency` (The currency in which the token price will be denominated. Defaults to the network native currency). You can optionally set up a `supplyLimit` (The maximum number of NFTs in the collection) to cap the collection supply.
>
> > [accordion] See example
> >
> > The following snippet creates a new sales-enabled collection:
> >
> > ```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: <api-key>' \
> >     --data '{
> >     "chain": "polygon",
> >     "fungibility": "non-fungible",
> >     "metadata": {
> >     "description": "This is a sample NFT collection",
> >     "imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png",
> >     "name": "Sample NFT Collection",
> >     },
> >     "payments": {
> >     "price": "<string>",
> >     "recipientAddress": "<string>",
> >     "currency": "usdc"
> >     },
> >     "supplyLimit": 123
> > }'
> > ```
>
> **Enable on an existing collection**
>
> If you had already created a collection, use the [Update Collection API](https://docs.crossmint.com/api-reference/minting/collection/update-collection.md) to enable sales on it.
>
> > [!NOTE]
> >
> > Enabling sales in production requires [verifying your account](https://docs.crossmint.com/introduction/platform/account-verification.md).

***

### Set Up a Checkout

Now that your collection accepts payments, the next step is to integrate one of
Crossmint's [Checkout](https://docs.crossmint.com/payments/introduction.md) variants into your app
or website, and start accepting sales.

There are two ways to integrate:

> [card] [Hosted Checkout](https://docs.crossmint.com/payments/pay-button/overview.md)
>
> Add a button to your site which opens a checkout in a pop-up or new tab.

> [card] [Embedded Checkout](https://docs.crossmint.com/payments/embedded/overview.md)
>
> Insert a checkout inside your site for maximum control over the user experience.

## Set Collection Royalties

With royalties, you can receive revenue when your NFTs are traded on secondary markets. Crossmint allows you to configure royalties for a collection via API and (soon) directly from the console. You just have to specify the % of royalties and where you want those funds to be sent.

Royalties are defined at the collection level, not at the NFT level. Updating the royalties of a collection will update all NFTs, including the ones which have already been minted.

This API follows royalty standards compatible with virtually all marketplaces. However, note that some marketplaces have determined to not honor royalties, so transactions occuring there may not generate additional revenue.

> [!WARNING]
>
> Available self-serve for ERC-721 collections in EVM chains. Please [contact
> us](https://www.crossmint.com/contact/sales) for ERC-1155 or Solana support.

| Endpoint | Description | |
| :- | :- | :- |
| [Add / Edit Royalties](https://docs.crossmint.com/api-reference/minting/collection/set-royalties.md) | Add or edit royalties | |
| [Get Royalty Information](https://docs.crossmint.com/tokenization/nfts/integrate/list-for-sale.md#get-royalty-information) | Get royalty information | |
| [Disable Royalties](https://docs.crossmint.com/tokenization/nfts/integrate/list-for-sale.md#disable-royalties) | Disable royalties | |

### Add / Edit Royalties

To add or edit royalties for a collection, use the following API endpoint:

```bash cURL theme={null}
curl --request POST \
  --url https://staging.crossmint.com/api/v1-alpha1/minting/collections/{collectionId}/royalties \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '{
  "recipients": [
    {
      "address": "0x123...",
      "basisPoints": 5
    }
  ]
}'
```

### Get Royalty Information

To retrieve the current royalty configuration for a collection:

```bash cURL theme={null}
curl --request GET \
  --url https://staging.crossmint.com/api/v1-alpha1/minting/collections/{collectionId}/royalties \
  --header 'X-API-KEY: <api-key>'
```

### Disable Royalties

To disable royalties for a collection:

```bash cURL theme={null}
curl --request DELETE \
  --url https://staging.crossmint.com/api/v1-alpha1/minting/collections/{collectionId}/royalties \
  --header 'X-API-KEY: <api-key>'
```

## Implementation Examples

> [accordion] Setting up royalties for a new collection
>
> ```javascript theme={null}
> // Example: Setting up royalties for a new collection
> const apiKey = "YOUR_API_KEY";
> const collectionId = "your-collection-id";
> const env = "staging"; // or "www" for production
>
> // Define royalty recipients
> const royaltyRecipients = [
>   {
>     address: "0x123abc...", // Creator wallet
>     basisPoints: 5 // 5% royalty
>   },
>   {
>     address: "0x456def...", // Community fund wallet
>     basisPoints: 2.5 // 2.5% royalty
>   }
> ];
>
> // Set up royalties
> const url = `https://${env}.crossmint.com/api/v1-alpha1/minting/collections/${collectionId}/royalties`;
> const options = {
>   method: "POST",
>   headers: {
>     "Content-Type": "application/json",
>     "X-API-KEY": apiKey
>   },
>   body: JSON.stringify({
>     recipients: royaltyRecipients
>   })
> };
>
> fetch(url, options)
>   .then(response => response.json())
>   .then(data => console.log("Royalties configured:", data))
>   .catch(error => console.error("Error configuring royalties:", error));
> ```

## Marketplace Profile

Optimizing your collection's profile on marketplaces like OpenSea, Rarible, and others can significantly impact your NFT sales and visibility.

At this time, updating your collection profile on OpenSea, Rarible, and other marketplaces requires manual work and is limited to [enterprise](https://www.crossmint.com/contact/sales) clients.

### Key Marketplace Profile Elements

When working with our enterprise team to configure your marketplace profile, consider these important elements:

1. **Collection Banner**: A high-quality banner image that represents your brand
2. **Collection Logo**: A distinctive logo that's recognizable at small sizes
3. **Collection Description**: A compelling description of your project and its value
4. **External Links**: Links to your website, social media, and community channels
5. **Category Tags**: Appropriate categories that help collectors discover your NFTs

## FAQs

> [accordion] How are royalties enforced on different marketplaces?
>
> Royalty enforcement varies by marketplace. Some marketplaces like OpenSea have made royalties optional, while
> others still enforce them. Crossmint implements royalties according to blockchain standards, but cannot
> guarantee enforcement across all marketplaces.

> [accordion] Can I set different royalty percentages for different NFTs in the same collection?
>
> No, royalties are set at the collection level and apply to all NFTs within that collection. If you need
> different royalty structures, consider creating separate collections.

> [accordion] How quickly do royalty changes take effect?
>
> Royalty changes take effect immediately for new listings. For existing listings on marketplaces, the timing
> depends on how frequently each marketplace refreshes metadata.

> [accordion] What's the maximum royalty percentage I can set?
>
> While technically there's no upper limit, most marketplaces and collectors expect royalties between 2.5% and
> 10%. Setting royalties too high may discourage secondary market activity.
