Whitelist
A list of approved participants or entities granted special access or privileges, often used in token launches and private sales.
Commonly used in Initial Case Offerings (ICOs), Initial DEX Offerings (IDOs), and NFT mints to prevent bot-driven 'gas wars' and ensure fair distribution.
graph LR
Center["Whitelist"]:::main
Rel_delegated_proof_of_stake["delegated-proof-of-stake"]:::related -.-> Center
click Rel_delegated_proof_of_stake "/terms/delegated-proof-of-stake"
Rel_soulbound_token["soulbound-token"]:::related -.-> Center
click Rel_soulbound_token "/terms/soulbound-token"
Rel_token_standard["token-standard"]:::related -.-> Center
click Rel_token_standard "/terms/token-standard"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Knowledge Check
🧒 Explain Like I'm 5
🌍 Imagine a VIP club where a bouncer at the door has a piece of paper with names on it. If your name is on the list, you get to go in before everyone else or get a special deal. In crypto, that list is a whitelist.
🤓 Expert Deep Dive
Whitelisting on-chain is typically implemented via two methods: 1. Storage-based Mapping: Storing an address-to-boolean mapping (mapping(address => bool) public isWhitelisted). This is expensive for large lists due to storage gas costs. 2. Merkle Trees: Storing only the Merkle Root on-chain. Participants provide their address and a 'Merkle Proof' to verify inclusion. This is highly efficient and scalable. Security-wise, whitelists are often combined with KYC/AML providers (like Chainalysis or Elliptic) to ensure regulatory [compliance](/en/terms/regulatory-compliance). In decentralized governance, whitelists are used to limit voting or proposal creation to verified stakeholders.