Passkeys
OTP once, Passkey forever.
A user verifies with a code once and saves a passkey. Most sign-ins after that are a biometric or screen lock: no message to send, wait for or pay for. Passkeys work in your app, on the user's other devices and, through the Passkey Network Registry, across your other apps and sites and in other Akedly apps.
Passkeys are the holy grail of verification. They are the future, and we are building a reusable network of them.
Kill OTP channels before they kill your business.
Every OTP is a message you pay a provider to send. A passkey sign-in is billed at the passkey rate instead, up to 40% less than an OTP,¹ with no message sent.
¹ With the default passkey rate (60% of your own OTP price for that phone number). Your rate may differ.
Why passkeys
- Cheaper. A successful passkey sign-in costs up to 40% less than an OTP.¹ Enrolling a passkey is free.
- Faster. No code round trip. A returning user confirms with a biometric or screen lock and is verified.
- Higher conversion. Removing the wait-for-a-code, switch-apps, copy-and-paste loop removes a common source of drop-off in phone verification.
- Harder to phish. A passkey is a public-key credential. There is no code or shared secret to intercept, and a passkey only works on the site it was created for, so a look-alike page cannot collect it. The private key is never shared with your app or with Akedly.
- Less OTP spend to defend. Every passkey sign-in is one fewer WhatsApp, SMS or Telegram message to pay for, and one fewer message for an attacker to abuse.
How it works, in four steps
- The user verifies with a code. Any channel: WhatsApp, Telegram, SMS or email. This is the one code the user needs.
- They save a passkey. After the code succeeds, the screen offers to turn on Face ID, a fingerprint or a screen lock for instant sign-in. The offer is optional and free. The screen also tells the user that other apps and websites that use Akedly may also let them verify with the passkey.
- Next time, they confirm instead of waiting. They enter their phone number and confirm with a biometric or screen lock. A code can be skipped. A "Use a code instead" option is always one tap away.
- The same passkey keeps working. Through the Registry, in your other apps and sites and in other Akedly apps, and on other devices.
Passkeys end to end
A commentary walkthrough of the passkey experience.
Where passkeys work
This app
The pipeline where the user saved the passkey.
Your other apps and sites
With the Passkey Network Registry, any of your pipelines with passkeys turned on can use a passkey the user saved through another of them.
A user who saved a passkey at one Akedly app can verify at another with a biometric or screen lock. The second app does not send a code.
Passkey Network Registry
Other devices
Passkeys that the device's credential manager syncs, such as Apple Keychain and Google Password Manager, are available on the user's other devices signed in to the same account. The operating system does the syncing; Akedly does not control it. Where a passkey is not synced, or the user has no passkey on the device, they verify with a code.
V2.0 and V1.2
Add one attribute to your iframe. The widget offers a passkey to returning users, falls back to a code when there is none, and returns the result through the same redirect, postMessage and webhook as before.
Open the V2 passkeys guide
Your backend calls auth-options to check for a passkey. Akedly hosts the passkey ceremony; you fall back to your OTP flow on NO_PASSKEY. Biometric or screen-lock verification is required on V1.2.
Open the V1.2 passkeys guide
Billing
Enrolling a passkey is free. You pay only for a successful passkey sign-in, and OTP sign-ins are billed as before.
A passkey sign-in is billed at the passkey rate: by default 60% of what an OTP would cost you for that phone number, which is up to 40% less.¹ The baseline is your own earliest OTP charge for that phone number, or your own OTP rate for the country when there is none. Some accounts are on a fixed per-passkey rate instead. Check your plan if you are unsure which applies.
When a passkey sign-in still needs a code (see when a code is still asked), you pay for that one OTP and there is no passkey charge.
