Mint Compressed NFTs

Mint NFTs for a fraction of the cost using the "Compressed" NFT standard (Solana only)

🤔 What are Compressed NFTs?

Compressed NFTs are a new standard on the Solana blockchain, for minting NFTs with the lowest cost amongst L1 and L2 blockchains, and the highest throughput (thousands of NFTs per second). Read more details about how it works here.

Using this standard to mint NFTs can quickly become complicated if you manage everything on your own. On top of the intrinsic complexity usually required to mint a regular NFT (handling crypto, interfacing with the blockchain, generating custodial wallets for those who don't have one), compressed NFTs require deploying and managing Merkle trees, batching, and dealing with not yet reliable infrastructure.

Here's where Crossmint can help: we've done all the hard work so that minting compressed NFTs is no harder than minting regular ones: all it takes is a single API call, and you can even use one of Crossmint's no-code tools to do so.

🕙 Known limitations

  • Updating NFT metadata after minting is not yet supported
  • Compressed NFTs can't yet be traded on some Marketplaces like Magic Eden
  • There's a 10-30 seconds delay between when an NFT is minted and it shows in wallets

🧱 How to use the Minting API with Compressed NFTs


In Solana collections, NFTs will be minted compressed by default

If you want to mint a non-compressed NFT, you can do so by including the parameter "compressed" : false in the request body.

The Minting API for Compressed NFTs is exactly the same as for regular NFTs, but it only works on the Solana blockchain.


Note: you can mint both compressed and non-compressed NFTs on the same collection.


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

# This will return an NFT ID. Use it in the next call:

# Check status
curl --request GET  
     --url<nft-id>  \
     --header 'x-project-id: PROJECT_ID ' \
     --header 'x-client-secret: CLIENT_SECRET' \

Be sure to replace:

  • Recipient: change [email protected] with a wallet or email address you own
  • Metadata: add the name, image, description.