What the user sees
Right after their card is added, the wallet asks once: save a passkey to skip the code next time. One tap, Face ID, done. If they say “not now,” the wallet doesn’t ask again on that device. Later, when they open a wallet link that has expired, the expired screen offers to unlock with the passkey instead of telling them to request a new link. One tap and they’re in their wallet.What it changes for you
Less than you’d think, and all of it good:- Fewer “the link expired, send me a new one” round trips through your agent.
- Nothing new to integrate. No API surface, no webhook, no flag. Passkey unlocks show up as the same session your links already produce.
- Your links work exactly as before. A passkey never extends what a link could do; it only skips the re-delivery when the same user comes back on the same device.

