Zero-knowledge passport verification with WebRTC. Desktop-mobile P2P communication for privacy-preserving identity proofs on blockchain.
| Package | Description |
|---|---|
| @grndd-systems/ts-firebase-rtc | WebRTC library with pluggable signaling (Firebase included) |
| @grndd-systems/zk-passport-client | High-level client for zk-passport verification |
| zk-passport-android | Android WebRTC library (Kotlin) |
Desktop (Web) Mobile (Android)
───────────── ────────────────
1. Create proof session
2. Generate QR code ───────────────> 3. Scan QR code
4. WebRTC handshake <──────────────> 5. WebRTC handshake
6. P2P connection established
7. Generate ZK proof
8. Receive proof <─────────────────── 9. Send proof via WebRTC
10. Build & submit transaction
pnpm install
pnpm build# WebRTC only
pnpm add @grndd-systems/ts-firebase-rtc
# Full client with contract integration
pnpm add @grndd-systems/zk-passport-client @grndd-systems/ts-firebase-rtc ethers# Build all packages
pnpm build
# Watch mode
pnpm dev
# Type check
pnpm typecheck
# Run tests
pnpm testzk-passport-rtc/
├── packages/
│ ├── ts-firebase-rtc/ # Core WebRTC + Firebase signaling
│ └── zk-passport-client/ # ZK passport client library
├── apps/
│ └── zk-passport-android/ # Android WebRTC library
├── package.json
└── pnpm-workspace.yaml
MIT