Trying to send NFTs via Quicknode? See our Quicknode RPC API Reference


Rate Limits

As of January 1, 2023 we have implemented a rate limit across all call methods. This limit is expected to increase in the future as we roll out more updates!

POST/PUT/PATCH - 120 requests per minute
GET - 360 requests per minute

In this quickstart, we will:

  • Learn how to generate API keys
  • Learn how to form a simple metadata structure for your first NFT
  • Call on Crossmint to generate your first NFT
  • Check the status and information of your NFT
  • Learn how to view your NFT on marketplaces

To start developing with the Minting API, we recommend you begin by developing in testnets by using our staging servers. The API is completely free, and we allocate you enough credits for 150 mints when you sign up.

Benefits of using our API:

  • Deploy your collections in record time
  • Integrate with any application / user experience
  • Automate NFT collections for any use case
  • Create NFT's with no smart-contract experience
  • Unmet reliability and load capacity
  • No ETH/MATIC/etc... needed!
  • No maintenance required on your end!

Get started in 4 easy steps!

Step 1: Set up on Staging (Testnet)

ResourceStaging (Testnet)Production (Mainnet)
Developer Consolehttps://staging.crossmint.com/consolehttps://www.crossmint.com/console
  1. Create a Developer Console account on staging
  2. Visit the API Keys page
  3. Create a new API key with the scope nfts.mint

Note: By default you will have access to default-solana and default-polygon collections at no extra cost!

You're all set! Follow instructions below to create and send your first NFT, or you can visit our API Reference and mint directly from our docs!


Trying to mint in Production (Mainnet)?

To mint, you'll first need to add credits to your production developer account. After creating a developer account on production, please visit our self-service Billing & Usage to add a billing method and top up your account with credits. Then, create a production API key on our production API Keys page.

Step 2: Create and send your first NFT to an email address (Staging)

Minting and delivering an NFT to a user is as simple as making one HTTP call:

curl --header "x-client-secret: <CLIENT SECRET>" \
  --header "x-project-id: <PROJECT ID>" \
  -X POST \
  -H 'Content-Type: application/json' \
  -d '{
    "metadata": {
        "name": "Crossmint Mint API Test",
      "image": "https://www.crossmint.com/assets/crossmint/logo.png",
      "description": "Test NFT created by the Crossmint Minting API"
     "recipient": "email:<EMAIL>:<BLOCKCHAIN_NAME>"
    }' \

Copy the code snippet above, and replace:

  • <CLIENT SECRET> with the client secret obtained in the API keys section from step 1
  • <PROJECT ID> with the project ID obtained from the same API keys screen
  • <EMAIL> with the recipients email address
  • <BLOCKCHAIN_NAME> with the desired blockchain to mint the NFT too (e.g. poly or sol)

screenshot from https://staging.crossmint.com/console/projects/apiKeys


Read more about the recipient & blockchains:

You can read more about the recipient options, including the supported blockchains, sending NFTs to an existing crypto wallet, and sending NFTs directly to an email address (via a Crossmint custodial wallet).

Step 3: Check the status of the mint

Every mint request returns an id field that uniquely represents each NFT. You can track the status of the mint event using this ID, since minting an NFT can take a few seconds before its finalized on the blockchain. Once it's finalized, this endpoint will provide all onChain data you'll need about the NFT.

The following get request accepts this id as a URL param.

curl --header "x-client-secret: <CLIENT SECRET>" \
  --header "x-project-id: <PROJECT ID>" \
  -X GET \

Step 4: You've minted your first NFT on the Mint API!

You can use the results of Step 3 to search for your contract on OpenSea (or any other marketplace)

Check out the many other features that the Mint API has to offer, including:

Finally, learn more about our API via our API Reference, and get inspiration by checking out our example projects!

Any questions? We'd love to talk to you on our discord!