nftfile
ZKP Verified NFT is a decentralized smart contract that issues NFTs to users who are cryptographically verified using Zero-Knowledge Proofs (ZKPs). The system ensures privacy-preserving identity valid
Description
# š§ ZKP Verified NFT (ZKPMerkleNFT)
**Deployed Address:** `0x66FC05Cea3cF247026dd93db9c93Cb5Ea1F08B9B`
A lightweight **Zero-Knowledge Proof (ZKP)**-inspired NFT minting contract built in **Solidity** with **no imports** and **no constructors**.
Verified users can mint NFTs using a **Merkle proof** that demonstrates membership in a pre-approved (off-chain verified) list ā without revealing any private data.
---
## š Overview
This smart contract allows **only verified users** to mint a unique NFT after providing a valid **Merkle proof** that confirms their address exists in a whitelist managed off-chain.
Each verified user can mint exactly **one NFT**, which acts as a **badge of authenticity** or **ZKP-based identity token**.
This is a simplified on-chain zero-knowledge mechanism using Merkle membership proofs ā **gas-efficient**, **fully self-contained**, and **requires no external verifier contracts**.
---
## ⨠Features
- ā
**Zero imports** ā pure Solidity 0.8.20
- šļø **No constructor** ā initialized via `initialize()`
- š **Merkle-tree proof verification** for ZKP-style membership
- šļø **One NFT per verified address**
- š§āš¼ **Admin controls** for Merkle root updates & airdrops
- š¼ļø **Minimal ERC-721-compatible functions** (transfer, approve, tokenURI)
- šŖ¶ **Lightweight & gas-optimized**
---
## š§© Contract Summary
**Contract Name:** `ZKPMerkleNFT`
**Symbol:** `ZKPV`
**Language:** Solidity ^0.8.20
**Imports:** None
**Constructor:** None (uses `initialize()` function)Progress During Hackathon
50-75
Tech Stack
Solidity
Web3
Fundraising Status
0