[Ethereum] Lazy Minting in Ethereum

ethergasgas-pricemintnft

I am trying to create NFTs in various digital/crypto marketplaces like OpenSea, Rarible, etc for the past few weeks. In most of the sites, we need to pay some gas fees for adding an asset and creating an NFT for it. But OpenSea doesn't ask for any gas fees for adding an asset in Ethereum. After adding the asset I could see the contract address and unique Token ID for it. But how it is possible to deploy a contract and create an NFT with zero gas fee? On their official website, they have mentioned that they use "Lazy Minting" which is, the NFT token is really minted on the blockchain while its first purchase or transfer.

The new collection manager allows creators to make NFTs without any upfront gas cost, as the NFT isn’t transferred on-chain until the first purchase or transfer is made. We call this lazy minting. It unbundles the on-chain issuance of your NFTs from the metadata.

But technically I couldn't understand the concept behind this. Do they use any await function and promise to achieve this? Or is there any other alternative way?

For more info, Please find the contract address and Token Id for the asset I have added,

Contract address: 0x495f947276749Ce646f68AC8c248420045cb7b5e

Token ID: 34933046909214840971720565469667075475484107771494388163319263788272235577345

Best Answer

According to https://blog.openzeppelin.com/workshop-recap-building-an-nft-merkle-drop/

Lazy minting uses cryptographic primitives, the artist can sign “minting authorizations” that later allow a user to do the minting themselves. These signatures are free to produce, as they do not require an on-chain transaction. They guarantee that the artist or system administrator keeps total control over the NFTs, and ensure no token can be minted without prior approval.

Related Topic