I’m writing some code to process payments and mint NFTs in return. I’m currently trying to determine the best architecture to efficiently mint the NFTs when receiving a high volume of payments.
Once a minute minute my software wakes up to collect all the incoming UTXOs received. Then it determines how many NFTs to mint for each UTXO received, submits a single transaction with all the UTXOs as input and delivering the minted NFT along with min ADA to the corresponding address for each UTXO. On testnet this has been working well, minting up to 50 NFTs to 10 recipients in a single transaction.
However, for some of the big projects that have recently been minted I noticed that each NFT is minted in a single transaction. Am I missing something? Is there a reason they choose to process only a single UTXO at a time?