Hide the salaries, not the compliance.
A ZK-gated payroll engine: prove every employee is KYC-verified and the total is correct โ without revealing a salary or address on-chain.
verify_and_release(proof, signals)
โ valid โ disburse USDC โ
โ tampered โ false โ
Stellar Hacks: Real-World ZK ยท DoraHacks
Salary exposure
Map the treasury wallet, read every salary. Competitors poach your senior engineers with a number in hand.
Auditability gap
Prove KYC & correctness to tax authorities and VCs โ but today you choose total exposure or opaque off-chain flows. No middle.
The CFO compiles a real Noir + UltraHonk proof: every employee in the KYC set, total payroll correct โ without revealing addresses or salaries.
๐ Masked
salaries & addresses hidden
โ KYC-gated
Poseidon2 Merkle membership
๐งพ Disclosable
Secp256k1 auditor view key
๐ธ Atomic
verify_and_release escrow
$ npm run prove:demo
1. CFO imports payroll CSV โ names mapped, salts applied
2. real Noir UltraHonk proof (14,592 bytes)
signals: [total_payroll, treasury_balance, kyc_root]
3. submit verify_proof / verify_and_release on Soroban
on-chain verify_proof => true โ
tampered => false โ
4. auditor Secp256k1 view key โ decrypt โ audit salaries
A real on-chain UltraHonk proof. Web app = UX sandbox that simulates proving; real crypto = prove:demo + deployed contract. In-browser prover is a roadmap item.
ZK Circuit
Noir 1.0.0-beta.9 + Poseidon2 ยท KYC Merkle membership + payroll-sum correctness ยท nargo test passes
Proof system
Barretenberg UltraHonk 0.87.0 (keccak oracle) ยท 14,592-byte proof ยท verifies off-chain + on-chain
Verifier
Rust/Soroban + rs-soroban-ultrahonk ยท Protocol 26 BN254 MSM + scalar-field host fns fit the check in budget
Settlement
Soroban SAC token ยท verify_and_release disburses USDC only on a valid proof
A pure-WASM verifier wouldn't fit the transaction budget โ Zebra leans on Protocol 26 BN254 host functions. Poseidon2 lines up with Stellar's native hash family.
Fastest-growing
stablecoin payroll rail for remote-first & global-contractor companies.
Universal pain
every company paying from a public treasury leaks its comp table.
TAM
= everyone who pays salaries on-chain: startups, DAOs, contractor platforms.
Per-payroll-run SaaS โ a fee per confidential payroll batch processed.
Compliance tier โ auditor portal + selective-disclosure key management for regulated employers.
Treasury integrations โ connectors for DAO tooling, contractor platforms, accounting suites.
Cost moat โ native BN254 host fns make on-chain UltraHonk verification economical.
| Public payroll | Off-chain payroll | Zebra | |
|---|---|---|---|
| Salaries private | โ | โ | โ |
| On-chain settlement | โ | โ | โ |
| KYC-provable | โ ๏ธ | โ ๏ธ trust us | โ ZK Merkle |
| Auditable | too much | โ opaque | โ view key |
| Cost | gas | bank fees | sub-cent |
Only Zebra is confidential and provably compliant at the same time.
โ Verifies on testnet
Real Noir UltraHonk proof accepted on-chain โ npm run prove:demo.
โ Negative control
Tampered inputs return false on-chain.
โ Real toolchain
Noir 1.0.0-beta.9 + bb 0.87.0; rebuilt the circuit that was the source of earlier mock proofs.
โ Full flow tested
cargo test (escrow/auditor + duplicate-nullifier), 107-test harness, Playwright E2E.
30 DAYS
In-browser bb.js proving; stellar.expert verified; live confidential payroll demo.
60 DAYS
Sindri decentralized prover for larger batches; scheduled/recurring payroll.
90 DAYS
Multi-currency payroll, accounting/DAO connectors, first design-partner company.
Edy Cu
full-stack + applied-ZK engineer
Solo-built the Noir/UltraHonk payroll circuit (Poseidon2 KYC membership + sum correctness), the Rust/Soroban verifier + escrow embedding rs-soroban-ultrahonk, the ECIES auditor view-key flow, and the Next.js CFO/Auditor portals. One of five real on-chain ZK products shipped for this hackathon.
Zebra is the confidentiality layer that makes on-chain payroll adoptable โ private to competitors, transparent to auditors, settled on Stellar.