| User wants to change or add an email or phone | Prompt the user to update or link the new account, then unlink the old one — the user must complete this flow themselves | Provides the APIs. Your app cannot unilaterally change a user’s linked accounts |
| User needs a compromised or outdated login method removed | Unlink the account server-side via the API — your app can do this without the user in the loop, as long as the user keeps at least one other login method (embedded wallets and passkeys cannot be unlinked) | Provides the unlink API |
| User lost their only login method (any type — email, phone, wallet, OAuth, or passkey) | No recovery is possible; the account cannot be accessed again | Cannot recover the account — there is no backdoor, regardless of which method was lost |
| User wants a backup login (prevention) | Prompt the user to link additional accounts | Provides progressive account linking |
| User is not receiving login codes | Point the user to the not receiving codes troubleshooting in the User Help Center | If the user still cannot receive the code, they can email [email protected] |
| User cannot log in to an existing account and sees “Something went wrong” | Check whether CAPTCHA is enabled and, if so, walk the user through CAPTCHA troubleshooting; also confirm the user is not on your denylist | Provides CAPTCHA and denylist controls |
| User is locked out of MFA | Contact [email protected] to inquire about MFA resets (available on Enterprise plans) | Offers MFA resets for Enterprise plans |
| User wants their account or data deleted | Delete the user via the API. To also delete data retained on Privy’s side, email [email protected] with your app ID and the user ID | Executes the deletion and removes retained data on request |
| User’s account was deleted by mistake, or the user changed their mind | Email [email protected] with your app ID and the user ID to request a restore | Can restore a deleted user within 1–2 business weeks |
| User’s wallet was archived by mistake, or the user changed their mind | Email [email protected] with your app ID and the user ID to request a restore | Can restore an archived wallet within 1–2 business weeks |
| User created their account with a temporary or disposable email and can no longer log in after you enabled email restrictions | Temporarily disable temporary-email blocking in the Dashboard so the user can log in, have them update to a permanent email, then re-enable the restriction | Provides the email restriction toggle |
| User wants to export their wallet | Enable the wallet export flow, or direct the user to Privy Home | Provides the export API and can never view or share private keys |
| User sent funds on the wrong chain | If the destination chain shares the wallet’s address, help the user switch to that chain and move the funds — onchain transactions cannot be reversed | Cannot reverse or recover onchain transactions |
| User reports suspicious or unauthorized access | Revoke sessions and force re-authentication | Provides session controls |
| User asks what is linked to their account | Query the user and return their linked accounts | Provides the query APIs |