user object captures every authentication method as a verified credential. This guide shows how to find which method was used most recently and how to inspect each credential’s type.
Finding the most recent login
user.lastVerifiedCredentialId points to the credential the user authenticated with most recently. Look it up in user.verifiedCredentials:
- JavaScript
- React
Credential formats
Theformat field on each verified credential identifies the authentication method:
| Format | Description |
|---|---|
blockchain | Signed in by signing a message with a wallet |
email | Email OTP / magic link |
oauth | Social provider (Google, Apple, Discord, …) |
passkey | WebAuthn / passkey |
phoneNumber | SMS OTP |
totp | TOTP authenticator (typically MFA) |
externalUser | Sign-in via external JWT |
Wallet credentials
Forformat === 'blockchain', walletProvider describes the wallet kind:
walletProvider | Description |
|---|---|
browserExtension | Extension wallet (MetaMask, Phantom, etc.) |
embeddedWallet | Dynamic embedded MPC wallet |
walletConnect | WalletConnect session |
qrCode | QR-code-paired wallet |
deepLink | Mobile deep-link wallet |
custodialService | Custodial service |
smartContractWallet | Smart contract wallet (account abstraction) |
Social credentials
Forformat === 'oauth', oauthProvider identifies the social network. See Social Account Linking for the full provider list and management APIs.
getUserSocialAccounts is a typed helper that filters verifiedCredentials to OAuth entries and exposes provider, displayName, emails, photos, and verifiedCredentialId.
Helper: a single login-method label
Map credential formats and wallet providers to a single tag your UI can branch on:userChanged: