Zupass
- Name: Zupass
- URL: https://zupass.org/
- Category: proof wallet / credential-query middleware / proof-carrying-data container
- Summary: Zupass is proof-wallet middleware. The useful layer is the container and query rail between issuers and apps: hold proof-carrying data, answer standardized requests, and stop rebuilding credential handoff every time. Real middleware, not a grand identity stack.
- What it does:
- Lets users store, organize, and present Proof-Carrying Data such as signatures, Merkle proofs, zk proofs, commitments, and key material
- Provides a passport-style web app that can answer third-party proof requests and ingest newly issued proofs back into the wallet
- Exposes interface packages and SDK flows so apps can request proofs through popup or redirect patterns instead of building custom credential-handoff UX
- Supports many proof families, including ticketing, anonymous group membership, gated access, event attendance, wallet ownership, WebAuthn attestations, and imported offchain account data
- Uses package families such as
@pcd/semaphore-group-pcd,@pcd/webauthn-pcd, and@pcd/ethereum-ownership-pcd, which makes it an aggregation layer over multiple proof types rather than one issuer scheme - Includes server-side components for email confirmation, encrypted backups, participant management, and large-asset handling
- Key claims:
- The real primitive is PCD itself: a claim plus a proof behind a common interface. That is the layer worth keeping.
- Zupass matters because it standardizes the app-to-proof-wallet handshake. Portability lives partly in that request flow, not just in the underlying circuits.
- The package spread makes the role clear: this is a container and transport layer over several proof families, not a singular identity issuer.
- The server docs matter because the system is not pure local-wallet software. Backup, account operations, and hosted query handling create a real middleware dependency.
- Keep the note small and blunt. Zupass is useful because it removes repeated proof-wallet plumbing, not because it solves identity in the abstract.
- Whitepaper: No canonical standalone Zupass whitepaper or litepaper surfaced in this pass. The strongest primary materials were the official PCD SDK docs, Zupass repository README, interface-package README, and developer resources; see
../whitepapers/zupass-primary-sources-2026-05-10.md. - Sources:
- https://zupass.org/
- https://docs.pcd.team/index
- https://raw.githubusercontent.com/proofcarryingdata/zupass/main/README.md
- https://raw.githubusercontent.com/proofcarryingdata/zupass/main/packages/lib/passport-interface/README.md
- https://raw.githubusercontent.com/proofcarryingdata/zupass/main/packages/lib/pcd-types/README.md
- https://github.com/proofcarryingdata/zupass
- https://hackmd.io/@gubsheep/rk4hFy7Gn
Internal linkages
- Keep the cut simple: Zupass is the proof-wallet layer between credential issuance and app verification.
- Best upward reads: world-id, human-passport, and self-protocol.
Control surface
-
The leverage sits in hosted query handling, backup and recovery flow, package defaults, and which proof types the surrounding ecosystem standardizes on.
-
So treat Zupass as proof-wallet middleware with a real server and interface layer, not as pure local cryptography.
-
Last reviewed: 2026-06-15 UTC