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
signTransaction
andsignAndSendTransaction
), set RPCs inconfig.solana.rpcs
. This replacessolanaClusters
.
Replace useSolanaWallets
- Replace
useSolanaWallets
withuseWallets
,useCreateWallet
, anduseExportWallet
from the Solana entrypoint. The newuseWallets
hook returnsConnectedStandardSolanaWallet[]
.
ConnectedSolanaWallet
and ConnectedStandardSolanaWallet
:
- Each
wallet
represents 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 - UseuseLoginWithSiws
anduseLinkWithSiws
instead:
Rename useSendTransaction
- Update
useSendTransaction
from@privy-io/react-auth/solana
touseSignAndSendTransaction
from@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
fundWallet
interface
Removed/Deprecated Items
- Removed
suggestedAddress
fromconnectWallet
andlinkWallet
- Removed
detected_wallets
from wallet lists/configuration
- Removed deprecated Moonpay config and types, add config to
PrivyProviderConfig
instead
- Removed deprecated
requireUserPasswordOnCreate
and related embedded wallet config fields - **Removed
embeddedWallets
levelcreateOnLogin
field. UseembeddedWallets.etherum.createOnLogin
orembeddedWallets.solana.createOnLogin
instead. **
- Removed
useLoginToFrame
and replaced withuseLoginToMiniApp
- Removed
useSignAuthorization()
- UseuseSign7702Authorization()
instead
- Removed
useSetWalletPassword()
- UseuseSetWalletRecovery
instead
Updated Types
- Removed
verifiedAt
fromLinkMetadata
and all linked accounts. UsefirstVerifiedAt
andlatestVerifiedAt
instead of the deprecatedverifiedAt
.