Replace:

  • <QUICKNODE_URL>: Set to your own quicknode RPC URL
  • <collectionId>: The name of the collection you want to mint against. If you haven’t created a collection you can just use “default” to mint to the default collection for your project
  • <nftSlug>: The idempotent slug for the NFT

📘

Tip: when delivering NFTs to an email address, recipients should sign in with their email at https://staging.crossmint.com/signin to access their NFTs. Ensure you send them an email with these instructions after minting.

cURL
curl -i '<QUICKNODE_URL>' -X POST -H 'content-type: application/json' --data-binary '{
    "jsonrpc": "2.0",
    "method": "cm_mintNFTIdempotent",
    "params": [
      "<collectionId>",
      "<nftSlug>",
      "email:toby@gmail.com:sol",
      {
        "name": "My Idempotent NFT",
        "image": "https://pbs.twimg.com/profile_images/1535656143988707330/Wg16GKQ2_400x400.png",
        "description": "An NFT commemorating a special day"
      }
    ]
  }'

Parameters

IndexNameTypeDescription
0collectionIdstringthe id or name of the collection; every project has a “default-solana” collection. Otherwise, use the createCollection RPC endpoint to create a new collection.
1nftSlugstringthe idempotent slug for the NFT
2recipientstringWhere to send the NFT. See how to specify the recipient
3metadataObjectStandards-compliant metadata. See metadata

Returns

{
    "id": "<nftSlug>",
    "onChain": {
        "status": "pending",
        "chain": "solana"
    }
}