Three Live ZKNative Flows
Beyond one use case, the verifier already supports a pattern library
ZKNative is not limited to private voting. Any consumer contract that needs membership proofs, nullifiers, and context-bound execution can reuse the same native Rust verifier path on Polkadot Hub.
Private Voting
Cast governance votes without revealing which eligible wallet participated. The chain only sees the proposal, the vote choice, and a one-time nullifier.
Proof System
Groth16 / BN254
Nullifier Scope
Per voter, per proposal
~10x cheaper Groth16 verification than Solidity-only execution.
Explore Use Case โStealth Airdrop Claims
Let eligible wallets redeem rewards without revealing which address qualified or which retention tier they belong to. The claim contract only learns the tier and campaign.
Proof System
Groth16 / BN254
Nullifier Scope
Per wallet, per campaign
One verifier powers retroactive rewards, loyalty drops, and claim portals.
Explore Use Case โAnonymous Access Passes
Mint event or program passes on-chain without leaking the member, contributor, or attendee address behind the proof. The contract learns only the pass type and program.
Proof System
Groth16 / BN254
Nullifier Scope
Per member, per program
Ideal for gated communities, summits, contributor houses, and private check-ins.
Explore Use Case โNeed Something New?
Open the ZKNative Studio
Build a brand new use case with template controls, live preview, and exportable TypeScript snippets for the route, config, and contract integration checklist.
Use Case Matrix
| Use Case | What stays private | Consumer contract | Nullifier scope |
|---|---|---|---|
Private Voting Private Governance | Eligibility is proven in zero knowledge, so the tally is public while the participating address stays private. | PrivateVoting.castVote(proposalId, proof, publicSignals) | Per voter, per proposal |
Stealth Airdrop Claims Private Distribution | The distributor verifies Merkle membership and a campaign-scoped nullifier, so each eligible claimant redeems once without linking the payout to their source wallet. | PrivateAirdrop.claim(campaignId, tier, proof, publicSignals) | Per wallet, per campaign |
Anonymous Access Passes Private Access Control | A program-scoped nullifier enforces one mint or check-in per member while preserving the privacy of the address that qualified. | PrivacyPassIssuer.mintPass(programId, accessLevel, proof, publicSignals) | Per member, per program |