Mint Compressed NFTs

Create and distribute millions of NFTs at a fraction of the cost

What are Compressed NFTs

Transacting on Solana is virtually free but storage is expensive. With compression, you can condense the metadata of millions of NFTs into a light Merkle root, which is stored on-chain. Compressed NFTs are a great and inexpensive solution for large scale applications, given Solana's throughput (350-450 TPS) and low cost. Learn more about Compressed NFTs here.

Using Crossmint’s scalable and reliable minting infrastructure, you can create Compressed NFTs with a simple API call or with our no-code cools, on-demand. Try it for free by signing up here.

Note: Bear in mind that these APIs are in beta and have dependencies with other providers who are also in beta. Expect major upgrades over the next two weeks as we test and scale them up. Compression is a nascent standard and the rest of ecosystem is still ramping up. Today, compressed NFTs are only viewable from Crossmint wallets (at and the X-RAY explorer. We expect broader ecosystem support within the next 1-2 months. This means you can be one of the earliest adopters and help us bring to life this new standard that is about to take crypto by storm :)

🧱 Deploy a collection

You can deploy collections using the standard API.

Each user gets a default collection created by default, so you can skip this step if you are just playing around, and go back at it when you want to create a new separated container.

⚒️ Mint

The Compression APIs are similar to the standard minting APIs but use a different endpoint. What they do is:

  1. Ensure there's a smart contract deployed for your NFT (from the prior step)
  2. Upload your metadata into a file in IPFS (decentralized storage)
  3. Mint an NFT on a blockchain of your choice
  4. If the recipient is an email address, it creates a crypto wallet for them
  5. Sends the NFT to that wallet

Note that you must notify the recipient that the NFT has been delivered. We do not send any communications right now, though we will enable this as an optional feature soon.

To get started, open your terminal and paste the following code:

curl --request POST \
     --url \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-client-secret:  ' \
     --header 'x-project-id:  ' \
     --data '
  "recipient": "email:[email protected]:solana",
  "metadata": {
    "name": "My first Mint API NFT",
    "image": "",
    "description": "My NFT created via the mint API!"

Before pressing Enter, fill in:

  • Recipient: change [email protected] with a wallet or email address you own
  • Metadata: add the name, image, description. You can insert any other attributes into the metadata, as new rows separated by a comma

Contact us for an idempotent version of this API

Get mint status of an NFT

Check the status of a mint request.

curl --request GET  
     --url <>  
     --header 'x-client-secret:  '  
     --header 'x-project-id:  '

This request will check the status of a specific mint for your default collection. To check the status of a mint from a different collection, update ‘default_solana’ to your created collection’s ID

Building for scale

Combining compression with our wallet APIs, you can on-board millions of users in minutes. If you have a list of user emails, you can instantly create them wallets and airdrop them NFTs for loyalty, game assets, POAPs or anything else!