Use this file to discover all available pages before exploring further.
Privy enables your users to export the private key for their embedded wallet. This allows them to use their embedded wallet address with another wallet client, such as MetaMask or Phantom.
Wallets created client-side (e.g. through Privy’s React, React Native, Swift, etc. SDKs) can only be exported via the exportWallet method in the React SDK.
Due to the sensitive nature of key export, it is only available in web environments where the operation can be secured with strict browser security guarantees.
If you’d like to enable key export with one of Privy’s other client-side SDKs, we encourage setting up a minimal web page with Privy’s React SDK and export wallet functionality that you can direct users to.
For a step-by-step guide on enabling key export from React Native, Swift, Android, and Flutter
apps using a WebView, see the mobile key export recipe.
By default, to use wallets, users authenticate to the Privy API directly from their client using
their access token. This means that users can send transactions or export their keys using their
access token with the Privy API, even if an application does not implement Privy’s exportWallet
method. This design ensures users always retain self-sovereign access to their wallet keys.To prevent users from unilaterally exporting keys, applications can set up a 2-of-2 key quorum as the wallet owner, consisting of the user and an authorization key controlled by the application’s server. This requires authorization from both parties to export the wallet.
Wallets created server-side can only be exported via Privy’s server-side SDKs or REST API. This ensures that wallets are securely exported in an encrypted interaction between your app’s and Privy’s infrastructure.