Stellar Hacks: Real-World ZK
Real-World ZK on Stellar
This hackathon is wide open: build anything you want with zero-knowledge on Stellar. Privacy pools, private payments, confidential tokens, identity and compliance proofs, provable computation, verifiable data — if it uses ZK and runs on Stellar, it counts. You can go anywhere on the spectrum from mild (a clean proof-of-concept verifier) to wild (a full shielded payment app).
Stellar is best known for moving real money in the real world — stablecoins, cross-border payments, tokenized real-world assets, and institutional settlement. So projects that bring ZK to those kinds of real-world use cases are a natural fit and especially welcome. But that's a suggestion, not a requirement. A clever ZK demo, a niche privacy tool, or an experiment that just makes you curious is equally valid as long as ZK is doing real work in it (not just namechecked in the README).
We're running this now because Stellar has spent the last few protocol releases building out the cryptographic foundation that modern ZK systems need. Protocol 25 ("X-Ray") introduced native host functions for ZK-friendly primitives — BN254 elliptic-curve operations and Poseidon/Poseidon2 hashing — and Protocol 26 ("Yardstick") built on that with nine additional BN254 host functions (multi-scalar multiplication, scalar-field arithmetic, and curve-membership checks), moving heavy ZK math into the host layer and making proof verification — including NoirLang proofs — meaningfully cheaper to run on-chain. Combined with BLS12-381 from earlier protocols, Stellar now has the on-chain building blocks to verify zk-SNARK proofs efficiently and affordably.
A note worth setting expectations on: these primitives are building blocks. They don't, by themselves, give you end-to-end private payments out of the box — you generate proofs off-chain with a higher-level system (Noir, Circom, a RISC Zero zkVM program, etc.) and deploy a verifier contract on Stellar to check them. That gap between "powerful primitives" and "finished product" is exactly where the interesting hackathon projects live. The Resources tab has everything you need to close it.
Hackathon Primer
You need to include some form of zero-knowledge technology and have that integrated in Stellar i.e. verifying the proofs within a Stellar smart contract. There are three proven options for this currently on Stellar: RISC Zero is for executing code on a remote virtual machine and then proving it executed correctly. Noir is a beautiful Rust based language for creating zero-knowledge circuits. Circom offers lower level constraint based circuits which are harder to understand but cheaper to verify.
Submission Requirements
We're keeping requirements deliberately light. To be eligible, your submission needs: 1. An open-source repo. A public GitHub, GitLab, or Bitbucket repository with your full source code and a clear README.md explaining what you built. The more detail, the better — and if something's unfinished or you used mock data in places, just say so in the README. We'd rather see an honest work-in-progress than a polished mystery. 2. A short demo video. A 2–3 minute walkthrough showing what you built. It doesn't need to be heavily technical or produced — just clearly show the project working and explain what ZK is doing in it. You do not have to be in the video. 3. ZK + Stellar. Your project should use zero-knowledge cryptography in a meaningful way, and it should touch Stellar — for example, verifying proofs in a contract, or otherwise integrating Stellar testnet or mainnet. The ZK should be load-bearing: it powers a real part of how the project works, rather than appearing only on a slide.