Skip to main content
This page has been updated for Wallets SDK V1. If you are using the previous version, see the previous version of this page or the V1 migration guide.
Use a passkey signer to let users sign transactions with biometric authentication — Face ID, Touch ID, fingerprint, or Windows Hello. Passkeys are built on the WebAuthn standard and are synchronized across devices via providers like Apple Keychain, Google Password Manager, and 1Password.
Passkey signers are EVM only. They are not supported on Solana or Stellar.

Configuration

Configure the wallet to use a passkey as the operational signer at creation time. The SDK handles WebAuthn registration during the first wallet creation.
Using createOnLogin on the provider:
import {
    CrossmintProvider,
    CrossmintAuthProvider,
    CrossmintWalletProvider,
} from "@crossmint/client-sdk-react-ui";

function App({ children }) {
    return (
        <CrossmintProvider apiKey="YOUR_CLIENT_API_KEY">
            <CrossmintAuthProvider loginMethods={["email", "google"]}>
                <CrossmintWalletProvider
                    createOnLogin={{
                        chain: "base-sepolia",
                        recovery: { type: "email" },
                        signers: [{ type: "passkey" }],
                    }}
                >
                    {children}
                </CrossmintWalletProvider>
            </CrossmintAuthProvider>
        </CrossmintProvider>
    );
}
Or create the wallet explicitly:
import { useWallet } from "@crossmint/client-sdk-react-ui";

const { createWallet } = useWallet();

const wallet = await createWallet({
    chain: "base-sepolia",
    recovery: { type: "email", email: "user@example.com" },
    signers: [{ type: "passkey" }],
});
Each transaction triggers a biometric authentication prompt.

Adding a Passkey to an Existing Wallet

If the wallet already exists with a different signer, you can add a passkey via wallet.addSigner({ type: "passkey" }). See Add Signers for the full flow.

Next Steps

Add Signers

Register additional signers on an existing wallet

Configure Recovery

Set up email or phone recovery

Device Signer

The default client-side signer