Private DepositยทCircuit 1 (KYC)

ZK-KYC Deposit

Deposit assets with a zero-knowledge KYC proof. Your identity is verified by the anchor but never written to the chain โ€” only a Poseidon2 commitment is stored.

1
2
3
4
5

Never transmitted โ€” used locally to sign the SEP-10 challenge

Poseidon2 hash of your KYC credential from your identity provider

Separate key for regulatory disclosure โ€” cannot spend funds

What happens under the hood

๐Ÿ”‘SEP-10Your key signs the anchor challenge โ€” proves Stellar account ownership
๐ŸชชSEP-12 PUTAnchor receives credential_commitment = Poseidon2(kyc_hash, secret)
โšกNoir ProofCircuit 1 proves commitment validity without revealing kyc_hash or secret
๐Ÿ“ฆSorobandeposit(proof, amount, asset, commitment) stores shielded note on-chain

Deposit Proof Flow

KYC Hash
Poseidon2(credential)
โ†’
Commitment
Poseidon2(hash, secret)
โ†’
Noir Circuit
UltraPlonk prove()
โ†’
ZK Proof
~3.2KB PLONK proof
โ†’
SEP-12 PUT
anchor.stellar.org
โ†’
Soroban TX
deposit(proof, amount)