Idea 09
Proof-of-Compliance Passport
Prove KYC, age, and jurisdiction without handing every protocol a passport.
- Category
- ZK × Identity × RWA
- Difficulty
- Advanced
- Theme
- Privacy + Compliance
- Soroban
- BN254
- Poseidon
Problem
Institutional DeFi needs to know that a user is KYC’d, accredited, and in an allowed jurisdiction. Sending a passport to every protocol exposes the identity those checks were meant to protect.
Idea
A KYC provider issues a credential. The user generates ZK proofs: age over 18, KYC passed, jurisdiction allowed. Soroban verifies the proof before an RWA purchase, a private-credit pool, or payroll.
Why now
Stellar’s privacy direction is configurable, compliance-ready privacy, and native ZK verification primitives are available now.
User story
A user proves they may buy a tokenized treasury. The pool contract checks the proof and opens the position. The passport never lands in the protocol’s storage.
Architecture
01
KYC provider issues a credential
02
User generates proofs: age > 18, KYC passed, jurisdiction allowed
03
Soroban verifies the proof
04
The gated action proceeds
MVP
- A credential issued by a known provider key.
- Three proofs: age, KYC, and an allowlisted jurisdiction.
- A verifier contract that accepts or rejects the proof.
- One gated action, such as an RWA purchase, that requires a valid proof.
- No raw identity fields in contract storage.
Soroban contracts
Credential
Commits to attributes signed by the KYC provider.
Verifier
Checks age, KYC, and jurisdiction proofs.
Gate
Refuses the protected call unless the verifier accepts.
Stellar features
- BN254 verification
- Poseidon commitments to credential attributes
- Compliance checks that do not store the underlying identity
Suggested integrations
- A KYC issuer
- An RWA purchase flow
- A compliant liquidity pool
Build sequence
01
Credential
Provider signs a commitment to age band, KYC flag, and jurisdiction.
02
Proofs
Three statements the user can prove without revealing the source fields.
03
Gate
A purchase or deposit that reverts when verification fails.
04
Demo
Pass with an allowed jurisdiction. Fail with a blocked one. Show that storage has no passport data.
Stretch goals
- Reuse one credential across RWA purchase, private credit, a compliant pool, and payroll.