zkzkHeliosDocs

What is zkHelios

zkHelios brings privacy-preserving verification to Solana. Prove what matters — balance, ownership, membership, age — and reveal only what you choose.

zkHelios is a zero-knowledge proof protocol on Solana. You generate a Groth16 proof client-side, then submit it to an on-chain Anchor program that verifies it in roughly 200k compute units using Solana's alt_bn128 syscalls. The proof attests to a statement ("I hold at least 100 SOL") without revealing the underlying data.

Why ZK proofs on Solana

  • Light-speed verification — on-chain verification settles in a single ~400ms slot.
  • Privacy by default — public inputs stay public; everything else never leaves your device.
  • Composable — any Anchor program can verify a zkHelios proof via CPI.

Core concepts

  • Proof — a ~256-byte Groth16 proof over the BN254 curve.
  • Circuit — defines what is proven (balance, ownership, age, membership, custom).
  • Verifier program — the Anchor program that checks proofs and records attestations as PDAs.

Hello, proof

ts
import { ZkHelios } from "@zkhelios/sdk";

const zk = new ZkHelios({ cluster: "mainnet-beta", wallet });

// Prove you hold >= 100 SOL without revealing the balance
const proof = await zk.proveBalance({ min: 100 });
const { signature } = await zk.submitProof(proof);
New here? Jump to the Quickstart to generate and verify your first proof in five minutes.

Use cases

  • Private token transfers and balance attestations
  • Anonymous credential verification
  • Sybil-resistant airdrops
  • Private DAO voting
  • KYC without doxxing