Skip to content

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 to 2.2.0
  • Update js-sdk-core to 0.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 to 0.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 to 0.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 to 0.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 or BaseSolanaConnectedWallet
  • Downgrade console warning to debug for eth_accounts
  • Update js-sdk-core to 0.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 to 0.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 like signMessage 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 and updateEmail through the useUpdateAccount hook
  • Update js-sdk-core to 0.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 to 0.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 correct coinbase_wallet instead of coinbase
  • Add detected_ethereum_wallets and detected_solana_wallets as supported WalletListEntry values
  • Update js-sdk-core dependency to 0.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 to v6.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 for SmartWalletsProvider that allows for paymasterContext to be set
  • Fix display of decimal token values on transaction screens
  • Solana annotations for docs
  • Update js-sdk-core dependency to 0.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 to login 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 to useCrossAppAccounts 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 native signMessage, signTypedData, and sendTransaction methods
  • Add support for configuring the walletList to display in Privy's connection prompt directly in connectWallet
  • Fix loading to correctly be false for error states on headless OAuth login
  • Update js-sdk-core dependency to 0.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 and onError 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 and onError callbacks for third-party auth login
  • Pin @walletconnect/ethereum-provider to 2.15.1 or higher to avoid breaking change introduced in 2.15.0
  • Send Telegram start_param in authenticate request payload
  • Update js-sdk-core dependency to 0.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 for useFundWallet 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 for appearance.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 from useFundWallet 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 to onOAuthTokenGrant callback handler
  • Add linkMethod details to onError callback for useLinkAccount
  • 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 to LinkedInOAuthWithMetadata interface
  • Improve errors for transacting against a read-only provider app
  • Remove WalletConnect fallback when externalWallets.walletConnect.enabled is set to false
  • 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 to useCrossAppAccounts 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 to connectWallet and linkWallet
  • Minor build improvements

1.71.0

  • Add cross-app account linking and wallet requests via useCrossAppAccounts hook
  • add iconUrl option to signMessage and signTypedMessage
  • 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 parse useWallets 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 to 2.13.1, fixes Error: 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's onSuccess/onError callbacks whenever a wallet is connected, including during login with SIWE
  • Add mfaMethods to useMfa 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 a walletList 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 from useWallets to respect external wallet loading state

1.64.0

New features

  • Add instagram to supported loginMethods
  • 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 and successDescription

Bug fixes

  • Update ready from useWallets 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 and useLogin 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 and latestVerifiedAt, deprecate verifiedAt 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 to 0.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 and user 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 from useLoginWithSms hook
  • Fix issue with headless login where link was called when login 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 if supportedChains are set without a defaultChain
  • 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 from useWallets when phantom is in walletList

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, and okx_wallet
  • Expose useFundWallet to fund external wallets
  • Update gas estimation logic

Bug fixes

  • Fix ready from useWallets not getting set to true
  • Fix wallets array not updating after disconnecting Coinbase Wallet
  • Update config to override appearance.walletList with loginMethodsAndOrder 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 from useWallets not getting set to true
  • 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 a defaultChain 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 to fid 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 to Chain type for overriding RPC urls
  • Update useWallets to throw when used outside of PrivyProvider
  • 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 and supportedChains types to handle viem's updated Chain 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 and onAccessTokenRemoved 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 of wallet_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.warnings 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

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 to number
  • Fix embedded wallet creation after OAuth by waiting for iframe to load
  • Deprecate WalletWithMetadata.chainId in favor of BaseConnectedWallet.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 and defaultChain

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 and sendTransaction 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 in sendTransaction

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 already authenticated
  • 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 to ofetch
  • 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 of wallets 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