Skip to main content
Credential rotation lets a user replace their passkey while they still have access to the current one. It is the right choice when a user upgrades to a new phone, retires an old device, or wants to migrate their passkey to a different authenticator as a security hygiene step. Unlike account recovery — which is a reactive process triggered by a lost credential — rotation is a proactive operation that the user initiates while fully authenticated.

Rotation vs recovery

The key difference is whether the user can still sign in: Rotation is simpler and more secure than recovery because the user proves ownership directly with their existing credential. No identity verification from a third party is needed. If your users are about to get a new phone, guide them to rotate before they wipe or dispose of the old device — it’s a much smoother experience than going through recovery afterward.

What rotation changes and what it preserves

Rotation only replaces the authentication credential. Everything else stays exactly the same:

The rotation flow

Implementing rotation in your UI

Place credential rotation in a Security section of your account settings — not on the home screen. Users who need it will know to look there; casual users won’t stumble into it accidentally.
src/screens/RotateCredentialScreen.tsx

Rotation error handling

src/services/rotation.ts

Monitoring and notifications after rotation

Log every rotation event and notify the user immediately. An unexpected rotation notification — one the user did not initiate — is a strong signal of account compromise.
src/server/services/rotationAudit.ts

Production checklist

  • ✅ Surface credential rotation in a Security settings section, not on the main dashboard
  • ✅ Gate the rotation screen behind an authenticated session — never allow unauthenticated rotation
  • ✅ Show clear step-by-step progress so users know which device to complete the steps on
  • ✅ Send a notification (email or push) every time rotation completes
  • ✅ Log all rotation events with timestamp, wallet address, outcome, and IP
  • ✅ Alert on repeated rotation failures for the same wallet
  • ✅ Remind users to rotate before disposing of old devices — consider adding a prompt in device/account settings flows
  • ✅ Test the full rotation flow on both iOS and Android before launch