Portal-Managed Recovery (default)
When using Portal-Managed Backups, you can simply call theportal.recoverWallet() function to generate new signing shares on your user’s device.
recoverWallet returns the recovered wallet’s EVM address and throws if recovery fails, so wrap it in try/catch:
Starting from SDK version 10.1.0, if no EVM address is available after recovery,
recoverWallet throws PortalException.Mpc.UnableToReadFromKeychain instead of returning an empty string.WARNING: To recover a wallet with the Portal SDK, your device must be configured to use passcode authentication. Please note that if you disable your passcode authentication after executing the
recover function, you will need to run the recover function again.Self-Managed Recovery
By default, Portal manages storing both the encrypted client backup share and the custodian backup share for you. If you prefer to store and manage the backup shares in your own infrastructure instead of using Portal-Managed Backups, see our Self-Managed Backups guide. Before recovering, you will need to retrieve the encrypted client backup share from your API. You will then provide the encrypted client backup share toportal.recoverWallet. Here’s an example of how that might look in your code:
WARNING: To recover a wallet with the Portal SDK, your device must be configured to use passcode authentication. Please note that if you disable your passcode authentication after executing the
recover function, you will need to run the recover function again.Progress Callbacks
You can learn how to handle the progress callbacks forportal.recoverWallet here.