Skip to main content
The release notes for @privy-io/js-sdk-core.
The Privy JS Core SDK is a low-level library and not intended for general consumption. Please do not attempt to use this library without first reaching out to the Privy team to discuss your project and which Privy SDK options may be better suited to it.

Fixed

  • Fixed embedded wallet transactions failing with “intrinsic gas too low” on OP-Stack chains due to the gas limit being dropped during signing.
  • Fixed embedded wallet connect timeout on iOS after backgrounding.

Dependencies

  • Update internal dependencies.

Fixed

  • Fixed embedded wallet reconnection after iOS terminates the WKWebView content process.

Dependencies

  • Update viem to 2.55.5.

Dependencies

  • Update internal dependencies.

Added

  • Added optimisticBroadcast and skipSimulation options to Solana signAndSendTransaction.

Fixed

  • Fixed multi-user session backfill storing user IDs without the did:privy: prefix.

Dependencies

  • Update internal dependencies.

Added

  • Added multi-user session switching APIs.
  • Added Metis Andromeda mainnet to default supported chains.

Fixed

  • Fixed transaction value serialization accepting decimal strings as UTF-8.
  • Normalize legacy token subjects before backfilling multi-user session storage.

Improvements

  • Update session persistence model.

Added

  • Added EIP-7702 type 4 transaction support for embedded wallets, enabling eth_signTransaction and eth_sendTransaction with authorizationList.

Fixed

  • Fixed wallet connection failures for locked wallets.

Added

  • Added support for Solana off-chain message generation and signing.

Fixed

  • Fixed unlinkPasskey hanging after MFA completion due to missing event case in EventCallbacksQueue.dequeue.

Improvements

  • Allow viem accounts returned by toViemAccount to compose with viem Tempo wallet clients.

Added

  • Added useUnlinkPasskey hook for per-passkey deletion by credential ID.

Fixed

  • Fixed embedded wallet RPC requests failing with request_expired when iOS app is backgrounded during signing.

Added

  • Added deposit address types for config, quotes, orders, and polling results.

Dependencies

  • Update viem to 2.52.0.
  • Update @privy-io/routes to 0.2.3.
  • Update @privy-io/ethereum to 0.1.4.

Dependencies

  • Update viem from v2.50.4 to v2.51.2.

Fixed

  • Fixed SMS/TOTP MFA enrollment timing out instead of throwing on incorrect codes due to unintended retry loop.

Improvements

  • Refresh MFA state without having to re-authenticate.

Dependencies

  • Update viem from v2.48.11 to v2.50.4.

Improvements

  • Internal dependency updates.

Added

  • Added support for Tempo (type 118) transactions.

Dependencies

  • Update viem from v2.47.12 to v2.48.11.
  • Update @privy-io/ethereum to 0.1.1.

Added

  • Added optional intent_id field to GenerateAuthorizationSignatureInput to support new intent authorization signing format.

Added

  • Added Tempo (type 118) transaction support to EmbeddedWalletProvider.

Added

  • Add support for the Biconomy Nexus smart account client.

Improvements

  • Replace the uuid library with the native crypto.randomUUID implementation.

Dependencies

  • Update @privy-io/api-types to 0.10.0.
  • Update @privy-io/routes to 0.0.13.

Improvements

  • Fixed wallet creation on login failing on Hermes 1 due to minified await+spread in ternary expressions.

Dependencies

  • Update viem to v2.47.12.

Added

  • generateAuthorizationSignature can now sign over a Uint8Array.

Dependencies

  • Update @privy-io/api-types to 0.9.0.
  • Update @privy-io/routes to 0.0.11.

Dependencies

  • Update @privy-io/api-base to 1.8.3.
  • Update @privy-io/ethereum to 0.0.10.
  • Update @privy-io/chains to 0.1.4.
  • Update @privy-io/routes to 0.0.10.

Fixed

  • Fixed minor bug with returning guest login flow.

Improvements

  • Add internal idempotency key when manually creating wallets when createAdditional is false.

Dependencies

  • Update @privy-io/chains to 0.1.3.

Added

  • Added support for privy-request-expiry header.

Dependencies

  • Update viem to v2.47.4.
  • Update @privy-io/api-types to 0.7.0.
  • Update @privy-io/ethereum to 0.0.9.
  • Update @privy-io/routes to 0.0.9.

Improvements

  • Improve handling of stale token in getAccessToken.

Dependencies

  • Update @privy-io/routes to 0.0.8

Improvements

  • Add custom logger interface to replace the default console-based logger

Improvements

  • Designate signWithUserSigner as experimental

Dependencies

  • Update @privy-io/chains to 0.1.2

Added

  • Add Monad funding support

Improvements

  • Add custom JWT linking to js-sdk-core

Dependencies

  • Update @privy-io/api-base to 1.8.2

Improvements

  • Add ability to pass idempotency keys on wallet creation

Dependencies

  • Update viem to 2.44.2
  • Update @privy-io/api-types to 0.4.0
  • Update @privy-io/ethereum to 0.0.7
  • Update @privy-io/routes to 0.0.6

Bug Fixes

  • Fix issue where ID token was not set correctly after wallet auto-creation

Dependencies

  • Update @privy-io/api-base to 1.8.1
  • Update @privy-io/ethereum to 0.0.6
  • Update @privy-io/chains to 0.0.6
  • Update @privy-io/routes to 0.0.5
  • Update @privy-io/popup to 0.0.2
  • Update @privy-io/urls to 0.0.3

Bug Fixes

  • Fix stale identity tokens after any account action

Dependencies

  • Update @privy-io/api-base to 1.8.0

Dependencies

  • Upgrade viem to 2.43.1
  • Update @privy-io/ethereum to 0.0.5

Dependencies

  • Update viem to 2.42.1

Dependencies

  • Update @privy-io/api-base to 1.7.3

Improvements

  • Improve handling when passing non-Privy messages to the client message handler

Dependencies

  • Update @privy-io/routes to 0.0.4
  • Update @privy-io/api-base to 1.7.2

Dependencies

  • Update @privy-io/routes to 0.0.3

Dependencies

  • Update @privy-io/ethereum to 0.0.3

Improvements

  • Fix issues with cached MFA state after logout
  • Update transaction preparation request

Dependencies

  • Update @privy-io/routes to 0.0.2

Added

  • Improve the API typing to match cross-platform specs

Dependencies

  • Update @privy-io/public-api to 2.53.0

Improvements

  • Remove comment about ordering of RPC selection

Dependencies

  • Update @privy-io/chains to 0.0.4
  • Update @privy-io/public-api to 2.52.0

Improvements

  • Update @privy-io/public-api to 2.51.0

Bug Fixes

  • Rename bitkeep to bitget_wallet for wallet list

Dependencies

  • Update @privy-io/public-api to 2.50.0
  • Update @privy-io/chains to 0.0.3

Improvements

  • Add Twitch as a login method

Dependencies

  • Update @privy-io/public-api to 2.49.0

Improvements

  • Support USDC on Avalanche in funding flows

Dependencies

  • Update @privy-io/public-api to 2.48.0

Bug Fixes

  • Fix bigint serialization error when signing transactions with viem

Dependencies

  • Update @privy-io/public-api to 2.47.0

Dependencies

  • Update @privy-io/public-api to 2.46.0
  • Update @privy-io/api-base to 1.7.1
  • Removed ethers dependency, some RPCs are now handled by viem PublicClient.

Dependencies

  • Update @privy-io/public-api to 2.45.2

Improvements

  • Update the POL token codes for Moonpay onramping

Dependencies

  • Update @privy-io/public-api to 2.45.1

Bug Fixes

  • Initialize smartWalletVersion in link_smart_wallet call

Dependencies

  • Update @privy-io/public-api to 2.45.0
  • Update @privy-io/api-base to 1.7.0

Dependencies

  • Update @privy-io/public-api to 2.44.2

Improvements

  • Add Arbitrum to list of supported chains for Coinbase USDC funding

Dependencies

  • Update @privy-io/public-api to 2.44.1

Improvements

  • Add ConnectedStandardSolanaWallet to js-sdk-core
  • Update @privy-io/api-base to 1.6.1
  • Update @privy-io/public-api to 2.44.0

Improvements

  • Update @privy-io/public-api to 2.43.1

Improvements

  • Update @privy-io/public-api to 2.43.0

Improvements

  • Update @privy-io/public-api to 2.42.0

Improvements

  • Update @privy-io/public-api to 2.41.0

Improvements

  • Support Coinbase smart wallet v1.1
  • Add version to smart wallet accounts
  • Update @privy-io/public-api to 2.40.1

Improvements

  • Internal dependency updates.

Improvements

  • Update @privy-io/public-api to 2.40.0

Improvements

  • Update @privy-io/public-api to 2.39.2

Improvements

  • Update @privy-io/public-api to 2.39.1

Improvements

  • Update @privy-io/public-api to 2.39.0

Improvements

  • Update @privy-io/public-api to 2.38.0

Improvements

  • Update addSessionSigner error message
  • Update @privy-io/public-api to 2.37.1

Improvements

  • Internal dependency updates.

Improvements

  • Update @privy-io/public-api to 2.37.0

Improvements

  • Internal dependency updates.
  • Update @privy-io/public-api to 2.36.0

Improvements

  • Add isEmbeddedWalletAccount util on linked accounts
  • Add the embedded_wallet_before_logged_in error code
  • Update @privy-io/public-api to 2.35.0
  • Update permissionless to ^0.2.47

Improvements

  • Update @privy-io/public-api to 2.34.1

Improvements

  • Add support for signing raw hashes on Tier 2 chains
  • Update kernel metafactory usage to be optional
  • Update @privy-io/public-api to 2.34.0

Improvements

  • Update dependencies for viem and others
  • Update @privy-io/public-api to 2.33.2

Improvements

  • Update @privy-io/public-api to 2.33.1

Improvements

  • Improve error messages
  • Update @privy-io/public-api to 2.33.0

Improvements

  • Update @privy-io/public-api to 2.32.0

Improvements

  • Update @privy-io/public-api to 2.31.0

Improvements

  • Update @privy-io/public-api to 2.30.0

Improvements

  • Update @privy-io/public-api to 2.29.0

Improvements

  • Add endPartnerName to Coinbase OnRamp URL
  • Update @privy-io/public-api to 2.28.0

Improvements

  • Update @privy-io/public-api to 2.27.0

Improvements

  • Improve wallet creation error messaging
  • Update public-api to 2.26.0

Improvements

  • Update custom jwt authenticate schema
  • Fix callback-based recovery for SOL wallets
  • Update public-api to 2.25.0
  • Update api-base to 1.5.1

Improvements

  • Add signer interfaces
  • Update public-api to 2.24.1

Improvements

  • Add a type guard for unified wallets
  • Update public-api to 2.24.0

Improvements

  • Improves internal logging

Improvements

  • Improves error messages on user-owned recovery timeout
  • Reduce instances of proxy not initialized errors related to reload
  • Update public-api to 2.23.0

Improvements

  • Add Solana USDC onramp
  • Update public-api to 2.22.0

Improvements

  • Update public-api to 2.21.2

Improvements

  • Update public-api to 2.21.1

Improvements

  • Update public-api to 2.21.0

Improvements

  • Add support for getting entropy for an imported wallet
  • Update public-api to 2.20.5

Bug Fixes

  • Fix Solana wallet recovery on transaction signatures

Improvements

  • Fix signature of internal non-async function
  • Update public-api to 2.20.4

Improvements

  • Update public-api to 2.20.3
  • Internal dependency updates.

Improvements

  • Consolidate chain definitions across Privy JavaScript SDKs
  • Update public-api to 2.20.2
  • Update chains to 0.0.1

Improvements

  • Add reload to embedded wallet interface
  • Improve gas estimation logic for ZeroDev bundlers
  • Update public-api to 2.20.1
Breaking Changes

Improvements

  • Improve error message when token storage fails
  • Upgrade fetch-retry to v6, improve exponential backoff for failed requests
  • Dedupe supportedChains and use Privy RPC URLs unless an override is specified.
  • Update link and unlink methods to return {user, identity_token} instead of user:
    • EmailApi.linkWithCode, EmailApi.updateEmail, EmailApi.unlink, FarcasterApi.link, FarcasterApi.unlink, OAuthApi.linkWithCode, OAuthApi.unlink, PasskeyApi.linkWithPasskey, PhoneApi.linkWithCode, PhoneApi.updatePhone, PhoneApi.unlink, SiweApi.unlinkWallet, SiweApi.linkWithSiwe, SiwsApi.unlink, SiwsApi.link, SmartWalletApi.link
  • Update public-api to 2.20.0

Improvements

  • Update public-api to 2.19.1

Improvements

  • Add support for updating the email address and phone number on a user
  • Improve debug logs for token refresh

Bug Fixes

  • Fix issue where certain client-set cookies weren’t cleared on logout
  • Remove session forking logic

Improvements

  • Update public-api to 2.18.10
  • Update api-base to 1.4.4

Improvements

  • Update public-api to 2.18.9

Improvements

  • Update public-api to 2.18.8

Improvements

  • Add sign in with Solana (SIWS)

Improvements

  • Adds support for accepting the Terms of Service and Privacy Policy set by the app

Improvements

  • Add support for HD ethereum wallets
  • Improve debug logging
  • Update public-api to 2.18.6

Improvements

  • Add support for ThirdWeb smart accounts

Improvements

  • Internal improvements

Improvements

  • Update public-api to 2.18.4

Improvements

  • Internal improvements
  • Update public-api to 2.18.3
  • Update api-base to 1.4.3

Improvements

  • Adds removeForLogin option for Passkey MFA unenrollment
  • Update public-api to 2.18.2

Improvements

  • Adds support for cross-app signatures and transactions
  • Fix typo in createOnLogin value users-without-wallets to match docs
  • Update public-api to 2.18.0

Improvements

  • Add signAndSendTransaction and signTransaction requests to Solana provider

Improvements

  • Add support for automatic embedded wallet creation on EVM and Solana
  • Update public-api to 2.17.0
Breaking Changes

Other changes

  • client.embeddedWallet.create: Update to take an object input with named arguments, remove provider from the response
  • client.embeddedWallet.createSolana: Update to take an object input with named arguments, remove provider from the response
  • Remove deprecated methods from client.embeddedWallet: setPassword, createAdditionalSolana, getMessageHandler
  • hasEmbeddedWallet and isPasswordRequired have been removed as well, these values can be derived from the user object directly

Improvements

  • Adds support for login and linking against a cross-app account provider
  • Update public-api to 2.16.0

Improvements

  • Update public-api to 2.15.11

Improvements

  • Update public-api to 2.15.10

Improvements

  • Add support for signing up with passkey
  • Update public-api to 2.15.9

Improvements

  • Build improvements

Improvements

  • Adds support for delegated actions
  • Remove race condition for storage access check
  • Update public-api to 2.15.8

Improvements

  • Update public-api to 2.15.7

Improvements

  • Update public-api to 2.15.6

Improvements

  • Update public-api to 2.15.5

Improvements

  • Exports types required for the populate transaction API
  • Update public-api to 2.15.4

Improvements

  • Internal improvements
  • Update public-api to 2.15.3

Improvements

  • Update nativeAppIdentifier to not rely on document being set

Bug Fixes

  • Fix coinbase bundler/paymaster gas estimation issues

Improvements

  • Add support for funding experiences

Bug Fixes

  • Fix undefined is not a function error on login when Promise.allSettled is not available

Improvements

  • Internal improvements

Improvements

  • Add support for user-managed recovery (password and cloud) for Solana embedded wallets
  • Add support for native account abstraction (smart wallets)

Improvements

  • Internal improvements
  • Update public-api to 2.13.0

Improvements

  • Add support for Bitcoin embedded wallets

Improvements

  • Add support for signing replayable user operations for the Coinbase smart wallet
  • Internal dependency updates.
  • Update public-api to 2.12.1

Improvements

  • Update public-api dependency to 2.12.0

Improvements

  • Update public-api dependency to 2.11.6

Improvements

  • Update public-api dependency to 2.11.5
Breaking Changes

Other changes

  • Deprecate getUserEmbeddedWallet in favor of getUserEmbeddedEthereumWallet

Improvements

  • Update public-api dependency to 2.11.4

Improvements

  • Add support for wallet MFA
  • Export EIP1193Provider type
  • Improve error handling around when storage access fails

Improvements

  • Improve observability of Solana RPC requests

Improvements

  • Update internal dependencies
Breaking Changes

Other changes

  • Update Privy.embeddedWallet.createSolana to return the updated user object as well as the provider

Improvements

  • Add support for HD Solana embedded wallets

Improvements

  • Add client-side error for when native app ID cannot be determined

Improvements

  • Update public-api dependency to 2.10.5

Improvements

  • Allow an Ethereum embedded wallet to be created for a user with a Solana embedded wallet

Improvements

  • Update public-api dependency to 2.10.4

Improvements

  • Trigger OAuth token granted callbacks on OAuth linking
  • Update public-api dependency to 2.10.3

Improvements

  • Update public-api dependency to 2.10.2

Improvements

  • Update public-api dependency to 2.10.1

Improvements

  • Update build output and package exports
  • Update public-api dependency to 2.9.6

Improvements

  • Add support for creating guest accounts

Improvements

  • Add support for a 'no-signup' mode in authentication flows

Improvements

  • Add support for unlinking wallets

Improvements

  • Updated dependencies

Improvements

  • Updated dependencies

Bug Fixes

  • Fix chain definition for Base

Improvements

  • Updated dependencies

Bug Fixes

  • Fix transaction preparation bug where specifying value in a transaction with insufficient funds will throw

Improvements

  • Update chain ID during wallet login to always be a valid number
  • Add Solana mainnet chain ID to Solana embedded wallet in user.linkedAccounts

Bug Fixes

  • Ignore gasPrice during transaction preparation on EIP-1559 chains where that parameter is not supported (OP Stack, Polygon)

Improvements

  • Add new interface for handling messages from the embedded wallet, deprecates client.embeddedWallet.getMessageHandler in favor of client.embeddedWallet.onMessage

Improvements

  • Support native iCloud recovery when possible

Improvements

  • Add support for identity tokens and expose getIdentityToken

Improvements

  • Update public-api dependency to 2.8.1

Improvements

  • Update public-api dependency

Improvements

  • Improve error message from wallet RPC failures

Improvements

  • Increase duration before recovery timeout
  • Update public-api dependency
Breaking Changes

Implement

  • Update Privy.embeddedWallet.setRecovery to return the updated user object as well as the provider

Improvements

  • Update public-api dependency

Improvements

  • Add baseline Solana + Ethereum support

Improvements

  • Add new error code
  • Update public-api dependency

Improvements

  • Update internal typescript dependency to 5.5

Bug Fixes

  • Fix Blast gas estimation logic

Improvements

  • Update public-api dependency

Improvements

  • Update public-api dependency

Improvements

  • Update public-api dependency

Improvements

  • Add recovery upgrade flows: client.embeddedWallet.setRecovery
  • Deprecate client.embeddedWallet.setPassword, instead use setRecovery({recoveryMethod: 'user-passcode'})

Improvements

  • Update public-api dependency

Improvements

  • Add experimental csw_signUserOperation RPC to support signing user operations for the Coinbase Smart Wallet
Breaking Changes
  • Deprecate goerli and polygon mumbai chains

Improvements

  • Add support for app clients
  • Update public-api dependency

Improvements

  • Add third-party auth support
Breaking Changes
  • Update Privy.embeddedWallet.create to return the newly created account metadata as well as the provider object

Improvements

  • Add iCloud recovery support
  • Update public-api dependency

Improvements

  • Update public-api dependency

Improvements

  • Update public-api dependency

Improvements

  • Use Privy RPC endpoints for mainnet

Improvements

  • Add specific errors for OAuth dismissal
  • Update public-api dependency

Improvements

  • Add support for redirect_url to Farcaster login methods
  • Use Privy RPC endpoints for Berachain Artio
  • Update public-api dependency

Improvements

  • Return consistent result type from SiweApi login
  • Update public-api dependency

Bug Fixes

  • Fix issue with crypto.subtle.digest in web environments

Improvements

  • Internally refactor API abstractions

Improvements

  • Add link and unlink with Farcaster

Improvements

  • Update public-api dependency

Improvements

  • Add login with Farcaster

Improvements

  • Updated public-api dependency

Improvements

  • Social login improvements
  • Updated public-api dependency

Improvements

  • Updated public-api dependency

Improvements

  • Updated public-api dependency

Improvements

  • Updated public-api dependency

Improvements

  • Support google-drive as a recovery method for embedded wallets

Improvements

  • Add support for Polygon Amoy testnet out of the box

Bug Fixes

  • Fix cookie-based session restoration on new subdomain

Improvements

  • Update RPC endpoints for some testnets

Improvements

  • Updated public-api dependency

Improvements

  • Add headless siwe flow
  • Updated public-api dependency

Bug Fixes

  • Fix issue where events from the secure context do not get received

Improvements

  • Add new error code
  • Expose setPassword for embedded wallets
  • Remove private method/property syntax (this.#x) to avoid requiring babel plugins downstream in expo apps
  • Updated api-base & public-api dependencies

Improvements

  • Updated public-api dependency
Breaking Changes
  • Remove text-encoding-polyfill and require apps to supply their own if necessary

Improvements

  • Update internal dependencies

Improvements

  • Update internal dependencies

Improvements

  • Guard login/link hooks from being used at the wrong time
  • Support enabled cookies on mobile runtimes
  • Throw explicit api and client error classes
  • Add new error messages for OAuth failures
  • Updated dependencies

Improvements

  • Update dependencies

Improvements

  • Export populateTransactionRequest util

Improvements

  • Update dependencies

Improvements

  • Update dependencies

Improvements

  • Add getUserEmbeddedWallet helper

Improvements

  • Handle eth_sendTransaction and eth_populateTransactionRequest at SDK level

Improvements

  • Expose isReady from Privy client

Improvements

  • Add verbose logging for token storage
  • Improve handling of session refreshes

Improvements

  • Set privy-session client cookie when not using server cookies

Improvements

  • Gracefully handle errors from UUID generation

Improvements

  • Update dependencies
  • Configuration updates to support custom chains

Bug Fixes

  • Fix recovery state bugs

Improvements

  • Improve user state handling within embedded wallet api

Improvements

  • Update dependencies

Improvements

  • Debounce session refresh requests
  • Clear logout flags when token is missing in session response

Improvements

  • Improve session refresh logic
  • Pin internal dependencies

Improvements

  • Better pretty printing of EIP1193Provider

Improvements

  • Add Holesky (L1) and Holesky Redstone (L2) support
  • Dependency updates

Improvements

  • Add better support for eth_sendTransaction
  • Expose getAccessToken function

Improvements

  • Stringify iframe-bound messages from js-sdk-core

Improvements

  • Set SDK version header correctly for expo
  • Add origin validation to expo SDK

Improvements

  • Consume zod directly instead of relying on @privy-io/api-base

Improvements

  • Dependency updates, build improvements

Improvements

  • Export Storage interface
  • Export error utility to determine if recovery is needed for the embedded wallet

Bug Fixes

  • Fix bug with password-based recovery on new devices

Improvements

  • Add support for login with OAuth

Improvements

  • Add isPasswordRequired helper to simplify recovery
  • Add hasEmbeddedWallet helper
  • Improved exporting of types

Improvements

  • Initial release