What Are Passkeys?
Passkeys replace PINs with biometric authentication (Face ID, Touch ID, Windows Hello). Instead of asking users to create and remember a PIN to encrypt their wallet, passkeys generate a secure encryption key gated behind biometric auth. No passwords to remember, no PINs to leak.How It Works
Platform Support
| Platform | Technology | Package |
|---|---|---|
| Web (Next.js, React) | WebAuthn API | @chipi-stack/chipi-passkey |
| Mobile (Expo) | expo-local-authentication + expo-secure-store | @chipi-stack/chipi-expo |
Browser Compatibility
- Chrome 67+ (Desktop & Android)
- Safari 14+ (iOS 14+, macOS)
- Firefox 60+ (Desktop)
- Edge 18+ (Desktop)
Installation
Hooks Reference
| Hook | Purpose |
|---|---|
usePasskeySetup | Create a new passkey (triggers biometric prompt, returns encryption key) |
usePasskeyAuth | Authenticate with existing passkey (returns encryption key) |
usePasskeyStatus | Check WebAuthn/biometric support and stored passkey validity |
useMigrateWalletToPasskey | Migrate from PIN-based wallet to passkey |
Create a Wallet with Passkey
Transfer with Passkey
Migrate from PIN to Passkey
For users who already have a PIN-based wallet:Check Passkey Support
Expo (Mobile) Passkeys
On mobile, passkeys use the device’s biometric hardware (Face ID, Touch ID) viaexpo-local-authentication and store the encryption key in expo-secure-store.
Device Requirements
- iOS: Face ID or Touch ID capable device, iOS 14+
- Android: Device with fingerprint sensor or face unlock, API 23+
Security Benefits
- No PINs stored - Encryption key derived on-demand from biometric
- Hardware-backed - Keys stored in Secure Enclave (iOS) or Android Keystore
- Phishing resistant - WebAuthn credentials are domain-bound
- Synced across devices - Via iCloud Keychain or Google Password Manager (web only)
Related
- Session Keys Guide - Combine passkeys with session keys for the best UX
- Error Handling Guide - Handle passkey and wallet errors
- useCreateWallet - Wallet creation options
- useMigrateWalletToPasskey - Hook API reference
