Developed and maintained by FIDES Labs BV
A comprehensive, community-driven catalog of 70+ digital identity wallets from around the world, including national EUDI Wallets and commercial solutions.
The FIDES Wallet Catalog is a standardized, searchable database of digital identity wallets. Providers can contribute and update listings in two ways:
- WordPress forms on fides.community (recommended) β submit and update forms with moderation, then automatic sync to GitHub
- GitHub Pull Requests β edit
community-catalogs/*/wallet-catalog.jsondirectly (schema v2)
Shared properties:
- Standardized format β unified JSON schema (v2)
- Community-maintained β providers own their data
- Automatic aggregation β crawler builds
data/aggregated.json - Always up-to-date β daily crawl plus WP publish sync
- Open source β Apache-2.0 license
The catalog is available as:
- Website - Interactive catalog at fides.community
- WordPress plugin - Embed the catalog on your own site
- API - JSON data at
data/aggregated.json, optional HTTP API on Vercel
wallet-catalog/
βββ CONCEPT.md # Conceptual design
βββ lib/
β βββ walletPublicApi.ts # Shared list/filter (Express + Vercel; outside api/ β see file comment)
β βββ httpWalletTypes.ts # Types for the HTTP API helpers
βββ api/
β βββ public/ # Vercel serverless routes only (each *.ts is an endpoint)
β βββ wallet/ # index + [orgId]/[walletId] (logic inlined for Vercel)
β βββ api-docs.ts
βββ public/ # Static landing + Swagger UI for the API
βββ vercel.json
βββ schemas/
β βββ wallet-catalog.schema.json # JSON Schema for wallet descriptors
βββ community-catalogs/ # All wallet catalogs (add yours here!)
β βββ animo/
β β βββ did.json # Example DID document (optional)
β β βββ wallet-catalog.json # Wallet catalog descriptor
β βββ sphereon/
β βββ google/
β βββ apple/
β βββ france/ # Country folders for government wallets
β βββ germany/
β βββ italy/
β βββ ... # 70+ wallet providers
βββ src/
β βββ types/wallet.ts # TypeScript types
β βββ crawler/index.ts # Crawler service
β βββ server/index.ts # API server
β βββ App.tsx # Frontend application
β βββ ...
βββ wordpress-plugin/ # WordPress plugin
β βββ fides-wallet-catalog/
βββ data/
β βββ aggregated.json # Aggregated wallet data (used by UI/API)
β βββ wallet-history-state.json # Stable first-seen state across crawler runs
β βββ did-registry.json # Registered DIDs for automatic crawling
βββ docs/ # Documentation
βββ API.md # Public HTTP API (Vercel)
βββ DID_REGISTRATION.md # How to register your DID
βββ GITHUB_REPO_STRUCTURE.md # Repository structure
βββ DESIGN_DECISIONS.md # Architecture and design choices
βββ LESSONS_LEARNED.md # Lessons from update visibility & filter counters
npm installThis crawls the wallet catalogs and generates data/aggregated.json:
npm run crawlTo initialize historical firstSeenAt values from git history:
npm run backfill:first-seenAfter backfill, run the crawler again:
npm run crawlnpm run devOpen http://localhost:5173 in your browser.
npm run serveThe API runs on http://localhost:3001 β same data and filters as GET /api/public/wallet on Vercel (see docs/API.md).
Wallet data lives in community-catalogs/ and is aggregated into data/aggregated.json. Sources include:
- WordPress submissions β published entries from
[fides_wallet_submit_form]/[fides_wallet_update_form]on fides.community (synced via GitHub Actions) - Community Pull Requests β direct JSON contributions to this repo
- National & commercial wallets β 70+ providers (EUDI member states, government apps, vendors, tech giants)
Organization metadata (provider name, logo, country, etc.) is merged from the FIDES Organization Catalog at crawl time using orgId.
Advanced: host a catalog on your domain and register a DID for automatic crawling. See docs/DID_REGISTRATION.md.
- Ensure your organization exists in the organization catalog (
orgIde.g.org:your-org). - Sign in on fides.community and open the submit or update wallet form page.
- Complete the form and submit. A maintainer reviews under Tools β Catalog Submissions.
- After Publish, data syncs to this repo and the public catalog updates.
Shortcodes (site operators): [fides_wallet_submit_form], [fides_wallet_update_form]. Requires fides-community-tools-tiles with catalog submissions enabled.
Governance: fides-community-tools-tiles/docs/CATALOG-SUBMISSION-GOVERNANCE.md β Β§14 (CI), Β§15 (deploy).
Pro listings: organizations with a linked WordPress account can publish richer fields (media, recognitions, pricing, store links, etc.) on export. See schemas/README.md.
- Fork this repository
- Create a folder in
community-catalogs/(lowercase, hyphenated slug) - Add
wallet-catalog.jsonwith"$schema": "https://fides.community/schemas/wallet-catalog/v2" - Open a Pull Request
Full contributor guide: docs/GITHUB_REPO_STRUCTURE.md.
Organization details (name, DID, website, logo, country) live in the FIDES Organization Catalog. Your wallet-catalog.json only references that record via orgId (for example org:your-org β the same id as in the organization catalog).
{
"$schema": "https://fides.community/schemas/wallet-catalog/v2",
"orgId": "org:your-org",
"wallets": [
{
"id": "my-wallet",
"name": "My Wallet",
"type": "personal",
"platforms": ["iOS", "Android"],
"vcFormat": ["sd_jwt_vc", "mdoc"],
"appStoreLinks": {
"iOS": "https://apps.apple.com/app/...",
"android": "https://play.google.com/store/apps/..."
}
}
]
}Schema reference (v2 fields, limits, tier export): schemas/README.md.
PRs and community JSON are validated in CI. Locally:
npm run validateEach wallet in data/aggregated.json now includes:
orgId- organization catalog id (org:β¦);provideron each wallet is merged from the organization catalog at crawl timeupdatedAt- semantic update timestamp used for "Last updated" sortingfirstSeenAt- stable first time this wallet was seen in the FIDES catalogfetchedAt- technical crawl timestamp (still present for backwards compatibility)
updatedAt fallback order:
- wallet-level
updatedAt/updatedfrom provider data - catalog-level
lastUpdated - git last commit date of the provider's
wallet-catalog.json fetchedAt(last resort)
firstSeenAt is persisted in data/wallet-history-state.json, so it does not reset on each crawl.
The aggregated catalog is available at:
https://raw.githubusercontent.com/FIDEScommunity/fides-wallet-catalog/main/data/aggregated.json
Updated daily via GitHub Actions.
For development, you can run a local API server:
npm run serve| Endpoint | Description |
|---|---|
GET /api/wallets |
Paginated list (content, totalElements, page/number, size) + filters |
GET /api/wallets/:orgId/:walletId |
One wallet (orgId URL-encoded, e.g. org%3Aanimo) |
Example with filters:
GET /api/wallets?search=paradym&type=personal&platforms=iOS,Android&vcFormat=sd_jwt_vc&page=0&size=20
Deploy this repository to Vercel (root = repo root; settings from vercel.json) to expose GET /api/public/wallet, wallet detail, and OpenAPI β see docs/API.md. For a single hostname with other FIDES catalogs, use the FIDES API Gateway and set FIDES_WALLET_CATALOG_ORIGIN to this projectβs *.vercel.app URL.
The schema supports extensive metadata. Highlights:
- General: name, description, logo, website, documentation, repository
- Commercial (Pro export):
media(videos/images),recognitions,pricing,features,appStoreLinks - Deployment:
deploymentModel(saas,on_premises,hybrid),slaAvailable,licenseenum +licenseOther - Type:
personalororganizational - Platforms: iOS, Android, Web, Windows, macOS, Linux, CLI
- VC formats (
vcFormat):sd_jwt_vc,mdoc,apple_wallet_pass, etc. - Protocols: OpenID4VCI, OpenID4VP, SIOPv2, ISO 18013-5, β¦
- Technical: identifiers, key storage, signing algorithms, credential status, interoperability profiles
- Status: development, beta, production, deprecated
Removed in v2: top-level video, string-array certifications β use media.videos and recognitions.certifications.
Full reference: schemas/README.md and schemas/wallet-catalog.schema.json.
A WordPress plugin is included in wordpress-plugin/fides-wallet-catalog/.
- Copy the plugin folder to
wp-content/plugins/ - Activate the plugin in WordPress Admin
- (Optional) Configure a custom data source in Settings > FIDES Wallet Catalog
- Use the shortcode on any page:
[fides_wallet_catalog]
| Option | Values | Description |
|---|---|---|
type |
personal, organizational, both | Filter by wallet type |
show_filters |
true, false | Show/hide filters (default: true) |
show_search |
true, false | Show/hide search bar (default: true) |
columns |
1, 2, 3, 4 | Number of columns (default: 3) |
theme |
dark, light | Color theme (default: dark) |
Each filter option shows a count of how many wallets match (e.g. "Personal (52)", "SD-JWT-VC (48)") so you can see the dataset distribution at a glance. Counts are computed over the visible set (e.g. when using type="personal", only personal wallets are counted).
The plugin fetches data from GitHub (data/aggregated.json) and supports on-site contributions when fides-community-tools-tiles is installed.
| Shortcode | Purpose |
|---|---|
[fides_wallet_submit_form] |
Add a new wallet (moderated) |
[fides_wallet_update_form] |
Suggest changes (?wallet= pre-selects from modal pencil) |
Configure the update form URL under Settings β FIDES Wallet Catalog. Moderation: Tools β Catalog Submissions in tiles. Published rows sync to GitHub via .github/workflows/wp-submissions-sync.yml.
Docs: CATALOG-SUBMISSION-GOVERNANCE.md (Β§14β16).
The WordPress plugin tries GitHub first and falls back to:
wordpress-plugin/fides-wallet-catalog/data/aggregated.json
For local testing with the latest generated data, copy:
data/aggregated.json -> wordpress-plugin/fides-wallet-catalog/data/aggregated.json
This project is licensed under the Apache License 2.0.
Copyright 2026 FIDES Labs BV
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Developed and maintained by FIDES Labs BV
- Website: https://fides.community
- GitHub: https://github.com/FIDEScommunity
- Catalog contributions: WordPress forms on fides.community (recommended) or a Pull Request in this repo
- Questions: catalog@fides.community or open an issue in this repository
Β© 2026 FIDES Labs BV - All rights reserved