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.
POST https://staging.crossmint.com/api/2022-06-09/collections/<collection-id>/nfts
Note: you can mint both compressed and non-compressed NFTs on the same collection.
Example:
# Mint an NFT
curl --request POST \
--url https://staging.crossmint.com/api/2022-06-09/collections/default-solana/nfts \
--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": "https://www.crossmint.com/assets/crossmint/logo.png",
"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 https://staging.crossmint.com/api/2022-06-09/collections/default-solana/nfts/<nft-id> \
--header 'x-project-id: PROJECT_ID ' \
--header 'x-client-secret: CLIENT_SECRET' \
Be sure to replace:
CLIENT_SECRET
andPROJECT_ID
- Recipient: change
[email protected]
with a wallet or email address you own - Metadata: add the
name
,image
,description
.
Updated 12 days ago