Learn how to make it so your users can't transfer or sell your NFTs.
By default, NFTs are transferable. We can sell them on secondary markets or transfer them to other users. There are also times when we want the NFT to be non-transferable. For example, maybe we want to reward our community with some exclusive award NFT to those who completed a challenge, or maybe for issuing NFT certificates.
Another common name for non-transferable NFTs are soulbound NFTs. Learn more about them and their use cases from Vitalik Buterin’s post titled Soulbound.
In this guide, we will learn how to make it so users can't transfer or sell our NFTs. This process can all be done without writing any code.
Let’s get started!
Navigate to the dashboard, and create a new contract: choose from either an NFT Collection, Edition, NFT Drop, or Edition Drop. You can make your NFT non-transferable in any of these versions.
For this guide, we will create an NFT Collection contract.
Fill out the general settings to distinguish your contracts and payout settings. After that, scroll down and click the blue bar at the bottom that says Deploy Now.
Next, click the blue Mint + button on the top right. This will pull up a side panel that will allow us to create our NFT. After filling in the fields, click + Mint NFT to finish the minting process.
Make it non-transferable
Once created, you should see your newly minted NFT on your dashboard. Click on the permissions tab.
From the permissions tab, scroll down to the Transfer permissions. Click the drop down that says transferable and change it to Non-transferable.
After updating, click on update permissions. This will prompt a transaction you need to confirm from your wallet.
Once updated, only addresses with the Transfer role are able to transfer the NFT. By default, this is set to the wallet that created the NFT.
Having an Admin role allows you to change the rules of the contract in the future. If you don't want to be able to add a Transfer role to anyone in the future, remove yourself from the Admin role.
If you don’t want to be able to transfer the NFT, remove yourself from the transfer permissions and update permissions again.
This will make it so no one can transfer the NFTs in your collection.
Note: users can still list non-transferable NFTs on marketplaces like OpenSea. However, if someone tries to purchase them, the transaction will fail.
Now, your NFT is non-transferable!