Stellar Wave Program · Zero-Knowledge Privacy

Private DeFi, Public Chain.

Shield your assets with zero-knowledge proofs on the Stellar blockchain — without sacrificing regulatory compliance. Your balance stays invisible. Your auditability stays intact.

Groth16 · BN254Poseidon HashSoroban ContractsDepth-20 Merkle TreeOpen Source
~26K
ZK circuit constraints
withdraw proof
2²⁰
Merkle tree depth
1M+ note capacity
4
SDK packages
TypeScript-first
3
Soroban contracts
commitment · verifier · compliance

Core Features

Everything privacy needs. Nothing it doesn't.

Shielded Protocol combines ZK cryptography, regulatory tooling, and Stellar's speed into a single composable stack.

Privacy by Default

Every transaction is hidden behind a cryptographic commitment. Your balance, sender, and recipient are invisible to the public chain.

Zero-Knowledge Proofs

Client-side Groth16 proofs (BN254) generated in the browser. Your secrets never leave your device — only the proof goes on-chain.

Regulatory Compliance

Issue encrypted viewing keys to auditors for specific commitments. Meet KYC/AML requirements without exposing your full history.

Merkle Commitments

A depth-20 Poseidon Merkle tree stores over one million commitments on-chain. Inclusion proofs reveal nothing about your position.

Nullifier Protection

Deterministic nullifiers prevent double-spending with zero linkability. Each note is spendable exactly once.

Stellar Native Speed

Soroban smart contracts on Stellar deliver sub-5s finality at a fraction of the cost of Ethereum-based alternatives.

Viewing Key Grants

Grant auditors access to specific transaction details. Revocable, per-commitment key grants keep you in control.

Open Source SDK

Four TypeScript packages: @shielded/core, @shielded/react, @shielded/compliance. Build private DeFi on top of Shielded.

How it works

Three steps to financial privacy

The lifecycle of a shielded transaction, from deposit to withdrawal, all without revealing your identity.

1

STEP 01

Deposit

Send tokens to the Shielded pool. A Poseidon commitment hash is computed from your secret and amount, then inserted into the on-chain Merkle tree.

Commitment = Poseidon(secret, amount, tokenId)
2

STEP 02

Shield

Your private note is stored locally in your browser. No server ever sees your secret. Your shielded balance is invisible to block explorers.

Zero server-side storage · Client-side only
3

STEP 03

Withdraw

Generate a Groth16 proof off-chain that you know a valid note in the tree. Submit the proof on-chain — the verifier confirms it without learning which note.

Public signals: root · nullifier · recipient

Architecture

Four specialized layers

A monorepo of purpose-built packages — each independently auditable, each composable with your existing stack.

Next.js · React · Tailwind

Frontend

  • Wallet connection (Freighter)
  • Proof progress UI
  • Private portfolio viewer
  • Compliance dashboard

@shielded/core · react · compliance

TypeScript SDK

  • createNote() · serializeNote()
  • useDeposit() · useWithdraw()
  • ShieldedProvider context
  • Viewing key management

Circom 2 · Groth16 · BN254

ZK Circuits

  • withdraw.circom (~26K constraints)
  • deposit.circom (~200 constraints)
  • merkle_proof.circom (~24K)
  • nullifier_hash.circom (~100)

Rust · Soroban · Stellar

Smart Contracts

  • commitment-pool (deposits/withdrawals)
  • groth16-verifier (on-chain proofs)
  • compliance-registry (viewing keys)
  • proxy-blend (Blend integration)

Proving System: Groth16 on BN254

Constant-size proofs (3 points on BN254) and O(1) on-chain verification via Stellar's native BN254 host functions. Trusted setup via Hermez ceremony.

Read whitepaper
Stellar Wave Program · Community Open Source

Built in public.
Auditable by design.

Every circuit, contract, and SDK package is open source. Audit the cryptography, contribute to the protocol, or build the next private DeFi primitive on top of Shielded.

ZK Circuit Track

Circom circuits, constraint optimization, trusted setup

Contract Track

Rust / Soroban smart contract development

Frontend Track

Next.js UI, React hooks, wallet integrations