Appearance
Releases
The release notes for the @privy-io/react-auth
SDK.
1.94.3
- Add ethereum support to
useDelegatedActions
hook - Show a warning when solana is enabled in the dashboard but not configured properly on the client
- Log out users who have not yet accepted legal terms when require affirmative consent is set
- Update language on delegated actions modal
- Add cross app buttons to login modal
- Fix telegram seamless login
- Fix error when
sendTransaction
is called with an imported wallet
1.94.2
- Add support for delegated actions on EVM networks
1.94.1
- Improve manual transfer screen of funding flow
- Fix OAuth callback not firing during login flow
- Fix Solana key export when MFA is enabled
- Update
@headlessui/react
to2.2.0
- Update
js-sdk-core
to0.34.0
1.94.0
- Update session token storage
- Update typing for
AuthenticatedUser
- Release
useDelegatedActions
hook - Allow existing users with
+
emails to log in even if app has disable creation of new users with+
emails - Bump multiplier for smart wallet gas estimation
- Suppport user owned recovery for Solana embedded wallets
- Move
permissionless
to be an optional peer dependency - Update
js-sdk-core
to0.33.0
1.93.0
- Add support for creating ethereum HD wallets at any index
- Improve session update logic
1.92.8
- Fix issue where logging out would attempt to link smart wallets
- Minor internal improvements
- Update
js-sdk-core
to0.31.0
1.92.7
- Improve error banner UI on dark mode
- Add
disableSignup
option to headless login hooks - Add paymaster context config for Alchemy and Biconomy paymasters
- Fix bug where recently used wallet was missing in the login wallet list
- Update delegated actions modal styles
1.92.6
- Add secondary color option to
UserPill
button
1.92.5
- Fix issue with parsing user response from Privy API
- Show "Maximum" as the amount for ERC20 approvals if the amount being improved is the maximum value of
uint256
- Use direct imports for heroicons
1.92.4
- Fix transaction details not updating for batched smart wallet calls
- Update user object to include
delegatedWallets
field - Update
js-sdk-core
to0.30.1
1.92.3
- Add support for the Coinbase Smart Wallet as a smart wallet implementation
- Show verified wallet details during Farcaster account merging flow
- Update all Solana package imports to be dynamic
- Add CSS selectors to login buttons
1.92.2
- Add
switchChain
to SmartWalletClient - Update type of wallet in connectWallet callbacks to be
BaseEthereumConnectedWallet
orBaseSolanaConnectedWallet
- Downgrade console warning to debug for
eth_accounts
- Update
js-sdk-core
to0.29.3
1.92.1
- Fix build output of types
- Fix issue where certain builds would break if
@solana/web3.js
optional peer dependency was not installed - Improve colors for
UserPill
button text - Fix custom auth error when logged in as a stale user and switching to a new user
- Fetch setting for whether plus emails are disabled when fetching app configuration
1.92.0
- Add support for funding EVM wallets by bridging from an external Solana wallet
- Add loading state to
UserPill
- Upgrade
permissionless
peer dependency to0.2.10
to improve stability of counterfactual smart wallet address determination
1.91.0
- Add support for wallet MFA with Solana embedded wallets
- Add support for funding Solana wallets by bridging from an external EVM wallet
- Add support for exporting HD wallets beyond the wallet at index 0
- Fix issue with wallet funding where an error UI would be shown if user exited Coinbase Onramp too early
- Fix issue with wallet funding where incorrect token symbol was shown in manual transfer screen for Polygon
- Fix issue with attempting to connect to Phantom's injected EVM provider if the
walletChainType
for the app is set to'solana-only'
1.90.0
- Add support for funding Solana wallets via transfer from external wallet, Coinbase Onramp, and MoonPay
- Update
ConnectedSolanaWallet
object to have wallet helpers likesignMessage
always be defined, and throw an error if unsupported by the underlying wallet - Improve smart wallet gas estimation by using Pimlico public client for Pimlico bundlers
- Add new error code for disallowed
+
emails - Update icons and copy for MFA and passkey flows
- Fix issue with Coinbase Onramp where an error would be shown if user exited Onramp flow too quickly
1.89.0
- Allow for configuration of showing/hiding of transaction UIs per transation/signature via
uiOptions.showWalletUIs
- Allow server side wallet UIs to be overriden by client side config via
config.embeddedWallets.showWalletUIs
- Add
bybit_wallet
to walletList options - Add callbacks for
updatePhone
andupdateEmail
through theuseUpdateAccount
hook - Update
js-sdk-core
to0.28.8
1.88.4
- Fix issue where smart wallet linking would cause the
onComplete
callback not to fire - Ensure correct asset symbol is shown in fund via manual transfer screen
- Add support for customizing the icon on the
UserPill
- Fix CAPTCHA in Telegram seamless auth
1.88.3
- Allow an Ethereum embedded wallet to be created for a user with a Solana embedded wallet
- Add minimal version of
UserPill
with only primary account info and logout button - Optimize "Protected by Privy" asset size
- Ensure Solana wallets are recovered during sign transaction flow
1.88.2
- Fix: Sign Solana transaction using the embedded wallet address instead of from address
- Update logos for rebrand
- Fix Solana Phantom wallet option to appear as "Phantom" in the wallet list
- Update
js-sdk-core
dependency to0.28.5
1.88.1
- When apps explicitly pass
defaultChain
/supportedChains
and the chains are already supported by Privy, only override the RPC URL to use the internal Privy RPC instead of replacing entire chain representation - Fix bug calling
signTypedData
with imported wallets - Update docstring of
appearance.walletList
to include correctcoinbase_wallet
instead ofcoinbase
- Add
detected_ethereum_wallets
anddetected_solana_wallets
as supportedWalletListEntry
values - Update
js-sdk-core
dependency to0.28.4
1.88.0
- Add onComplete/onError callbacks to headless auth hooks
- Fix error waiting for response after sending transaction
- Improved custom auth authentication handling
- Support integers and booleans in customMetadata
1.87.0
- Update login method transfer UIs
- Add useLoginWithPasskey hook
- Add state to whitelabel auth flows
- Add universal profile to wallet_list options
- Improve Solana embedded wallet creation
- Update User pill recently used account logic
- Improve smart wallet transaction logic and UIs
- Improve funding network selector UI
- Update
styled-components
dependency tov6.1.13
- Update build outputs and
package.json#exports
property to match modern patterns
1.86.0
- Allow for login method transfers
- Show solana transactions breakdown
- Add optional
config
prop forSmartWalletsProvider
that allows forpaymasterContext
to be set - Fix display of decimal token values on transaction screens
- Solana annotations for docs
- Update
js-sdk-core
dependency to0.28.1
1.85.0
- Add support for connecting external Solana wallets via
toSolanaWalletConnectors
- Add support for login/linking external Solana wallets
- Add new external wallets config options to set Solana connectors
- Add transaction UIs for Solana embedded wallet transactions
- Add
useSendSolanaTransaction
hook
1.84.0
- Add smart wallets SDK (
@privy-io/react-auth/smart-wallets
) with support for native account abstraction features - Improve Celo chain icon
- Fix captcha on headless sms and email login hooks
- Hide the "Add funds" button on the UserPill if funding is not enabled
1.83.1
- Fix background color of warning on export screen in light modes
- Handle connected vs logged in state better in
UserPill
component - Fix bridging flow gas estimation issues
1.83.0
- Add support for passing a
disableSignup
flag tologin
to distinguish between login and sign-up - Make suggested address copyable-on-click on connect and link wallet strings
- Fix issue where headless OAuth callbacks did not fire correctly
- Fix issue where client-side funding configuration was ignored if
chain
was not set - Add support for fetching USDC funding configuration from the Dashboard
- Update Polygon's MATIC gas token to POL
1.82.0
- Add
loginWithCrossAppAccount
touseCrossAppAccounts
hook - Add support for using multiple HD embedded wallets per user in the
useWallets
array (including EIP1193 provider support and ethers/viem/wagmi support) and Privy's nativesignMessage
,signTypedData
, andsendTransaction
methods - Add support for configuring the
walletList
to display in Privy's connection prompt directly inconnectWallet
- Fix
loading
to correctly befalse
for error states on headless OAuth login - Update
js-sdk-core
dependency to0.26.7
1.81.3
- Add support for additional Ethereum embedded wallet creation at HD indices that are not 0
- Add
useCustomAuth
hook
1.81.2
- Support funding wallets with USDC from MoonPay and Coinbase Onramp
- Fix bug where CJS builds threw
SyntaxError: Unexpected identifier...
- Ensure Twitter login always shows up on mobile if enabled
- Ensure a destination currency is always set when funding via external transfer for ERC20s
- Ensure Coinbase Onramp amount is properly formatted with a leading digit
- Silence expected errors when fetching Relay quotes on chains where an address has no balance
1.81.1
- Fix chain definition for Base
1.81.0
- Export
UserPill
component to display user account and wallet information - Add ability to fund from external wallet with ERC20 tokens in addition to a chain's native token
- Add
onComplete
andonError
callbacks for headless OAuth login - Fix issue where copy on key export screen was not legible in dark mode
1.80.0
- Add ability to pre-fill either phone number or email on login UI
- Add
onComplete
andonError
callbacks for third-party auth login - Pin
@walletconnect/ethereum-provider
to2.15.1
or higher to avoid breaking change introduced in2.15.0
- Send Telegram
start_param
in authenticate request payload - Update
js-sdk-core
dependency to0.26.2
1.79.1
- Fix issue where native asset token price could not be fetched for chains not configured in
supportedChains
during bridging flow - Fix issue where
onUserExited
callback foruseFundWallet
hook did not fire if there was an error - Fix visual bug on transaction screen when transaction amount overflows the modal
1.79.0
- Allow users to bridge from another network when funding with an external wallet
- Support Telegram authentication with mini-app direct link
- Add support for exporting imported and Solana wallets
1.78.2
- Remove deprecated chains from default supported chains
- Fix Spotify and Instagram not showing up in upfront login methods
- Add
'safe'
as an option forappearance.walletList
configuration option - Strip URL hash after successful Telegram seamless login
- Fix Uniswap extension login method not showing up
- fix issue with setting client cookies on Safari on localhost
- Remove Solana embedded wallet on logout
- allow enter to submit embedded wallet password
1.78.1
- Fix issue with misaligned loading spinner during Farcaster login flow
- Allow Telegram linking without surfacing it as an upfront login method
- Fix client-side checks for whether OAuth authentications should be treated as login vs. linking
1.78.0
Authentication
- Update
loginWithTelegram
to always login instead of link, regardless of initial auth state - Fix issue with
linkWithSiwe
for linking smart accounts to user object - Gracefully handle maximum wallets linked error when linking wallets via SIWE
- Fix allowlist error screen to show custom error messages configured by developers
- Allow
connectOrCreate
to be called even if users already have connected wallets
Solana
- Fix issue where Ethereum and Solana embedded wallets could not be created in the same React tick
- Add Solana mainnet chain ID to Solana embedded wallet in
user.linkedAccounts
Embedded wallets
- Fix occasional error with invalid
to
address when funding via external wallets (e.g. MetaMask) - Block embedded wallet transaction submission until transaction has been fully prepared
- Fail fast in insecure contexts (e.g.
http
) with a clear error message - Ignore
gasPrice
during transaction preparation on EIP-1559 chains where that parameter is not supported (OP Stack, Polygon)
1.77.0
- Add support for guest accounts
- Fix bug where external funding flow fails when using
fundWallet
fromuseFundWallet
hook - Add missing error for when
setWalletRecovery
flow is exited from the selection screen - Fix copy on wallet creation recovery method selection screen
- Update
js-sdk-core
dependency to 0.26.0
1.76.6
- Improve QR code scannability
1.76.5
- Add seed phrase export for embedded ethereum wallets
- Clean up imports for icons
- Update
js-sdk-core
dependency to 0.25.0 - Minor internal improvements
1.76.4
- Fix parameters for
updatePhone
flow
1.76.3
- Add
updatePhone
flow for updating user phone numbers - Fix Uniswap wallet logo on mobile
- Add
lukso
to default supported chains - Minor internal improvements
1.76.2
- Update
js-sdk-core
dependency
1.76.1
- Add signature UI for Solana embedded wallets
- Fix issue with dark mode in funding UIs
- Update border radius on funding method icons
1.76.0
- Add Coinbase Onramp as a funding option
- Return identity token to end user's browser
- Support user editing of default funding value
- Improve funding UIs
- Add callback for fundWallet flow
1.75.1
- Add "Telegram" text to Telegram login button
- Extend timeout for embedded wallet iframe to 20s to handle resource-constrained environments like TMAs
- Update the default connection setting for Coinbase Wallet to be
'all'
(smart wallet and extension/mobile wallet) instead of'eoaOnly'
(extension/mobile wallet only)
1.75.0
- Add external wallet funding flow and new server-side funding configuration options
- Add login modal indicator for recently used login method
- Update transaction request UI
- Support overriding login methods at the point of login
- Fix broken back button in NextJS Pages app
- Fix bug where non-injected wallets did not show up on connect wallet screen
1.74.1
- Fix occasional issue where embedded wallet transaction modal would infinitely load when used with ethers
1.74.0
- Add
user
as argument toonOAuthTokenGrant
callback handler - Add
linkMethod
details toonError
callback foruseLinkAccount
- Improve transaction UI currency formatting
- Deprecate
PrivyProvider
onSuccess
prop - Remove app logo from connect-only screen
1.73.2
- Update farcaster signer to not be experimental with
useFarcasterSigner
- Fix bug where wallet login fails if there is an existing stale non-siwe auth flow
- UI tweaks on signature request screen
1.73.1
- Add
vanityName
toLinkedInOAuthWithMetadata
interface - Improve errors for transacting against a read-only provider app
- Remove
WalletConnect
fallback whenexternalWallets.walletConnect.enabled
is set tofalse
- Fix Twitter OAuth from within a cross-app auth flow
- Fix login modal not reopening after logout
1.73.0
- Cross-app wallets
- Exodus mobile wallet fix
- Crypto.com walet extension fix
- Embedded wallet transaction fix due to address case mismatch
- Add experimental
externalWalletConfig.walletConnect.enabled
- UI tweaks
1.72.0
- Improve account already linked error for email and SMS linking
- Improve insufficient funds error on transaction flows
- Add chain name
- Improve Coinbase Wallet connection experience for PWAs using
eoaOnly
mode- No longer open in Coinbase Wallet in-app browser
- Add
unlinkCrossAppAccount
touseCrossAppAccounts
hook - Bump WalletConnect to
v2.13.3
to avoid metadata validation breaking change - Support returning OAuth provider tokens via
useOAuthTokens
hook - Add headless wallet linking via
useLinkWithSiwe
hook - Add new
suggestedAddress
parameter toconnectWallet
andlinkWallet
- Minor build improvements
1.71.0
- Add cross-app account linking and wallet requests via
useCrossAppAccounts
hook - add
iconUrl
option tosignMessage
andsignTypedMessage
- Improve OTP code resend experience
- Improve loading and success state for signature screen
- Improve error state for social login
- Improve login error callbacks
- Upgrade Coinbase Wallet SDK to 4.0.3
1.70.0
- Add support for Telegram seamless authentication
- Pre-emptively block Google login in more in-app browsers where it is expected to fail (LinkedIn, Coinbase Wallet, MetaMask, etc.)
1.69.0
- Add
useSetWalletRecovery
hook to set user-managed recovery methods for embedded wallets - Add
getEmbeddedConnectedWallet
helper to parseuseWallets
array for the embedded wallet - Fix issue with Twitter login on Android due to
x.com
deeplinks not working - Fix issue with recalculating nonce when retrying a failed transaction
- Fix typo in passkey enrollment screen
1.68.0
- Upgrade
@walletconnect/ethereum-provider
to2.13.1
, fixesError: description is required value in metadata
error introduced by WalletConnect - Add
config.appearance.loginMessage
interface for setting a custom subtitle below logo - Deprecate goerli and polygon mumbai chains
- Add blast to OP-Stack gas estimation
- Improve error handling around wallet connector initialization
1.67.0
- Add support for Coinbase's Smart Wallet
1.66.3
- Fix issue with signatures not working when wallet address is not checksummed
1.66.2
- Add support for resetting password via
setPassword
- Fire
connectWallet
'sonSuccess
/onError
callbacks whenever a wallet is connected, including duringlogin
with SIWE - Add
mfaMethods
touseMfa
hook - Retry JSON-RPC requests used to load connected wallets to handle flaky injected providers on page load
- Reduce noisy console warnings
1.66.1
- Improved errors for embedded wallet gas estimation
- Minor improvements to refresh token storage
1.66.0
- Telegram link/unlink
- Add embedded wallet recovery via iCloud
- Make Farcaster QR code more scannable
- Throw more accurate error when gas estimation fails
1.65.1
- Improve error UI for SMS login
- Add console warning for gas estimation failure
- Add console warning for message signing failures
1.65.0
New features
- Add
rabby_wallet
as awalletList
option
Visual improvements
- Improve error UI for embedded wallet transactions
- Fix Twitter and Github logos on dark mode
1.64.1
- Use Privy RPC endpoints for mainnet
- Remove dynamic import of CB wallet SDK, fixes issues around connection persisting across refresh and tabs
- Add scroll to login overflow screen when there are greater than 5 options
- Update
ready
fromuseWallets
to respect external wallet loading state
1.64.0
New features
- Add
instagram
to supportedloginMethods
- Add new Farcaster write interfaces to
useExperimentalFarcasterSigner
1.63.0
New features
- Add passkeys as an option for transaction MFA
- Improve customization of transaction modal via
successHeader
andsuccessDescription
Bug fixes
- Update
ready
fromuseWallets
hook to only correspond to embedded wallet loading state
Visual improvements
- Update transaction error UIs
1.62.0
- Add Google Drive as an embedded wallet recovery option
1.61.0
- Add linked account to callback of
useLinkAccount
anduseLogin
hooks - Update copy on set password screen to emphasize that loss of password and device will mean loss of the wallet
- Improve MFA enrollment loading state for TOTP
- Use Privy RPC endpoints for Berachain Artio
- Add
firstVerifiedAt
andlatestVerifiedAt
, deprecateverifiedAt
field on account objects - Add
config.appearance.landingHeader
prop to allow customization of login modal header text - Deprecate Redstone Holesky and add Redstone Mainnet + Garnet Holesky
1.60.7
- Read server config flags on
createWallet
- Improve OAuth provider errors
- Bump mipd dependency from
0.0.5
to0.0.7
1.60.6
- Avoid auto-closing login modal when access token is deleted from storage
- Update gas estimation to prioritize including the
from
address
1.60.5
- Fix SDK
authenticated
anduser
state when access token is cleared
1.60.4
- Minor internal improvements
1.60.3
- Add Polygon Amoy Privy RPC endpoints
- Improve request retry logic
1.60.2
- Fix edge case when signing in with multiple Coinbase wallets
- Fix bug preventing Passkey retries due to browser user intent requirements
- Visual adjustments for Passkey login and link
1.60.1
- Expose
status
of login flow fromuseLoginWithSms
hook - Fix issue with headless login where
link
was called whenlogin
should be
1.60.0
New features
- Add login with passkey (configurable via Dashboard)
Bug fixes
- Disable wallet link in CBW
- Don't show login modal when awaiting ready and already authenticated
- Remove extra redirect prompt during sign in with external wallets
- Add support for BSC and Sapphire transactions when using wagmi
Visual improvements
- Improve user limit reached sign-in error
- Fix focus outline on phone number and email inputs
1.59.9
- Add support for Berachain Artio
1.59.8
- Add IDs to modal content and backdrop
- Update gas estimation to support ERC20 contracts that require a
.from
parameter - Pin Coinbase Wallet SDK to
3.9.3
1.59.7
- Update storage location for OAuth and PKCE
1.59.6
- Ensure transaction
type
gets defaulted even if gas fees are manually set by developer - Disable
switchChain
prompt on wallet login ifsupportedChains
are set without adefaultChain
- Extend Polygon gas estimation logic to Amoy testnet
- Change copy on transaction status screen
- Show app name instead of "Privy" in Coinbase Wallet during connect flow
- [experimental] Support writes to farcaster via
useExperimentalFarcasterSigner
hook- Note this interface is experimental and may change in a future update
1.59.5
- Improve sign in with Farcaster redirect on iOS
- Fix "cannot dequeue event" console errors
1.59.4
- Improve consistency of 'Take me to Warpcast' button
- Fix bug where users are prompted to SIWE repeatedly after selecting a wallet login
- Fix bugs related to repeated clicks on OAuth login buttons
- Update OAuth query param removal to use replace instead of push
- Add support for Polygon Amoy testnet out of the box
- Dependencies: update jose from 4.14.6 to 4.15.5
1.59.3
- Fix cookie-based session restoration on new subdomain
- Update signTypedData handler to only default EIP712Domain type if not specified by caller
- Improve handling around embedded wallet creation errors
- Update RPC endpoints for some testnets
1.59.2
- Fix phantom installation screen: reload after confirming installation
- Fix
ready
fromuseWallets
when phantom is inwalletList
1.59.1
- Improve text padding on password inputs
- Improve gas limit estimation with retries
- Add
useLinkAccount
callback method - Fix bug where MFA methods are stale
1.59.0
New features
- Add new options to
appearance.walletList
:cryptocom
,uniswap
, andokx_wallet
- Expose
useFundWallet
to fund external wallets - Update gas estimation logic
Bug fixes
- Fix
ready
fromuseWallets
not getting set totrue
- Fix wallets array not updating after disconnecting Coinbase Wallet
- Update config to override
appearance.walletList
withloginMethodsAndOrder
if defined - Improve consistency of placeholder phone numbers
Build improvements
- Mark library as side effect free
- Update coinbase wallet SDK
- Reduce and improve console warnings on app startup
1.58.1
- Reduce and improve console warnings on app startup
- Fix
ready
fromuseWallets
not getting set totrue
- Expose
useFundWallet
to fund external wallets
1.58.0
- Add Spotify OAuth Integration
- Add
connectOrCreateWallet
- Add update email flow
- Error state styling improvements
- Improve session refresh logic
1.57.2
- Fix an issue causing OAuth logins to fail
1.57.1
- Minor improvements to SDK initialization
- Minor copy updates
- Improve dialog accessibility
1.57.0
- Add
signTypedData
and associated UIs - Add name to TikTok account interface
- Add documentation about Twitter Profile Picture image size
- Add
useSetWalletPassword
callback function - Improve error handling on createWallet
- Handle Twitter account suspended errors
1.56.2
- Ensure Twitter login is disabled by mobile on default due to issues with Twitter OAuth on mobile. You can override this setting in the Dashboard.
- Tree-shake friendly icon imports
- Deprecate
noPromptOnSignature
. You should now set this configuration in the Dashboard.
1.56.1
- Fix bug with password-based recovery in
exportWallet
method - Fix spacing on OAuth status screen
- Update check for whether a wallet is linked or not to handle exported embedded wallets
- Update WalletConnect to not specify required
chains
namespaces unless adefaultChain
is explicitly set - Update
ConnectedWallet
object with more WalletWithMetadata
1.56.0
New Features
- Add Twitter
profilePictureUrl
to user object. Existing users must login with Twitter again to have their profile picture fetched. - With Google OAuth, pre-emptively direct users out of in-app browsers as Google OAuth is blocked in in-app browsers. Read more.
Bugfixes
- Fix "Try again?" CTA on Farcaster error screen to take user back to QR code
- Check that wallet has sufficient funds to cover gas in addition to value for transactions
Improvements
- Dramatically improve initial modal load by optimizing wallet connector initializations
- Update docstring for
config.loginMethods
- Rename developer "console" to "dashboard"
1.55.2
- Remove copy link on farcaster loading screen
- Disable captcha challenge if the user is already authenticated
- Enable automatic wallet creation for Farcaster login
- Disable clicking outside to close Privy modal on unrecoverable screens
- Update captcha view styles
- Improve Sign in with Farcaster link opening
- Rename profile_picture to profile_picture_url
1.55.1
- Rename
farcaster_id
tofid
for consistency - Export Farcaster account on User object (
user.farcaster
) - Improve captcha challenge timing
1.55.0
- Add sign-in with Farcaster. Please use version 1.55.1 to consume the most updated interfaces.
- Add
privyWalletOverride
toChain
type for overriding RPC urls - Update
useWallets
to throw when used outside ofPrivyProvider
- Style updates to various SVG elements
1.54.3
- Add intermediary screen for CAPTCHA
- Improve wallet timeout error handling
1.54.2
- Fix issue with crypto utils compatibility
- Fix outline bug for status icons on dark mode
- Disable retries on 429s
1.54.1
- Use browser friendly crypto utils
- Improve error handling for social login buttons
1.54.0
- Fix issue with dialog z-index
- Fix OAuth connecting screen delay after redirect
- Fix issue with Coinbase Wallet not showing as a "detected wallet" when omitted from the
walletList
- OAuth authentication protocol upgrade
1.53.1
- Improve accessibility and compatibility of the Privy modal
- Update
defaultChain
andsupportedChains
types to handleviem
's updatedChain
type - Fix issue where Phantom wallet button would not always show
1.53.0
- Add captcha support for SIWE and OAuth logins
- Add default support for Base Sepolia, Optimism Sepolia, and Zora Sepolia and handle them as OP Stack chains
- Fix wallet images on mobile
- Improved handling when dialog is not supported (more coming in subsequent release)
- Set privy-session client cookie when not using server cookies
1.52.6
- Ensure MFA only happens once for key export
- Fix visual bug with key export triggered with MFA
1.52.5
- Add ready interface to useWallets
- Add
onAccessTokenGranted
andonAccessTokenRemoved
callbacks for access tokens
1.52.4
- Minor bugfixes
1.52.3
- Fixes issue where Safari autofill would sometimes appear over invisible inputs
- Add helper function
errorIndicatesMfaCanceled
to determine if a wallet error was due to MFA cancellation
1.52.2
- Ensure BSC transactions are marked as
type: 0
since BSC is not EIP-1159-compatible - Fix handling of unsupported region errors for SMS login and MFA
- Add a
console.warn
message when opening MFA modal in headless mode - Fix visual issue with scrollbars on export wallet button
1.52.1
- Ensure connections stored in memory are synchronized with local storage
- Error immediately if an unauthenticated user calls a
link-
method, instead of after the linking user flow - When connecting to MetaMask mobile via WalletConnect, remove request to switch chain to the app's
defaultChain
due to MetaMask's flaky handling ofwallet_switchEthereumChain
RPC - Improve default estimation of
maxPriorityFeePerGas
for OP Stack chains
1.52.0
New Features
- Add support for MFA on Embedded Wallet transactions
- Add walletList configuration to PrivyProvider
Bugfixes
- Fix typo on Moonpay on-ramp screen
- Fix disabled state for insufficient funds on send transaction screen
- Improve image loading on send transaction screen
UI Changes
- Update embedded wallet export screen UI
1.51.1
- Fix MetaMask in cases where it is not EIP-6963 injected
- Improve WalletConnect integration
- Expose modal visibility state via
useModalStatus
1.51.0
New Features
- Add support for wallets injected via EIP-6963
- Add support for wallets injected via legacy
window.etherum
as "Browser Extension" - Add rainbow as a default supported wallet
Bugfixes
- Fix broken scroll within WalletConnect modal
- Improve Arbitrum gas estimation.
- Better focus state for email and phone number inputs
- Social login buttons no longer disabled after going back on browser
- Modal interactions no longer blocked when opening on top of Radix UI modal
UI Changes
- Update SMS country code selector for better consistency
- Update icons for continue with email/sms on landing screen
1.50.1
- Fix issue where transaction prompt can unexpectedly load twice
- Handle WalletConnect re-pairing attempts better
1.50.0
- Login onComplete callback includes login method
- Fix Zerion wallet
- Fix OAuth linking init URL when cookies are enabled
- Remove default border from login modal
- Fix infinite loader on login screen bug
- Update copy for email and sms login
- Remove letter support in PIN screens
- Country code selector for phone numbers
1.49.2
- Add explicit support for Rainbow browser extension wallet
- Add out-of-the-box support for Holesky (L1) and Holesky Redstone (L2)
- Add warnings for unsupported/not recommended login configurations in
loginMethods
- Improve deeplinking with MetaMask app on mobile web
- Fix
console.warn
ings related to WalletConnect - Fix issue around displayed gas estimates for OP Stack chains
- Bump
@coinbase/wallet-sdk
dependency
UI Changes
- Fix issue with
showWalletLoginFirst
login configuration being ignored - Fix icons and fonts on mobile login screen
- Display email/social buttons on landing screen if only one email/social option
- Underline "Follow this guide" link on the
exportWallet
screen
1.49.0
- Design improvements on login modal
- Enable additional configurations for
loginMethods
:- Email and SMS at the same time
- Social only
- Greater than 5 social login options
- Update OP stack gas estimates and fix gas used calculation
- Fix error message on
signMessage
screen
UI Changes
- New Modal UI, try it out on our live demo
1.48.0
- Add support for unenrolling MFA methods
- Support Arbitrum Sepolia testnet out of the box
- Upgrade from the legacy UIs to use
@walletconnect/modal
- Fix infinite polling on key export
- Fix issue where
ready
was not properly set on return from OAuth redirects
1.47.2
- Add cancel helper to the
useMfa
hook
1.47.1
- Extend captcha timeout
1.47.0
- Add TOTP support for MFA
- Ensure developer-set gasLimit is always respected
UI Changes
- Remove create external wallet prompt from home screen
- Pull WalletConnect image from peer
- Changed twitter logo to X logo
1.46.1
- Ensure correct RPC URLs are used
- Fix bug with logout retries
- Fix bug around unrecognized parameters in transactions populated by third-party SDKs
1.46.0
- Add support for Base and BNB with fiat onramp
1.45.3
- Fix email and phone input placeholder color
- Remove email and phone connect input tip
- Add MFA retry logic
- Fix transaction receipt button margin
- Add out-of-the-box support for Zora and Zora Goerli Testnet
- Fix modal close firing multiple times
- Add config to enable/disable whether USD prices are shown in the embedded wallet transaction modal
1.45.2
- Add password masking controls to embedded wallet password flows
1.45.1
- Show error message for automatic wallet creation
- Embedded wallet password confirmation type to "password"
1.45.0
- Add config for resolving tx after submission
- Ensure wallet proxy is explicitly loaded in signature request modal
1.44.0
- Enable SMS-based transaction MFA enrollment and verification
- Fix bug around prompting external wallets to switch chain on connection
- Ensure correct chain ID is used during SIWE
1.43.4
- Enable configuration of RPC timeout duration for specific wallets
1.43.3
- Allow SDK to send transactions even if USD prices cannot be fetched
- Handle Rainbow Wallet browser extension's hijacking of the MetaMask injected provider
- Handle numeric
eth_chainId
responses from WalletConnect wallets - Fix precision of Polygon and Polygon Mumbai gas fees to avoid underflow errors
- Fix bug around casting
chainId
from ethers tonumber
- Fix embedded wallet creation after OAuth by waiting for iframe to load
- Deprecate
WalletWithMetadata.chainId
in favor ofBaseConnectedWallet.chainId
1.43.2
- Use new set password flow when setting a password during wallet creation
- Improve error message when wallet attempts to take action on an unsupported chain
1.43.1
- Update contents of "Download Password" file
- Improve UX of set password flow
1.43.0
- Improve user flow for setting a password on the embedded wallet
- Add network configuration via
supportedChains
anddefaultChain
1.42.0
- Extend support for social logins
1.41.0
- Add LinkedIn OAuth to Social Logins
- Fix chain-specific block explorer links for the embedded wallet transaction details screen
1.40.5
- Fix
signMessage
to support multiple calls in sequence
1.40.4
- Add button roles to login sections for screen reader visibility
1.40.3
- Fix password strength value not updating on generate
1.40.2
- Small design adjustments
1.40.1
- Copy changes in wallet password and recovery flows
- Do not generate initial value for wallet password form
1.40.0
- Upgrade wallet recovery from short passcodes to support full passwords
- Prevent closing embedded wallet password flow until password has been saved and confirmed
- Bump @walletconnect/ethereum-provider version to 2.10.1
1.39.0
- Support setting a password on an existing wallet using
setWalletPassword
1.38.0
- Add callbacks for
createWallet
- Allow Twitter login on mobile, despite unresolved Twitter OAuth bug
- Ensure
signMessage
andsendTransaction
throw appropriate errors when user declines request - Ensure Coinbase Wallet receives
wallet_addEthereumChain
RPC when necessary - Fix status of
ready
upon returning from OAuth redirect - Fix recovery for cookie-only sessions
- Tweak documentation exports
1.37.1
- Update handling of
fundWalletConfig
parameter insendTransaction
1.37.0
- Add support for configuring the SDK with additional chains from
@wagmi/chains
1.36.1
- Improve wallet address formatting on key export screen
- Improve logo spacing on
connectWallet
modal - Update fiat on-ramp copy
- When using Coinbase Wallet on mobile, pass user back and forth between browser and wallet apps instead of using the wallet's in-app browser
1.36.0
- Add support for MoonPay Fiat On-Ramp plugin
- Move towards using static JSON-RPC providers
1.35.1
- Fix behavior of
onClose
callback for transaction screen if user clicks outside the modal - Fix issue with
switchChain
caching the wallet's original chain on page load - Handle Zerion Wallet's hijacking of the MetaMask injected provider
1.35.0
- Add support for using embedded wallets with a custom auth provider
- Add a shim for
eth_requestAccounts
RPC for the embedded wallet
1.34.1
- Fix broken link on "What is a wallet?"
- Add optional support for turnstile CAPTCHA
- Make all fields in
ContractUIOptions
config optional - Persist the embedded wallet's chain ID across browser sessions
1.34.0
- Add support for Linea
- Improve styling for Safari PWAs
- Improve messaging for embedded wallet insufficient funds
- Improve styling on when loading on mobile
- Fix issue with gas estimation
1.33.1
- Improve price display for transactions
- Improve handling of zero-value transactions
1.33.0
- Add
wallet.switchChain
, which works across external and embedded wallets - Update Phantom logo
- Improve error handling when attempting to
login
when alreadyauthenticated
- Add support for Celo and Avalanche
1.32.1
- Further improvements to sendTransaction UI customization
1.32.0
- Add Base support
1.31.0
- Update OAuth allowlist rejection handling
- Improved handshake between Privy SDK and iframe
- Removed iframe message target specification
- Improved interfaces for transaction UI Customizations
- Tightened login modal design
1.30.4
- Fix sizing of connect wallet modal when no logo is set
- Update "Learn more about wallets" hyperlink
1.30.3
- Fix issue with app logo vertical spacing
- Add Sepolia support
1.30.2
- Resolve issue connecting to the embedded wallet when using cookies
- Launch the wallet recovery flow when requesting actions through the embedded EIP-1193 provider
1.30.1
- Add loading state during embedded wallet creation
- Narrow iframe messaging target
- Fix race condition when fetching the nonce for SIWE
- Fix issue where an embedded wallet would be created on login but the UI would hang
- Fix an issue where
walletProvider
was sometimes undefined when checking if connected
1.30.0
- Add a short delay before signing with MetaMask with WalletConnect to bypass issues with chain switching (awaiting upstream resolution)
- Support signing UInt8Array messages
- Fix inconsistent modal sizing bugs
- Fix issue with wallet recovery flow for non-pinless wallets during headless message signing
- Add headless sendTransaction
- Remove AbortSignal.timeout (not supported in iOS < 16)
- Add embedded wallet support for eth_signTypedData_v4
1.29.0
- Reduce SDK log chattiness
- Fix authenticated connect-only screen
- Resolve issues with duplicate create embedded wallet calls
- Fail fast when trying to link accounts for which there can only be one (sms, email, socials)
- Fix issue with MetaMask wallet address not matching
- Increase default request timeout
- Increase default request retries
- Fix an issue with wallet
loginOrLink
- Fix sendTransaction modal issue with non-Ethereum chains
1.28.4
- Update WalletConnect dependencies to fix reliability issues
1.28.3
- Fix bug where signature requests would hang indefinitely on React 17
- Updates WalletConnect providers to support more JSON RPC methods
- Remove dependency on crypto.randomUUID()
1.28.2
- Fix
useWallets
hook to properly listen to user-triggered disconnects from MetaMask - Updates WalletConnect to support Privy's supported networks
- Updates WalletConnect to clear sessions faster on
logout
calls - Updates the z-index of Privy modals to be arbitrarily high so that it is not hidden by any app UIs
1.28.1
- Fix an issue where not depending on
@walletconnect/modal
would require build failures in certain build environments - Load only WalletConnect v2-compatible wallets in the mobile modal. This also resolves paging overflow on mobile
1.28.0
- Migrate WalletConnect from v1.0 to v2.0. Learn more
- Add support for Celo (mainnet and Alfajores testnet), FVM (mainnet and Calibration testnet), and Base (Goerli testnet)
- Fix local development issue where React strict-mode duplicates calls to create embedded wallets
- Fix UI issues related to embedded wallet gas estimation
- Store wallet client information (MetaMask, Coinbase Wallet, Rainbow, etc.) used when connecting Ethereum accounts
1.27.0
- Add support for embedded wallet creation without requiring the user to set a PIN/passcode
- Set client-side cookies alongside our localStorage tokens for local development/testing purposes
- Update
wallet_switchEthereumChain
to match standardized params - Fix issue with linking/login from the
wallets
array - Fix issue where cookies weren't being properly set
1.26.2
- Switch from
axios
toofetch
- Fix some issues with gas estimation
- Fix issue where the
wallets
array wasn't getting properly updated
1.26.1
- Fixes related to connect-only support
wallets
interface improvements- Resolved an issue causing performance problems for pages with the
PrivyProvider
loaded
1.26.0
- Connect-only support
- New
wallets
array interface - Deprecate
setActiveWallet
,getEthereumProvider
,getEthersProvider
,getWeb3jsProvider
in favor ofwallets
array methods - Fix WalletConnect chain switching
1.25.1
- Decrease package size
- Fix issue where signMessage contents did not respect newlines
- Help circumvent issue with Phantom not supporting certain chains
- Fix an issue with internal modal rendering
1.25.0
- Improved recovery when sending a transaction to the EIP1193 provider
- Improved visuals on low dollar amounts in embedded wallet transactions
- Internal rendering mechanism improvements
1.24.0
- EIP-1193 provider for embedded wallets
- Preliminary cookie support
1.23.2
- Fix
ethereum
object checking - Properly clear query params during session transfer to in-app browsers (resolves an issue where a refresh of the page would show the signing modal again)
- Fix an issue with client-side config checking for apps with only wallet login
1.23.1
- Fix an issue where attempting to sign in with smart contract wallets would show an incorrect error
- Improve error handling related to Phantom extension
window.ethereum
hijacking - Improved client-side login config error handling and warnings
1.23.0
- Add support for client-side configuration of modal ordering, ToS & Privacy Policy, supported login methods
- Support setting logo using img and svg elements
- Fix an issue where no logo caused an odd visual layout
- Rename PIN to passcode for embedded wallets
- Add support for submitting transactions using embedded wallets
1.22.0
- Enable support for Phantom wallet
- Add sign-in with Apple
- Allow override of API URL
1.21.0
- Update styling of app logo
- Improve MetaMask UX around setting active wallet when all wallets are disconnected
- Include ToS & Privacy Policy on modal in mobile
1.20.3
- Remove layout shifts from embedded wallet iframe
- Allow user to escape modal on clicking out or hitting ESC
1.20.2
- Improve embedded wallet recovery UIs
1.20.1
- Improve embedded wallet UIs
1.20.0
- Enable embedded wallet private key export
- Fix Metamask getting stuck in app store during deep linking
1.19.0
- Add support for dark mode, client-side logo config, and advanced theming configuration
- Improved mobile Coinbase Wallet experience. If already logged in to the mobile browser, this session will be transferred to the Coinbase Wallet in-app browser
- Fix issues with blank tabs appearing on some browsers (ie Firefox)
1.18.0
- Improved mobile wallet connection flow
- Switch to using WalletConnect for MetaMask on mobile
- Better WalletConnect connection management
- Split wallet connection and sign on mobile to reduce issues getting stuck in App Store
- Embedded wallet recovery
- Fix issues when unlinking with multiple wallets
- Improve active wallet management
- Add hover states to all buttons and clean up app color usage
1.17.0
- Add option for automatic embedded wallet create flow after login
- Fix issue with signing using WalletConnect after page is refreshed
1.16.1
- Disable background scrolling when the modal is open
- Fix
user.wallet
not getting set for embedded wallets if there is external wallet data in localStorage - Improve PIN entry for embedded wallets on mobile
- Fix excessive WalletConnect loading that was hitting Infura a ton
1.16.0
- Release embedded wallets!
- Fix issue with long emails overflowing the modal
- Fix height on wallet connection status screen to avoid reflows
1.15.0
- Improved multi-wallet linking
- Disable passwordless code autofill on non-mobile
- Improved home screen when there's only one authentication option