How to import existing wallet (i.e., account) to web3auth wallet (social login)

I am a DApp service provider. We were planning to allow users to access our service using their existing MetaMask wallet or our service wallet. However, due to certain issues, we are now considering using Web3Auth.

Here is my question:

  1. Is it possible for users to conveniently import their existing accounts (MetaMask or WalletConnect) into Web3Auth through its wallet UI, without needing to implement specific code or manage private keys themselves? In other words, the migration should be secure and private, such that the private key is not exposed to anyone — not even to our service.

Thank you for your detailed question and for considering Web3Auth for your DApp service!

Summary of Your Question:
You want to know if users can import their existing MetaMask or WalletConnect accounts into Web3Auth via the wallet UI, without writing custom code or exposing/managing private keys themselves, ensuring security and privacy.


Web3Auth Plug n Play: Importing Existing Wallets

Current Functionality:

  • Web3Auth Plug n Play (Web3Auth Wallet) focuses on enabling social login and passwordless onboarding for users, creating a new non-custodial wallet for them upon login.
  • Direct Import of External Wallets (MetaMask, WalletConnect):
    At this time, Web3Auth Plug n Play does not provide a built-in UI for users to import existing wallets (e.g., MetaMask, WalletConnect) directly into the Web3Auth wallet without custom code or manual key management.
  • Private Key Security:
    Web3Auth is designed so that private keys are never exposed to you (the DApp provider) or to Web3Auth itself. Keys are generated and managed securely using threshold cryptography.

Migration Options

  • Manual Import:
    If a user exports their private key from MetaMask and imports it into Web3Auth, this would require manual steps and could expose the private key, which is not recommended for security reasons.
  • Custom Implementation:
    You could build a custom migration flow where users sign a message with their existing wallet to verify ownership, then link that account to their new Web3Auth wallet. However, this would require development effort and would not be a one-click UI import.
  • Recommended Approach:
    Encourage users to use Web3Auth for new wallet creation and provide guidance on transferring assets from their old wallet to the new Web3Auth wallet if needed.

References & More Information


Feature Request:
If seamless, secure wallet import is a critical feature for your service, please let us know! We can pass this as feedback to the product team.


Let me know if you have further questions or need guidance on a custom migration flow.

Note: This response was generated by an AI bot and may require further verification. The Web3Auth support team has tracked this issue and will be responding as soon as possible.

Additionally, we would recommend you to join our biweekly Office Hours to get this resolved even faster. Web3Auth Developer Office Hours

You said:

Private Key Security:
Web3Auth is designed so that private keys are never exposed to you (the DApp provider) or to Web3Auth itself. Keys are generated and managed securely using threshold cryptography.

However, on the demo screen (https://demo.web3auth.io/), I was able to extract my private key after logging in. Why is that?