> ## 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](/minting/nfts/integrate/mint-tokens) 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

<Tabs>
  <Tab title="Using the console">
    1. [Create an NFT collection](/minting/nfts/integrate/create-collections) 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](/api-reference/minting/template/create-template).

    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](/introduction/platform/account-verification). Not required in staging.

    5. Share the url or QR code with your users.
  </Tab>

  <Tab title="Using the API">
    **Enable at collection creation time**

    Pass a `payments` object to the [Collection Creation
    API](/api-reference/minting/collection/create-collection) with the<Tooltip tip="The price for the NFT in the specified currency">
    `price`</Tooltip>, <Tooltip tip="The wallet address where you will receive the proceeds of the sale. Must support the blockchain you are selling NFTs on">
    `recipientAddress`</Tooltip> and <Tooltip tip="The currency in which the token price will be denominated. Defaults to the network native currency">`currency`</Tooltip>. You can optionally set up a <Tooltip tip="The maximum number of NFTs in the collection">
    `supplyLimit`</Tooltip> to cap the collection supply.

    <Accordion title="See example">
      The following snippet creates a new sales-enabled collection:

      <CodeGroup>
        ```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
        }'
        ```
      </CodeGroup>
    </Accordion>

    **Enable on an existing collection**

    If you had already created a collection, use the [Update Collection API](/api-reference/minting/collection/update-collection) to enable sales on it.

    <Note>Enabling sales in production requires [verifying your account](/introduction/platform/account-verification).</Note>
  </Tab>
</Tabs>

***

### Set Up a Checkout

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

There are two ways to integrate:

<CardGroup cols={3}>
  <Card title="Hosted Checkout" icon="toggle-on" iconType="duotone" color="24ABD0" href="/payments/pay-button/overview">
    Add a button to your site which opens a checkout in a pop-up or new tab.
  </Card>

  <Card title="Embedded Checkout" icon="object-group" iconType="duotone" color="D31D52" href="/payments/embedded/overview">
    Insert a checkout inside your site for maximum control over the user experience.
  </Card>
</CardGroup>

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

| Endpoint                                                                                 | Description             |    |
| :--------------------------------------------------------------------------------------- | :---------------------- | :- |
| [Add / Edit Royalties](/api-reference/minting/collection/set-royalties)                  | Add or edit royalties   |    |
| [Get Royalty Information](/minting/nfts/integrate/list-for-sale#get-royalty-information) | Get royalty information |    |
| [Disable Royalties](/minting/nfts/integrate/list-for-sale#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 title="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));
  ```
</Accordion>

## 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 <a href="https://www.crossmint.com/contact/sales" target="_blank">enterprise</a> 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

<AccordionGroup>
  <Accordion title="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>

  <Accordion title="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>

  <Accordion title="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>

  <Accordion title="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.
  </Accordion>
</AccordionGroup>
