An NFT Snapshot is the process of recording the exact ownership state of a collection of non-fungible tokens (NFTs) at a specific block height on a blockchain. This creates an immutable, timestamped record of which wallet addresses hold which token IDs from the collection at that precise moment in time. The resulting data set, often a simple list or CSV file, is used to determine eligibility for subsequent events like airdrops, token distributions, allowlist allocations, or governance votes.
NFT Snapshot
What is an NFT Snapshot?
A precise definition of the process of recording NFT ownership at a specific block height.
The technical mechanism involves querying the blockchain—either via a node, a block explorer API, or a dedicated snapshot tool—to capture the owner's address for every token ID in a specified smart contract. This is typically done at a pre-announced block number to ensure fairness and transparency. Because blockchain data is immutable, this snapshot provides a verifiable and objective record, preventing manipulation after the fact. Projects often use services like Snapshot.org for off-chain signaling or build custom scripts using providers like Alchemy or Infura for on-chain data.
Common use cases for an NFT snapshot include rewarding holders with a new token or NFT, granting access to exclusive content or events, and forming the basis for decentralized governance. For example, a project might take a snapshot of its holder base to airdrop a new governance token, ensuring only genuine, long-term holders are rewarded. It is a critical tool for managing community incentives and executing proportional distributions without requiring holders to take any action at the snapshot moment.
For holders, understanding snapshot mechanics is crucial. To be included, your NFTs must be in a self-custodied wallet (like MetaMask) at the specified block; holdings on centralized exchanges are typically not captured. The practice underscores the verifiable on-chain provenance of NFTs, as ownership history is publicly auditable. This transparency is a foundational difference from traditional digital asset systems where ownership records are privately managed.
How an NFT Snapshot Works
An NFT snapshot is a technical process for recording the state of ownership within a non-fungible token collection at a specific block height on a blockchain.
An NFT snapshot is the process of recording the exact state of ownership for a specific NFT collection at a predetermined block height on its native blockchain. This involves querying the blockchain's ledger to capture a list of all wallet addresses that hold at least one token from the target collection at that precise moment in time. The resulting data set, often called a snapshot list, is a simple but powerful record of eligibility, typically stored as a CSV or JSON file containing wallet addresses and sometimes the specific token IDs held. This process is fundamental for executing fair, permissionless, and verifiable on-chain actions for a defined community.
The primary technical mechanism involves a smart contract or an off-chain script reading the ownership data stored in the NFT collection's contract. For Ethereum-based collections using the ERC-721 or ERC-1155 standards, this means querying the balanceOf and ownerOf functions for all token IDs at the specified block. The block height (block number) is critical, as it serves as the immutable timestamp that freezes the eligible holder set, preventing manipulation by users who buy or sell tokens after the snapshot is taken. This ensures the process is transparent and its results are independently verifiable by anyone with access to a blockchain explorer.
NFT snapshots are most commonly used to facilitate airdrops of new tokens, such as governance tokens for a DAO or a companion collection, directly to proven holders. Other key use cases include determining eligibility for allowlist spots in a mint, calculating voting power in token-weighted governance, and distributing rewards or royalties. For example, a project might take a snapshot to airdrop a new ERC-20 token to all holders of its flagship PFP collection, using the snapshot list to batch-transfer tokens to the recorded addresses in a single, efficient transaction.
While conceptually simple, executing a snapshot requires careful planning. Teams must publicly announce the exact block number in advance to ensure fairness. They must also consider technical edge cases, such as tokens held in smart contract wallets (like Gnosis Safe) or centralized exchange custodial addresses, which may not be eligible to interact with subsequent airdropped assets. The verifiability of the snapshot is its core strength, as any community member can replicate the query to confirm the results, fostering trust in the project's decentralized operations.
Key Features of an NFT Snapshot
An NFT snapshot is a point-in-time record of token ownership and metadata, enabling targeted airdrops, governance, and analytics without disrupting the live collection.
Immutable Point-in-Time Record
An NFT snapshot captures the exact state of a collection at a specific block height on the blockchain. This record includes:
- Wallet addresses of all holders.
- The specific token IDs each wallet owns.
- Associated metadata (e.g., traits, rarity) for each token.
Once recorded, this data is cryptographically verifiable and cannot be altered, providing a reliable historical ledger for distribution or analysis.
Primary Use Case: Airdrops & Rewards
The most common application is to distribute new tokens or rewards to a specific historical holder set. For example:
- A project may airdrop a new ERC-20 token to all holders of its genesis NFT collection.
- A gaming DAO could distribute in-game assets to holders of a particular character class.
This allows for permissionless, verifiable distribution based on proven past ownership, rewarding early supporters or specific community segments.
Governance & Voting Power
Snapshots are foundational for snapshot voting, a popular off-chain governance mechanism. A snapshot of token holders is taken to determine voting eligibility and weight for a proposal.
Key aspects include:
- Prevents vote buying by locking the eligible voter set.
- Allows voting via signed messages without gas fees.
- Ensures only historical holders can participate, protecting against last-minute token accumulation.
Technical Implementation
A snapshot is not a native blockchain function but is created by querying and recording on-chain data. Common methods include:
- Using an indexer or subgraph (e.g., The Graph) to query ownership at a target block.
- Running a custom script via a node provider (e.g., Alchemy, Infura) to call the
balanceOfandtokenOfOwnerByIndexfunctions of the NFT contract. - The resulting data is typically stored in a Merkle tree for efficient, verifiable proof of inclusion in an airdrop.
Merkle Tree Distribution
To efficiently and verifiably distribute assets from a snapshot, projects often use a Merkle tree. This cryptographic structure:
- Compresses the entire snapshot holder list into a single Merkle root stored on-chain.
- Allows each eligible user to submit a concise Merkle proof to claim their tokens.
- Is highly gas-efficient, as only the root hash needs to be published, not the entire list of addresses.
Platforms like OpenZeppelin's MerkleDistributor provide standard implementations for this pattern.
Analytics & Historical Analysis
Beyond distributions, snapshots serve as critical datasets for on-chain analytics. Analysts use them to:
- Track holder concentration and whale movements over time.
- Analyze the correlation between specific NFT traits and holder behavior.
- Measure retention rates and community growth between snapshot events.
This data provides insights into collection health, market trends, and community dynamics that are not visible from current-state data alone.
Primary Use Cases
An NFT snapshot is a point-in-time record of token ownership, primarily used to determine eligibility for airdrops, governance rights, or community rewards.
Royalty & Reward Distribution
Used to calculate and distribute ongoing rewards, such as staking rewards or revenue share from secondary sales, to a static set of holders. The snapshot defines the recipient pool and their proportional share at the calculation moment.
Proving Historical Ownership
Provides cryptographic proof of ownership at a past date for reputation systems, on-chain credentials, or membership verification. This creates a trustless record of participation in an event or community.
Community Analysis & Segmentation
Analysts and projects use historical snapshots to study holder behavior, identify diamond hands (long-term holders) versus flippers, and segment the community for targeted campaigns or research.
Snapshot vs. Live Query Comparison
A comparison of two primary methods for obtaining NFT ownership and metadata data from a blockchain.
| Feature | Snapshot | Live Query |
|---|---|---|
Data Freshness | Point-in-time state | Real-time, up-to-the-block |
Primary Use Case | Airdrops, historical analysis, reporting | Marketplace listings, live dashboards, wallet displays |
Performance Impact | Low (single, historical query) | High (continuous, on-demand queries) |
Cost (Gas/API) | Fixed, one-time | Variable, recurring |
Data Completeness | Complete for the specified block | May be incomplete for very recent transactions |
Infrastructure Need | Archive node or indexer | Full node or high-performance RPC |
Typical Latency | Seconds to minutes (pre-computed) | < 1 sec to 3 sec (query time) |
Example Tools | The Graph, Covalent, Dune Analytics | Alchemy NFT API, Moralis, direct RPC calls |
Technical Considerations
A snapshot is a point-in-time record of token ownership on a blockchain, typically used to determine eligibility for airdrops, voting rights, or other on-chain events. Its technical execution involves critical decisions around timing, data sources, and verification.
Block Height & Finality
The block height (or block number) is the most critical parameter. It defines the exact moment the snapshot is taken. Developers must consider block finality to ensure the recorded state is irreversible. On proof-of-work chains, waiting for multiple confirmations is standard. On proof-of-stake chains, finality is often faster, but the specific epoch or slot must be chosen carefully to avoid reorganizations.
Data Source & Node Reliability
Snapshots rely on querying a blockchain node's state. The choice of node provider is crucial.
- Archival vs. Full Nodes: An archival node is required to query historical state (e.g., ownership at block #15,000,000). A standard full node may only have recent data.
- Provider Reliability: Using a single centralized provider like Infura or Alchemy introduces a point of failure. Best practice involves cross-referencing multiple nodes or running a self-hosted archival node for critical operations.
Token Standards & Edge Cases
Not all NFT ownership is straightforward. The snapshot logic must account for:
- ERC-721 vs. ERC-1155: ERC-1155 can represent multiple token IDs in a single contract, requiring different query logic.
- Nested Assets (Staked NFTs): NFTs locked in a staking contract or used as collateral in a lending protocol are technically owned by the smart contract, not the end user. Special logic is needed to map the ultimate beneficiary.
- Delegate.cash & Token-Bound Accounts: Protocols that allow delegation of asset control without transferring ownership must be considered for governance snapshots.
Verification & Merkle Proofs
For large airdrops, storing a full list of addresses is inefficient. The standard solution is to generate a Merkle tree (or Merkle root) from the snapshot data.
- Off-Chain Generation: The tree is constructed off-chain from the snapshot data.
- On-Chain Verification: Users submit a Merkle proof—a cryptographic path proving their inclusion in the snapshot—to claim their allocation. This method minimizes on-chain storage and gas costs for distribution.
Gas Considerations & Timing
The act of taking a snapshot itself is gas-free (it's a read operation), but subsequent actions have costs.
- Airdrop Execution: Distributing tokens based on the snapshot requires a transaction for each recipient or a clever use of Merkle claims, which shifts gas costs to the user.
- Timing Attacks: Snapshot timing can be gamed. "Snapshot squatting," where users buy assets just before a known snapshot and sell immediately after, is common. Projects often use randomized or surprise snapshot blocks to mitigate this.
Tools & Common Pitfalls
Common Tools:
- The Graph: Indexes historical blockchain data into queryable subgraphs.
- Dune Analytics: SQL-based platform for querying and analyzing on-chain data, useful for verifying snapshots.
- Custom Scripts: Many teams write scripts using web3.js or ethers.js to query an archival node.
Pitfalls to Avoid:
- Ignoring token approvals and delegated balances.
- Using a non-archival node and getting empty results.
- Not accounting for the snapshot block's transaction ordering (state after the block, not before).
Common Misconceptions
Clarifying widespread misunderstandings about the technical process and implications of taking an NFT snapshot for airdrops, allowlists, and community rewards.
An NFT snapshot is a record of token ownership taken at a specific block height on a blockchain, used to determine eligibility for events like airdrops or allowlists. It works by querying the blockchain's state—typically via a node or indexer like The Graph—to capture the wallet addresses holding a particular NFT collection or set of criteria at that exact moment. The process is immutable and verifiable; anyone can audit the results by checking the same block number. It is a read-only operation that does not interact with or move any tokens.
Key Steps:
- Define Criteria: Specify the target NFT collection, token IDs, or traits.
- Set Block Height: Choose a precise, future block number for the snapshot.
- Execute Query: At the designated block, scan the blockchain to record all qualifying holder addresses.
- Generate List: Produce a verifiable list (often a Merkle root) for use in a smart contract or distribution.
Ecosystem Examples
An NFT snapshot is a foundational data operation that enables a wide range of applications, from targeted airdrops to governance and analytics. These examples illustrate its practical utility across the blockchain ecosystem.
Airdrop Eligibility
The most common use case. Projects take a snapshot of token or NFT holders at a specific block height to determine eligibility for a token airdrop or other rewards. This ensures fairness by only rewarding users who held the asset before the announcement.
- Example: An NFT project snapshots its holder list to distribute a new collection or governance token to its community.
On-Chain Governance
Used to establish a voting census for DAO proposals. A snapshot of governance token or NFT holders at a predetermined block freezes the list of eligible voters, preventing manipulation through rapid token buying or selling during the voting period.
- Example: A DAO uses a snapshot to determine which addresses can vote on a treasury spending proposal.
Allowlist Creation
Projects create allowlists (whitelists) for mint events by taking a snapshot of qualifying wallets. Eligibility can be based on holding a specific NFT, a governance token, or completing certain tasks before the snapshot block.
- Example: A new PFP project snapshots holders of a related generative art collection to grant them guaranteed minting spots.
Royalty & Reward Distribution
Enables automated, verifiable payouts. A snapshot of holders at the end of a period (e.g., monthly) is used to calculate and distribute secondary sales royalties or staking rewards proportionally.
- Example: A music NFT platform snapshots holders to distribute a share of streaming revenue.
Analytics & Historical Analysis
Snapshots provide a historical record of ownership at precise moments. Analysts use them to track holder concentration, measure community growth over time, or audit the state of a collection before and after major events.
- Example: A researcher compares snapshots before and after a major market event to analyze holder behavior.
Frequently Asked Questions (FAQ)
Common questions about NFT snapshots, a critical mechanism for capturing the state of a blockchain at a specific block for airdrops, governance, and community initiatives.
An NFT snapshot is a record of all token holders for a specific NFT collection at a predetermined block height on a blockchain. It is a point-in-time capture of ownership used to determine eligibility for events like airdrops, allowlist allocations, or governance rights. The process involves querying the blockchain's state—typically by reading the ownership data stored in the NFT's smart contract—to compile a list of wallet addresses and the specific tokens they hold. This list is then used as the immutable source of truth for distributing rewards or permissions, ensuring fairness by excluding any transfers that occur after the snapshot block.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.