A private allowlist mint on Midnight. Generate a zero-knowledge proof that you’re on the list, without publishing it  and without revealing which entry is yours.
The allowlist is committed as a single Merkle root. Individual entries never appear on-chain — nothing to scrape, nothing to leak.
A nullifier is recorded when you mint — not your address, not your entry. You can't double-mint, and no one can link mints back to you.
Anyone can verify the proof and the Merkle root on-chain. Privacy without trust — the math shows the gate is honest.
The full allowlist is turned into a Merkle tree off-chain. Only the root is published — a single 32-byte fingerprint that reveals nothing about who's on it.
Your wallet builds a ZK proof: 'I know a leaf in the tree with this root, and I haven't spent its nullifier.' The proof reveals no address, no index, no path.
The chain checks the proof and stores a nullifier so this entry can't mint again. Your address is never linked to your slot. Ghostlist forgets you.
Traditional allowlists are public, scrapeable, and tied to your address. Ghostlist publishes only a hash.
What every phisher, scraper, and analyst can see on a legacy drop.
Only what's cryptographically necessary goes on-chain. Everything else stays local.
One wallet, one proof, one nullifier. The chain remembers only the math  not you.
Network
Midnight
Preprod
Proof system
ZK-SNARK
Halo2
Wallet
Lace
Midnight
Mint cost
Free
Gasless
Only on your device, in your Lace wallet. Your secret never leaves your machine. The proof is built locally and then discarded from memory.
A one-time token that proves you minted without revealing which list entry is yours. It can't be linked back to you.
The contract checks if your nullifier was already spent. If it was, the second transaction is rejected — that's the anti-double-mint guarantee.