StellarHub · Confidential Send — proof-verify building block
Confidential payment, verified on-chain
Prove a payment whose amount is hidden, then really verify that proof
on Stellar testnet — the demo funds a fresh key and calls the Soroban
verify_proof contract for real, and shows you the transaction.
Model C · private_transfersnarkjs + Sorobantestnet · dev trusted setup
This is not a money transfer.verify_proof only
checks the proof on-chain (returns true/false) — no funds move.
What it proves: the amount lived only inside the proof, and the chain
accepts it without ever seeing the value.
The amount is a private input. The proof's public signals are
only [commitment, nullifier]. Tamper one and the on-chain verify
returns false — try Tamper after.
This page is the FALLBACK building-block demo. The main demo —
a REAL hidden-amount transfer on the wallet's live pool —
runs the full flow: deposit → sealed-note ZK transfer → recipient-side recovery.
CLI twin: npx tsx e2e/confidential-transfer-e2e.ts.
Confidential payment
XLM
The amount, the recipient and fresh per-payment secrets never leave this page.
Only the proof + its public signals (commitment, nullifier — no amount) are sent to the contract.