ZKNativePVM ร— ZK

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 Governance

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 โ†’
๐ŸŽPrivate Distribution

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 โ†’
๐ŸŽŸ๏ธPrivate Access Control

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.

Launch Studio โ†’

Use Case Matrix

Use CaseWhat stays privateConsumer contractNullifier 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

Shared ZKNative Pattern

Frontend generates Groth16 proof in browser
โ†“ contract.execute(contextId, proof, publicSignals)
Consumer contract enforces root, nullifier, and business logic
โ†“ verifyProof(proof, publicSignals)
ZKNativeVerifier dispatches to PolkaVM native verifier
โ†“ arkworks Groth16 verification in Rust
One verifier, many privacy-preserving contracts