Wallets
@attestto/id-wallet-adapter v0.4.1
Universal discovery layer for credential wallet browser extensions. Instead of hard-coding support for each wallet, your application announces what it needs and wallets respond if they can fulfill the request.
The NASCAR Problem
Every relying party shouldn't need a grid of wallet logos. The adapter uses a CustomEvent-based discovery protocol — no server required. Wallets announce themselves; your app picks the best match.
Key Features
- Zero runtime dependencies — ships as a single ESM module
- CustomEvent discovery — wallets announce via
wallet-announceevents, no polling - 4 wire protocols — CHAPI, OID4VP, DIDComm v2, WACI-DIDComm
- Built-in picker modal — or bring your own UI
- QR fallback — reaches mobile wallets when no extension is installed
Quick Install
bash
npm install @attestto/id-wallet-adapter
TypeScript
import { pickWallet } from '@attestto/id-wallet-adapter' const wallet = await pickWallet({ requiredProtocols: ['oid4vp'], requiredGoals: ['authentication'], })
Explore
Wallet Picker
The pickWallet() API — headless, built-in modal, or custom renderer.
Presentation Verification
6-step trust chain verification with verifyPresentation().
Document Signing
Request cryptographic signatures from wallets with requestSignature().
Credential Offers
Open Credential Handoff (O4CH) protocol for sharing credentials via URL.