A Merkle Root is a hash value that is used to summarize a set of data, such as a list of addresses in an NFT (Non-Fungible Token) Allowlist. An Allowlist is a list of addresses that are allowed to participate in a specific NFT sale or auction. Merkle Roots are often used in conjunction with Allowlists to ensure the integrity and security of the NFT sale or auction process.
In an NFT sale or auction, the Allowlist is used to determine who is eligible to participate. The Allowlist is typically stored in a CSV file, which can be easily manipulated or tampered with. This creates a potential security risk, as someone could add or remove addresses from the Allowlist to gain an unfair advantage in the sale or auction process.
To address this issue, a Merkle Root is generated from the CSV file. The Merkle Root serves as a summary of the data in the Allowlist, and is included in the smart contract that governs the NFT sale or auction. When a user wants to participate in the sale or auction, they must provide a proof that their address is included in the Merkle Root. This proof is generated by hashing the user's address and several other addresses from the Merkle tree, until the Merkle Root is reached. This ensures that only addresses that are included in the original Allowlist can participate in the NFT sale or auction.
- Select a csv file that contains only addresses.
- If invalid addresses are present you will be prompted to fix the addresses and retry merkle generation.
- Once valid, you will be able to copy the merkle root and the array of addresses.
Once the Merkle Root is generated, it can be included in the smart contract that governs the NFT sale or auction, along with the necessary code to verify user participation.