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

📘

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_mintNFT",
    "params": [
      "<collectionId>",
      "email:recipient@gmail.com:sol",
      {
        "name": "My NFT",
        "image": "https://pbs.twimg.com/profile_images/1535656143988707330/Wg16GKQ2_400x400.png",
        "description": "An NFT commemorating a special day"
      }
    ]
  }'

📘 Using pre-published metadata

Instead of the object literal in the example above simply pass the string URL to the metadata you’d like to use.

Parameters

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

Returns

{
  "id": "07767b83-3dbe-4369-84bf-05ade1d350f3",
  "onChain": {
    "status": "pending",
    "chain": "solana"
  }
}