New features and improvements 🎉
- Simplified Solana integration with one wallet per account and direct method access
- Streamlined peer dependencies required for Solana
- Removal of deprecated fields and methods
Solana Updates
Update Peer Dependencies
If your app uses Privy’s Solana wallets, the required peer dependencies have changed in v3.0: Remove these peer dependencies:@solana/web3.js@solana/spl-token
@solana/kit@solana-program/memo@solana-program/system@solana-program/token
Webpack configurations
Webpack configurations
Additionally, if you are using webpack, include the following configurations to add them to webpack’s
externals config. Note that these configurations are not needed if you are using Turbopack:Solana RPC configuration
- For Privy embedded wallet flows only (UI
signTransactionandsignAndSendTransaction), set RPCs inconfig.solana.rpcs. This replacessolanaClusters.
Replace useSolanaWallets
- Replace
useSolanaWalletswithuseWallets,useCreateWallet, anduseExportWalletfrom the Solana entrypoint. The newuseWalletshook returnsConnectedStandardSolanaWallet[].
ConnectedSolanaWallet and ConnectedStandardSolanaWallet:
- Each
walletrepresents a single connected account - Methods are available directly on the wallet instance:
wallet.signMessage({message})wallet.signTransaction({transaction, chain})wallet.signAndSendTransaction({transaction, chain})wallet.signAndSendAllTransaction({transaction, chain}[])wallet.disconnect()
- The Solana standard wallet is available at
wallet.standardWallet(for icon/name/etc.) - Removed
wallet.loginOrLink()method - UseuseLoginWithSiwsanduseLinkWithSiwsinstead:
Rename useSendTransaction
- Update
useSendTransactionfrom@privy-io/react-auth/solanatouseSignAndSendTransactionfrom@privy-io/react-auth/solana
Usage Examples
- All Solana RPCs now expect buffer inputs.
New solana wallet usage
Sign and send via hooks (with optional UI configuration)
Other interface changes
Funding
- Updated
fundWalletinterface
Removed/Deprecated Items
- Removed
suggestedAddressfromconnectWalletandlinkWallet
- Removed
detected_walletsfrom wallet lists/configuration
- Removed deprecated Moonpay config and types, add config to
PrivyProviderConfiginstead
- Removed deprecated
requireUserPasswordOnCreateand related embedded wallet config fields - **Removed
embeddedWalletslevelcreateOnLoginfield. UseembeddedWallets.etherum.createOnLoginorembeddedWallets.solana.createOnLogininstead. **
- Removed
useLoginToFrameand replaced withuseLoginToMiniApp
- Removed
useSignAuthorization()- UseuseSign7702Authorization()instead
- Removed
useSetWalletPassword()- UseuseSetWalletRecoveryinstead
Updated Types
- Removed
verifiedAtfromLinkMetadataand all linked accounts. UsefirstVerifiedAtandlatestVerifiedAtinstead of the deprecatedverifiedAt.

