Burning NFTs on Solana
You can burn your NFTs at burn.blockchainapi.com, using our free tool.
(EDIT:- 08-19. The contents of this post are wrong. With sol-incinerator.com, you can receive 0.01 SOL per NFT, nearly the full amount needed to mint. Thisi was due to a couple of misunderstandings I had! Might update our tool and this post at some point, if time permits.)
Here’s a quick video tutorial that goes over the content in this blog post and how to use the burn tool.
This article is a great resource that will help this article make more sense.
What does it mean to burn an NFT on Solana? What actually happens?
Burning an NFT deletes the NFT by reducing its supply to zero. However, the metadata of the NFT is still stored on the blockchain.
How does this work?
Explaining how it works might require some jargon, so bear with me.
To burn an NFT, you create a transaction and submit. Typically, this transaction contains two instructions. The first is the “Burn” instruction. The second is the “close associated token account” instruction. Here’s an example transaction.
You can see the first instruction below, which is a burn instruction. This instruction reduces the supply of the NFT from 1 to 0. The metadata is not deleted. You have authority to do this because you own the token that is attached to the NFT.
This instruction calls a function in the Token Program smart contract.
After calling this burn function, you do not recover the SOL that was used to create the NFT. Why you do not is explained in the next section.
The second instruction, as shown below, is the close account instruction. Here’s how I will try to explain this: imagine a bucket with water. The water is the NFT, and the associated token account (ATA) is the bucket that holds the NFT. You have to pay for the bucket (to store the NFT). This costs approximately 0.002 SOL. When someone sends you an NFT, they actually also send you 0.002 SOL for the bucket. When you close the account that holds the NFT, you recover 0.002 SOL.
The 0.002 SOL that you recover is deposited into your account. This is the entirety of the money you retrieve from burning an NFT.
What does the “Burn” instruction actually do?
It modifies the mint account to reduce the supply of the token by 1.
This is before the burn transaction.
This is after the burn transaction.
Why do I only get 0.002 SOL?
Minting an NFT costs approximately 0.0119812 SOL. Here’s a minting transaction that shows this. Let’s break down where that money goes.
We now refer to the account labeled #1 above. This account is the creator of the NFT. They spend 0.0119812 SOL to create the NFT.
The mint account.
This is the token metadata account, which actually stores the metadata of the NFT. This is the Metadata Account. The plurality of the SOL needed for minting goes to this account - approximately 0.005 SOL.
This is the “bucket” as mentioned before. The SOL used to create this account is approximately 0.002 SOL, and this is the only SOL that you’re able to recover when burning an NFT.
Another token metadata account, the Master Edition Account. Read more here.
As mentioned in the previous paragraph, we only have control over account #4, which is the source of the 0.002 SOL we are retrieving.
What about the rest of the SOL?
We still need to know what happens to accounts #2, #3, and #5.
The short answer is that only Account #2 is modified to reduce the supply of the NFT by 1. Nothing else happens to any of these accounts.
The second account is a standard account. It received 0.001 SOL. The account has a seed phrase and public key. However, when created, the seed phrase is almost always never stored and forgotten. This SOL is gone forever, if so. No one can retrieve it.
If you created the NFT yourself and stored the seed phrase of the mint accuont, then you could also theoretically retrieve this 0.001 SOL as well.
The third and fifth accounts, while created when minting an NFT, are PDAs. This means they are controlled entirely by the NFT smart contract created by Metaplex. No seed phrase exists for these accounts (it’s mathematically guaranteed).
While we deposited approximately 0.007 SOL into these accounts, the Burn instruction works for the Token Program, which is separate from the Token Metadata Program). The Token Program does not have access to these accounts.
These accounts are simply out of our control.
I believe it is possible for Metaplex to add a burn instruction to the Token Metadata Program to recover this SOL, but they have not yet to my knowledge. In fact, that’s the only way to recover that SOL.
And thus, we can only retrieve the SOL from account #4, which is 0.002 SOL.