OpenViSTAI · Agents · Blockchain · Crypto
Menu
ZK & Privacy

Zkdrops

Zkdrops is an open-source JavaScript Ethereum prototype for private token airdrops. It combines commitment hashes, administrator-created Merkle trees, zero-knowledge membership proofs, distribution smart contracts and an example web client so eligible users can redeem tokens without revealing which commitment is associated with their public key.

Independent OpenViST project profile, based on linked sources.

Zkdrops — OpenViST project profile in ZK & Privacy.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Zkdrops when the distribution needs claim eligibility to be verified without publicly linking a claimant’s identity or public key to a particular Merkle-tree commitment. Its repository structure also suits local experimentation with proof generation, contracts and an example client.

Who it is for

  • Ethereum protocol teams designing private token distributions
  • Developers building community rewards or eligibility-claim systems
  • Researchers and engineers studying zero-knowledge Merkle-membership flows

Documented uses

  • Create commitments that can be published without exposing a claimant’s public key
  • Assemble commitments into an administrator-managed Merkle tree
  • Generate and verify zero-knowledge proofs of tree membership
  • Redeem an airdrop allocation through Ethereum smart contracts
  • Prototype a privacy-preserving token allocation interface
Before you choose

Requirements & limits

The project is a public GitHub repository, is open source under AGPL-3.0, and documents a self-hosted local demo. The primary development stack is JavaScript with Ethereum contracts; the setup instructions use Yarn and require Circom 2.0 plus snarkjs for circuit generation.

  • The claim design requires approximately 350,000 gas for on-chain verification.
  • The included contract allows the owner to update the Merkle root; making the root immutable requires removing updateRoot and modifying the contract.
  • The repository includes a self-contained claim-proof library and example front end, providing components for a customized interface.
  • The project is presented as an unaudited prototype, so contract and interface review is a material implementation consideration.
  • The documented setup targets a local environment with localhost:3000 and localhost:8545.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Run the documented local client demo

Set up the repository and start its local backend, deployment flow and example client.

Before you start

  • A local development environment with Yarn.
  • Circom 2.0 and snarkjs for generating circuits.
  • A wallet configured for the local environment.

Steps

  1. Clone the a16z/zkdrops repository and run yarn install.

  2. Run yarn compile.

  3. Start the backend with yarn start-backend.

  4. In a new terminal, run yarn deploy, then run yarn start-client.

  5. Open localhost:3000 and point the wallet at localhost:8545.

Expected outcome

The documented example client is started against the local environment.

Guide limitations

  • The repository describes the contracts and user interface as unaudited and provides no guarantee of safety or correctness.
  • On-chain proof verification requires approximately 350,000 gas.
  • The setup instructions document a local demo and do not establish production deployment suitability.
COMPARE OPTIONS

Compare options for Zero-knowledge verification

These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.

ProjectDocumented purposePlatformAccess and requirements
ZkdropsCreate commitments that can be published without exposing a claimant’s public keyCLI, Self-hosted, Server, WebThe project is a public GitHub repository, is open source under AGPL-3.0, and documents a self-hosted local demo. The primary development stack is JavaScript with Ethereum contracts; the setup instructions use Yarn and require Circom 2.0 plus snarkjs for circuit generation.
ProvenZKRepresent circuit gates and vectors in LeanCLI, Linux, macOS, WindowsThe repository is publicly accessible, open source and licensed under Apache-2.0. It is presented as a Lean 4 library for projects using the lake tool.
PicusDetect under-constrained signals in a zero-knowledge circuitCLIThe repository is public and released under the MIT license. Installation and local builds are documented through Cargo, with Docker also provided as a build and run path. The default native solver does not require an external solver.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
3 October 2026
Original website title
a16z/zkdrops · Official homepage title · retained in its source language