Self Pass (Legacy)
On this page
Privacy-preserving identity verification using zero-knowledge proofs.
Overview
Self Pass enables developers to verify real-world identity attributes without exposing personal data. Users scan their passport, national ID, Aadhaar card, or KYC attestation with the Self app, which generates a zero-knowledge proof on-device. Applications can then verify specific attributes (age, nationality, sanctions status) without ever seeing the underlying document.
Which documents are supported, and what each can attest to, is documented once under Self Enterprise: see Supported documents and Supported countries. For the attestation IDs you pass to the verifier, see AttestationId.
Integration Options
| Path | Description | Guide |
|---|---|---|
| Frontend SDK | Display QR codes to request proofs from users | QRCode SDK |
| Backend SDK | Verify proofs server-side on a Node.js backend | Backend Integration |
| Smart Contracts | Verify proofs on-chain in a trustless manner | Contract Integration |
| Mobile SDK | Embed Self verification directly in a React Native app | Mobile SDK |
Start with Key Concepts to pick a verification path and environment.
Resources
- Boilerplate repo — a working end-to-end integration to fork
- Soul Bound Token — mint SBTs for verified users
- Cross Chain (LayerZero) — cross-chain verification
- Cross Chain (Hyperlane) — cross-chain verification
- Workshop Video (ETHGlobal Buenos Aires)
- Celo Testnet Faucet
Thanks — what went wrong?
Thanks for your feedback!