Documentation Index
Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
Use this file to discover all available pages before exploring further.
Use a passkey signer to let users access their wallets and authorize transactions using biometric authentication — Face ID, Touch ID, fingerprint, or Windows Hello — or their password manager’s unlock mechanism. Passkeys are built on the WebAuthn standard and are synchronized across devices by providers such as Apple Keychain, Google Password Manager, 1Password, and Dashlane.
Every transaction signed with a passkey requires the user to authenticate, making this one of the most secure operational signer options.
For a conceptual overview, see Passkey in the Wallet Signers guide. To learn how to register additional operational signers on an existing wallet, see Registering a signer.
Configuration
import { useWallet } from '@crossmint/client-sdk-react-ui';
const { getOrCreateWallet } = useWallet();
const wallet = await getOrCreateWallet({
chain: "base",
signer: {
type: "passkey",
},
});
When using a passkey as the recovery signer (admin signer) via REST, you must provide the credential details from your passkey registration flow (WebAuthn). The id is the credential identifier, name is a human-readable label for the passkey, and publicKey.x / publicKey.y are the public key coordinates from the registration response. In the browser, you can implement this registration flow using a WebAuthn helper library such as @simplewebauthn/browser.curl --request POST \
--url https://staging.crossmint.com/api/2025-06-09/wallets \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <x-api-key>' \
--data '{
"chainType": "evm",
"config": {
"adminSigner": {
"type": "passkey",
"id": "cWtP7gmZbd98HbKUuGXx5Q",
"name": "hgranger",
"publicKey": {
"x": "38035223810536273945556366218149112558607829411547667975304293530457502824247",
"y": "91117823763706733837104303008228095481082989039135234750508288790583476078729"
}
}
}
}'