Whitelist (Merkle allowlist)
An allowlist is a snapshot of addresses authorised to mint during a private phase. artsunami stores it as a Merkle root in the contract - gas-efficient, no on-chain CSV.
Why Merkle
Storing a list of 5,000 addresses on chain would cost an absurd amount of gas (~22 k gas per slot × 5,000). Instead the contract stores one bytes32 - the Merkle root - which compresses any list into 32 bytes. At mint time, the buyer's wallet submits a 'proof' (a tiny array of hashes) and the contract verifies the proof matches the root.
How you supply the list
In the /create/drop wizard, paste your CSV (one address per line, optionally followed by a max-mint count). The wizard runs keccak256 over each entry, builds the tree, and you sign the deploy with the resulting root. The full list is exported as a JSON file - host it on IPFS / S3 / your gallery, the public mint page fetches it to compute proofs at mint time.
Discount price
The allowlist phase can have its own price (typically a discount). The contract stores both prices and routes the user to the right one based on whether they submit a valid proof and which phase is active.
Snapshots
If you're allowlisting holders of another collection, take a snapshot of holders at a chosen block via Etherscan or a tool like Snapshot.org, dump the addresses, and feed them in. The proof system doesn't care where the list came from.
ChatZilla lives at the top of the Help center. It knows every topic in this center and can walk you through your specific collection, wallet or transaction.