Zero-Knowledge proofs. Solana speed.
zkHelios brings privacy-preserving verification to Solana. Prove what matters — balance, ownership, membership, age — and reveal only what you choose.
Built for a private,
verifiable future
Three pillars that make zkHelios the fastest path to confidential, settlement-grade applications.

Light-Speed Verification
On-chain proof verification settles in a single Solana slot — ~400ms blocks mean your proof is final almost as fast as you can generate it.

Solar Privacy
Groth16 SNARKs are verified directly on-chain via Solana's alt_bn128 syscalls. Public inputs stay public; everything else stays yours.

Composable
An Anchor IDL and a typed TypeScript SDK let any program or dApp verify zkHelios proofs via CPI. Privacy as a primitive, not a silo.
Commit · Prove · Verify on-chain
Three stages — client-side commit, off-chain proving, on-chain verification — confidential at every step, final on Solana.
Commit
Client-side: you select what to prove and commit to your private inputs. Secrets never leave your device.
Prove
Off-chain compute: snarkjs generates a Groth16 proof in your browser (or a worker) in seconds — no secrets revealed.
Verify on-chain
On-chain result: the zkHelios Anchor program verifies the proof in ~200k CU and writes an attestation to a PDA on Solana.
Groth16, verified at Solana speed
zkHelios pairs client-side Groth16 proving with on-chain verification through Solana's alt_bn128 syscalls — validity is public, everything else stays yours.
Groth16 SNARKs
Succinct ~256-byte proofs over the BN254 curve — the smallest, cheapest proofs to verify on Solana.
~200k CU verification
Verified on-chain via Solana's alt_bn128 syscalls in roughly 200k compute units — well under the per-tx cap.
Sub-second client proofs
snarkjs generates proofs in your browser (or a Web Worker) in seconds — no trusted server in the loop.
Composable via CPI
Any Anchor program can verify zkHelios proofs through cross-program invocation — privacy as a primitive.
One primitive, many private apps
Anywhere you need to prove a fact without exposing the data behind it — zkHelios is the verification layer.
Private token transfers
Move SOL or SPL tokens while keeping amounts and balances confidential.
Anonymous credentials
Prove you hold a credential or role without revealing your identity or wallet.
Sybil-resistant airdrops
Prove one-person-one-claim eligibility without doxxing the recipient set.
Private DAO voting
Prove membership and cast a vote without exposing how you voted or what you hold.
KYC without doxxing
Prove age, jurisdiction, or accreditation while keeping documents fully private.
A constellation of private apps
From DEXes to confidential AI — builders are launching on zkHelios across every vertical.
Built to reward provers
1B ZKH total supply, weighted toward the people who do the work — the prover network.
- Prover Rewards70%
Emissions to the decentralized prover network.
- Foundation20%
Core development, audits, and grants.
- Liquidity10%
DEX liquidity and market depth.

From Genesis to Eclipse
A four-phase journey to a fully decentralized, privacy-first settlement layer.
Genesis
Devnet launch
- Verifier program live
- 5 standard circuits
- TypeScript SDK alpha
Dawn
Security & audit
- External audit
- Bug bounty (Immunefi)
- Devnet soak
Zenith
Mainnet beta
- Mainnet-beta deploy
- Squads multisig authority
- Prover marketplace
Eclipse
SDK v2 + CPI
- Composable CPI verifier
- Custom circuit registry
- Rust SDK
Ship private apps in minutes
A typed TypeScript SDK over the Anchor IDL, a circuit library, and Wallet Adapter integration — the cryptography is handled for you. Install, prove, verify.
1import { ZkHelios } from "@zkhelios/sdk";2 3const zk = new ZkHelios({ cluster: "mainnet-beta", wallet });4 5// Prove you hold ≥ 100 SOL — without revealing the balance6const proof = await zk.proveBalance({ min: 100 });7 8// Verify on-chain via the Anchor program (~200k CU)9const { signature, proofAccount } = await zk.submitProof(proof);10 11console.log("verified ✓", signature);
