Overview
Privy builds wallet infrastructure that empowers users and applications to transact on hundreds of blockchains, including Ethereum, Solana, Base, and more .
These wallets can be embedded within your application, to have users interact with them directly, or can be controlled by your servers via Privy’s API. Use Privy to instantly spin up self-custodial wallets for your users or create a fleet of your own.
Privy embedded wallets are built on globally distributed infrastructure to ensure high uptime and low latency. They leverage secure hardware (TEEs) and client-side computation to ensure only the rightful owner can control their wallet or access its keys.
Privy also supports users connecting external wallets (like Metamask or Phantom) to your app so they can bring their assets and online identity with them to your product if they already have a wallet.
Regardless of what wallet you integrate (embedded or external wallets), you can easily request signatures and transactions from your users to interact with tokenized assets and onchain infrastructure. The logic for making these requests is similar across wallet types.
Embedded wallets
Privy’s embedded wallet system lets you build wallets directly into your app whether you’re building self-custodial wallets for your users or a wallet fleet you control.
Privy’s wallet infrastructure ensures only the appropriate party controls the wallet. This means you can set up wallets for any user, customer, or agent under a range of custody options.
Privy surfaces both user-centric abstractions enabling you to authenticate users and generate wallets for them, as well as wallet-centric abstractions whereby you can create wallets with assigned authorization keys to control them.
Common usage
User wallets
You can generate self-custodial wallets for your users for a wallet experience that is directly embedded in your application—no separate wallet client, like a browser extension or a mobile app, required.
This means users have full custody of their wallets without needing to manage secret keys. Neither Privy nor your application ever sees the user’s keys; secrets are only ever reconstituted in a secure environment under the user’s control so they can sign messages or transactions.
Users can manage their embedded wallet seamlessly with their account; they never need to handle any unnecessary technical complexity. Your application can even pregenerate wallets for an account, like an email address or phone number, before the user logs in. Users can also export the key for their embedded wallet, providing an escape hatch to leave Privy at any time.
Your application can easily guide users to use their wallet with simple abstractions to prompt users to fund, transact, and sign with their wallet.
Managed wallets
Set up a fleet of wallets to enable secure treasury management across use cases. This means wallets with quorums of pre-approved signers and assigned policies to receive and forward funds and manage complex flows.
Register webhooks to automate events based on onchain actions, assign specific policies to wallet signers to manage risk, and more.
Server wallets leverage secure enclaves and key splitting to ensure secure key reconstitution and appropriate custody for all use cases.
Features
Privy’s wallet infrastructure gives you the flexibility to manage key signing directly or integrate onchain infrastructure like smart accounts out of the box. Wallets ship with:
- Cross-chain usage: Create and manage wallets on all EVM- and SVM-compatible blockchains, including Ethereum, Base, Arbitrum, HyperEVM, Solana, and Eclipse. You can also use the underlying cryptographic keys directly to transact on other chains, like Bitcoin, Spark, TRON, Stellar, and more.
- Robust transaction controls: Execute arbitrary transactions with wallets, such as transferring funds and arbitrary interactions with smart contracts. Make transactions idempotent to ensure that they are only submitted once in case of a retry.
- Onchain indexing: Broadcast transactions onchain and register event listeners (via webhooks) on transaction status, deposits, and withdrawals.
- Powerful policy engine: Enforce granular policies what actions a wallet can take, set allowlisted contracts or recipients, maximum amounts to be transferred, restrictions on smart contract calldata, and more. Enforce MFA on transactions, require approval signatures from a quorum of parties, and more.
- Flexible custody model: Cryptographically enforce a chain of custody on wallets, allowing you to require approvals from
m-of-n
parties to execute certain wallet actions. - Automated gas sponsorship: Never worry about topping up a wallet. Keep wallets loaded to pay for transactions at all times.
- Rich onchain integrations: Leverage features like Privy’s wallet UI library, RainbowKit connector, transaction and balance webhooks, or automated gas management to streamline your integration with the blockchain.
External wallets
External wallets are managed by a third-party client, such as MetaMask, Phantom, 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 directly, or by integrating Privy alongside a library like wagmi, viem, or @solana/web3.js.
Get started
Was this page helpful?