Skip to main content
Privy builds flexible wallet and key management infrastructure to power better products built on crypto rails. You can choose to integrate with Privy’s REST API directly, or leverage our platform-specific SDKs to securely provision wallets and manage assets. images/Platform2.png

REST API

The Privy API is a resource-oriented API designed with RESTful principles. You can use the API to create and use wallets on different blockchains, set granular policies and controls, and manage ownership over different resources. You can make requests to Privy’s API from any environment that supports HTTPS requests and securely storing an API secret. Once you’ve provisioned wallets from Privy’s REST API, you can continue to use and manage those wallets from the REST API or additionally integrate Privy’s supported SDKs.
Privy’s API have extended support for many blockchain ecosystems. Learn more about the distinct tiers of support for each blockchain in our chain support guide.

SDKs

Privy offers multiple SDKs for various languages and frameworks. These SDKs wrap the Privy REST API into interfaces and abstractions that are idiomatic to your framework, streamlining your integration. If your framework is not supported by the SDKs below, you can always integrate Privy’s REST API directly or build a slim client SDK for your framework.

Client-side SDKs

Client-side SDKs are designed for use in web and mobile applications, providing hooks and components for authenticating users and securely provisioning wallets.
SDKDescriptionSupported environments
ReactA client-side React SDK with hooks and components for authenticating users and securely provisioning wallets.Web apps built with React.
React NativeA client-side React Native SDK with hooks and components for authenticating users and securely provisioning wallets.Mobile apps (iOS, Android) built with Expo or React Native.
SwiftA client-side Swift SDK with methods for authenticating users and securely provisioning wallets.Mobile apps (iOS) built with Swift.
AndroidA client-side Kotlin SDK with methods for authenticating users and securely provisioning wallets.Mobile apps (Android) built with Kotlin.
FlutterA client-side Flutter SDK with methods for authenticating users and securely provisioning wallets.Mobile apps (iOS, Android) built with Flutter.
UnityA client-side Unity SDK with methods for authenticating users and securely provisioning wallets.Games built with Unity.

Client-side SDK features

Check out the matrix below to determine which features are supported in each client SDK. As a guide:
  • - indicates the feature is available on EVM chains.
  • - indicates the feature is available on Solana.
  • - indicates the feature is available on both EVM and Solana.
ReactReact NativeSwiftAndroidFlutterUnity
Authentication
Email
SMS
OAuthGoogle, Apple, Twitter, DiscordGoogle, Discord, TwitterGoogle, Apple, Twitter, DiscordGoogle, Apple, Twitter, Discord
SIWE (Sign In with Ethereum)
SIWS (Sign In with Solana)
Farcaster
Telegram
Custom Auth
Passkeys
Farcaster
SIWF
Embedded Wallets
Creating wallets manually
Creating wallets automatically
Pregenerating wallets
Signing messages and transactions
Broadcasting transactions
Native smart wallets
Automatic recovery
User controlled recovery
Transaction MFA
Key Export
Key Import
HD wallets
Session signers
Global wallets (Cross App Accounts)
Custom EVM (Ethereum) network support
Custom SVM (Solana) network support
Connectors
External wallets
Wagmi
Viem
Ethers
@solana/web3.js
web3swift
Funding
Transfer or bridge from wallet
Transfer from exchange
Pay with card

Server-side SDKs

Server-side SDKs are designed for backend environments, with the full functionality of the Privy API to enable a streamlined integration.
SDKDescriptionSupported environments
NodeJSA server-side Node SDK that supports securely provisioning wallets, configuring policies and ownership, and managing user data.Server-side JS runtimes, including Node, Deno, Bun, Edge, etc.
JavaA server-side Java SDK that supports securely provisioning wallets, configuring policies and ownership, and managing user data.Server-side Java environments.
PythonA server-side Python SDK that supports securely provisioning wallets, configuring policies and ownership, and managing user data.Server-side Python environments.
RustA server-side Rust SDK that supports securely provisioning wallets, configuring policies and ownership, and managing user data.Server-side Rust environments.
NodeJS (server-auth)(Deprecated) A server-side Node SDK that supports securely provisioning wallets, configuring policies and ownership, and managing user data.Server-side JS runtimes, including Node, Deno, Bun, Edge, etc.
Is there a particular feature that you’d like support for within a certain SDK? Please reach out!