title: Batch Minting vs Lazy Minting Directly to user wallet
body: <p>I'm writing a solidity smart contract and I'm trying to decide which</p>
  <ol>
  <li>is more performant</li>
  <li>saves gas fees</li>
  </ol>
  <p>This is based on a NFT marketplace</p>
  <p><strong>Option 1:</strong>
  <code>Mint 10,000 NFTs to my wallet, and then transfer each NFT to a buyers wallet on purchase</code></p>
  <p><strong>Option 2:</strong>
  <code>Mint directly to the buyers wallet on purchase</code></p>
  <p><strong>Assumptions:</strong></p>
  <ol>
  <li>For now lets assume the tokenURI is constant and we dont need to rebuild it each time in option 2, because the time to upload to IPFS can be alot</li>
  </ol>
  <p><strong>Questions:</strong></p>
  <ol>
  <li>Does minting cost more than a transfer, or are they the same?</li>
  <li>Is there a &quot;quantity&quot; where batch minting is more efficient?</li>
  <li>Is there any scenario where batch minting can be better?</li>
  <li>If we ignore the assumption and time to upload to IPFS is an added variable, would batch minting be more desirable?</li>
  </ol>