wwWallet is a modular reference implementation for verifiable credentials, providing an end-to-end stack: a browser-based web wallet (with WebAuthn support), an OpenID4VCI credential issuer, an OpenID4VP verifier, an OIDC authorization server, and a shared TypeScript library of protocol helpers and utilities for integration and testing.
wallet-frontend— Wallet frontend (wallet-frontend/README.md)wallet-backend-server— Wallet backend and DB (wallet-backend-server/README.md)wallet-issuer— Issuer (wallet-issuer/README.md)wallet-verifier— Verifier (wallet-verifier/README.md)wallet-as— Authorization Server (wallet-as/README.md)lib/wallet-common— Shared library (wallet-common/README.md)
- Node.js (recommended 22 or later)
- Yarn (recommended: 1.x)
- Docker & Docker Compose
- Update submodules:
git submodule update --init --recursive --remote
- Install deps:
yarn install
- Setup dev environment (copies env templates & keys):
yarn setup
- Start all services:
yarn start
- Initialize DB:
- Uploads IACA certificat generated from step 3. to the database of the wallet
- Registers issuer and verifier in the database of the wallet
yarn init-db
- Install pre-commit hooks (optional but recommended):
- Installs pre-commit hooks that enforce
.editorconfigrules and apply minimal auto-fixes (e.g. adding missing newlines) across all submodules that include an.editorconfigfile.
yarn install:precommit-hooks
- Installs pre-commit hooks that enforce
yarn build:prod -v latest -c ghcr.io/gunet -i vct-registry -i wallet-frontend -i wallet-backend-server -i wallet-issuer -i wallet-verifier -i wallet-asWant to contribute? Check out our Contribution Guidelines for more details!