Zstellar Main
Role
Developer
Technologies
Links
Overview
zStellar is a shielded payments dApp built on Soroban and an on-chain Groth16 verifier on Stellar. A user deposits a public Stellar asset into a shielded pool, transfers value privately to other users inside the pool, and withdraws back to a public address — all without revealing transfer amounts or the sender → receiver link on-chain.
Every zero-knowledge proof is generated client-side in WebAssembly (Groth16 over BN254 with a Poseidon2 hash), and private transfers and withdrawals are pushed through a server-side relayer so the note owner's address never appears on-chain.
One pool. Three flows. One rule: your balance and your counterparties stay private. > > - Shield moves a public asset into the pool. Your in-pool balance hides behind note commitments. > - Private Transfer pays another user inside the pool. The amount and the sender → receiver link stay hidden. > - Private Withdraw cashes out to any public Stellar address. The relayer submits, so your address never appears.
The Challenge
Stellar is fully transparent by design. Every payment, amount, and account balance is public and permanently indexed. For real-world payments — payroll, donations, vendor settlements — that transparency is a liability, not a feature. The existing options fall short: None of them offer a compliance-friendly anonymity set, where deposits can be gated by an approval list without de-anonymizing honest users.
System Architecture
The Solution
User flow — Connect → Shield → Receive / Pay privately → Withdraw to public Proof flow (browser) — Derive keys → Build circuit inputs → Prove (Groth16) → Prepare Soroban tx On-chain flow
Key Features
- 1Connect Freighter on Testnet and fund with the in-app faucet if needed
- 2Shield a public asset into the pool (you sign; tokens are pulled in and a note commitment is created)
- 3Withdraw any time to a public G... address; the relayer submits, so your address never appears
- 4Track every action through the proof stepper and the View-transaction explorer link
- 5Derive keys from a single Freighter signature (cached locally in OPFS)
- 6Build inputs from your unspent notes, the target amount, and the recipient
Siap untuk memulai
proyek berikutnya?