10K NFT projects use merkallow to quickly build their private allow list for almost free compared to storing their list on-chain.
Azuki's whitelist had something like 1070 allowlist addresses and cost them about $12963 to process. Other contracts, such as Coolman reduce their costs by use a Merkle tree to enable their allowlist addresses. Using a Merkle tree allows the entire allow list to be updated by changing a single 32 byte data structure that represents the root of the merkle tree. Any address on the tree can be verified using this single data point.
How it's made
This project consists of a front end written in react using nextjs. And a backend also written in react. The database is planetscale and the distribution of the merkle tree is done using IPFS. For IPFS, we used nft.storage. The nft.storage does a few things for us: 1) It's super easy to use the API. 2) It assures our customers that their minting process is not dependant on our infrastructure being up. We can have downtime but their mint will still work!