How to Add a Passkey to a Biconomy Smart Wallet
To add a passkey to a Biconomy smart wallet, you use the wallet's interface to register a new WebAuthn credential as an authorized signer. The wallet then uses ERC-1271 contract-signature-verification/">contract signature verification to accept signatures produced by that passkey, and the passkey itself is stored on your device, not on the blockchain.
What a Passkey Does in a Biconomy Smart Wallet
A passkey replaces or supplements the private key you normally use to authorize transactions. It is a cryptographic key pair generated and stored by your device's operating system - typically secured by biometrics (Face ID, fingerprint) or a device PIN. When you "sign" with a passkey, your device proves possession of the private key without ever exposing it. The wallet contract verifies this proof through ERC-1271, treating the passkey as a valid signer just like an EOA or hardware wallet.
Biconomy smart wallets are ERC-4337 compliant. This means your passkey is not directly the wallet's owner in the traditional sense. Instead, the wallet contract holds a list of authorized signers (or a validation module) that can approve UserOperations. Adding a passkey adds its corresponding public key to that list, or registers it with the wallet's validation logic.
Prerequisites
Before you start, ensure:
- Your Biconomy smart wallet is already deployed on the target network. (If not, you must deploy it first - usually a one-time gas cost.)
- You have at least one existing signer (e.g., an EOA or another passkey) that can authorize the addition of a new signer. Most Biconomy wallets require at least one signer to approve changes to the signer set.
- Your device supports WebAuthn (most modern phones, laptops, and tablets do). Biconomy's interface typically checks this automatically.
Step-by-Step Instructions
1. open your biconomy wallet interface
Navigate to the Biconomy dApp or the application that hosts your smart wallet. Log in using your existing signer method - for example, connect your MetaMask or use your current passkey.
2. Navigate to the Signer Management Section
Look for a "Settings," "Security," or "Signers" page. The exact label varies by implementation, but Biconomy wallets usually have a dedicated area for managing authorized signers. This section lists all currently registered signers and their types (EOA, passkey, hardware wallet, etc.).
3. Initiate "Add Passkey" or "Add Signer"
Click the button to add a new signer. The interface should present options for the signer type. Select "Passkey" or "WebAuthn." If the option is missing, your wallet may not support passkey addition through the current interface - check for updates or alternative methods.
4. Complete the Device-Side Passkey Registration
Your browser or operating system will prompt you to create a passkey. This typically involves:
- Choosing where to store it (iCloud Keychain, Google Password Manager, Windows Hello, a security key, etc.).
- Authenticating with your device's biometric or PIN method.
The device generates a new key pair and sends only the public key to the wallet interface. The private key never leaves your device.
5. Confirm the Transaction On-Chain
After the device-side registration, the wallet interface will construct a UserOperation (or a regular transaction if the wallet uses a non-ERC-4337 fallback) to register the new passkey's public key on the contract. You must approve this action using your existing signer.
- If you are using an EOA signer, you will need to sign a message or a transaction in your wallet (e.g., MetaMask).
- If you are using another passkey, you will need to authenticate again with that passkey.
The transaction will call the wallet contract's addSigner or registerPasskey function (or an equivalent module). The gas cost for this on-chain update is typically small but not zero. If you have a paymaster sponsoring gas, the fee may be covered.
6. Wait for Confirmation
The wallet interface will show a pending status while the transaction is mined. Once confirmed, the new passkey appears in your signer list. You can now use it to sign transactions.
Testing the new passkey
To verify the passkey works, try signing a simple transaction - for example, a small transfer or a dummy interaction. The wallet should prompt you for passkey authentication (biometric or PIN) and then submit the signed UserOperation. If the transaction succeeds, the passkey is fully functional.
Removing a Passkey
If you lose the device or want to revoke a passkey, you can remove it from the signer management section using another authorized signer. This sends an on-chain transaction to delete the public key from the wallet's allowed list. After removal, the old passkey cannot authorize any future actions, even if someone gains access to the device.
Common Issues
- "Passkey not supported": Your browser or device may lack WebAuthn support. Try a different browser (Chrome, Edge, Safari) or update your OS.
- Transaction fails with "AA21 didn't pay prefund": This error usually means the wallet lacks ETH to cover the UserOperation's gas prefund. Either deposit ETH into the wallet or configure a paymaster to sponsor the operation.
- The passkey registers but cannot sign: The public key may have been registered incorrectly, or the wallet's validation logic expects a different signature format. Contact Biconomy support or check their documentation for specific WebAuthn encoding requirements.
Not financial advice. meow-cto.xyz publishes market data and general information about Meow. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.