Skip to content

Overview

Privy enables users to connect an external Ethereum wallet to your app, or to create a secure, self-custodial embedded wallet associated with their login method.

With both kinds of wallets, you can easily request signatures and transactions from your users to have them interact with your product onchain. The logic for making these requests is similar across wallet types, though embedded wallets allow for extra customization in terms of how signature and transaction prompts are presented to users.

Read below for more information on the distinction between external and embedded wallets in Privy.

External wallets

External wallets are managed by a third-party client, such as MetaMask or Rainbow. All browser extension wallets, hardware wallets, and mobile app wallets fall into this category.

If they choose, users may use multiple external wallets within your app and may link these wallets to their account. You can request signatures and transactions from an external wallet via the wallet's EIP1193 provider, or by integrating Privy alongside a library like wagmi or viem.

Embedded wallets

Embedded wallets are self-custodial wallets provisioned by Privy itself for a wallet experience that is directly embedded in your application. Embedded wallets do not require a separate wallet client, like a browser extension or a mobile app, and can be accessed directly from your product. These are primarily designed for users of your app who may not already have an external wallet, or don't want to connect their external wallet.

Today, users will have at most one embedded wallet linked to their account. You can choose exactly when to create an embedded wallet for your user, and can request signatures and transactions from the wallet using Privy's native signature and transaction methods, using the wallet's EIP1193 provider, or a library like wagmi or viem.