# Privy Docs ## Basics ### Get started - [About Privy](https://docs.privy.io/basics/get-started/about.md) - [Create an account](https://docs.privy.io/basics/get-started/account.md) - [Choose your platform](https://docs.privy.io/basics/get-started/platforms.md) - [Key concepts](https://docs.privy.io/basics/key-concepts.md) - [Build with AI tools](https://docs.privy.io/basics/get-started/using-llms.md): Build with Privy faster using AI tools like Cursor, Claude, and other LLM powered coding assistants #### Configuring Privy Dashboard - [Overview](https://docs.privy.io/basics/get-started/dashboard/overview.md): Overview of the Privy Dashboard for configuring apps, login methods, wallets, and team settings. - [Create new app](https://docs.privy.io/basics/get-started/dashboard/create-new-app.md) - [Configuring appearance](https://docs.privy.io/basics/get-started/dashboard/configuring-appearance.md) - [Configure login methods](https://docs.privy.io/basics/get-started/dashboard/configure-login-methods.md) - [App clients](https://docs.privy.io/basics/get-started/dashboard/app-clients.md) - [Teammate roles](https://docs.privy.io/basics/get-started/dashboard/teammate-roles.md) - [Dashboard MFA](https://docs.privy.io/basics/get-started/dashboard/multi-factor.md) - [Single sign-on](https://docs.privy.io/basics/get-started/dashboard/sso.md): Configure SSO authentication for your team using Okta, Microsoft Entra ID, Google Workspace, or any SAML 2.0 provider ### Client-side SDKs #### React - [Installation](https://docs.privy.io/basics/react/installation.md): Install the Privy React SDK (@privy-io/react-auth) and optional Solana peer dependencies (@solana/kit) for React and Next.js apps - [Setup](https://docs.privy.io/basics/react/setup.md): Configure the PrivyProvider component to wrap your React or Next.js app with your appId and SDK config - [Quickstart](https://docs.privy.io/basics/react/quickstart.md): Learn how to authenticate users, create embedded wallets, and send transactions in your React or Next.js app with Privy. - [Features](https://docs.privy.io/basics/react/features.md): Learn about the authentication, wallet, and UI features supported by the Privy React SDK. ##### Advanced - [Configuring EVM networks](https://docs.privy.io/basics/react/advanced/configuring-evm-networks.md) - [Configuring Solana networks](https://docs.privy.io/basics/react/advanced/configuring-solana-networks.md): Configure Solana RPC endpoints and clusters (mainnet, devnet, testnet) in the PrivyProvider using createSolanaRpc - [Automatic wallet creation](https://docs.privy.io/basics/react/advanced/automatic-wallet-creation.md) - [Migrating to 3.0](https://docs.privy.io/basics/react/advanced/migrating-to-3.0.md) - [Migrating to 2.0](https://docs.privy.io/basics/react/advanced/migrating-to-2.0.md) #### React Native - [Installation](https://docs.privy.io/basics/react-native/installation.md): Install the Privy React Native SDK (@privy-io/react-native-auth) and configure it for mobile authentication and embedded wallets. - [Setup](https://docs.privy.io/basics/react-native/setup.md): Configure the Privy React Native SDK with your appId and set up the PrivyProvider in your mobile app. - [Quickstart](https://docs.privy.io/basics/react-native/quickstart.md): Learn how to authenticate users, create embedded wallets, and send transactions in your React Native app - [Features](https://docs.privy.io/basics/react-native/features.md): Learn about the authentication, wallet, and UI features supported by the Privy React Native SDK. ##### Advanced - [Configuring EVM networks](https://docs.privy.io/basics/react-native/advanced/configure-evm-networks.md) - [Configuring appearance](https://docs.privy.io/basics/react-native/advanced/configuring-appearance.md) - [Setup apple login](https://docs.privy.io/basics/react-native/advanced/setup-apple-login.md) - [Setting up Privy UIs](https://docs.privy.io/basics/react-native/advanced/setup-privyelements.md) - [Setup passkeys](https://docs.privy.io/basics/react-native/advanced/setup-passkeys.md) - [Automatic wallet creation](https://docs.privy.io/basics/react-native/advanced/automatic-wallet-creation.md) - [Customizing session persistence](https://docs.privy.io/basics/react-native/advanced/customizing-session-persistence.md) #### Swift - [Installation](https://docs.privy.io/basics/swift/installation.md): Install the Privy Swift SDK for iOS and macOS apps to enable embedded wallet authentication. - [Setup](https://docs.privy.io/basics/swift/setup.md): Configure the Privy Swift SDK with your app credentials to enable embedded wallet authentication on iOS. - [Quickstart](https://docs.privy.io/basics/swift/quickstart.md): Learn how to authenticate users, create embedded wallets, and send transactions in your Swift iOS app with Privy. - [Features](https://docs.privy.io/basics/swift/features.md): Learn about the features supported by the Privy Swift SDK for iOS embedded wallets. ##### Advanced - [Migrating to 2.0](https://docs.privy.io/basics/swift/advanced/migrating-to-2.0.md) #### Android - [Installation](https://docs.privy.io/basics/android/installation.md): Install the Privy Android SDK and add embedded wallet support to your Android application. - [Setup](https://docs.privy.io/basics/android/setup.md): Configure the Privy Android SDK with your app credentials to enable embedded wallet authentication. - [Quickstart](https://docs.privy.io/basics/android/quickstart.md): Learn how to authenticate users, create embedded wallets, and send transactions in your Android app with Privy. - [Features](https://docs.privy.io/basics/android/features.md): Learn about the authentication, wallet, and UI features supported by the Privy Android SDK. ##### Advanced - [Setup passkeys](https://docs.privy.io/basics/android/advanced/setup-passkeys.md) #### Flutter - [Installation](https://docs.privy.io/basics/flutter/installation.md): Install the Privy Flutter SDK to add embedded wallets and authentication to your cross-platform mobile app. - [Setup](https://docs.privy.io/basics/flutter/setup.md): Configure the Privy Flutter SDK with your app credentials for cross-platform mobile wallet support. - [Quickstart](https://docs.privy.io/basics/flutter/quickstart.md): Learn how to authenticate users, create embedded wallets, and send transactions in your Flutter mobile app with Privy. - [Features](https://docs.privy.io/basics/flutter/features.md): Learn about the features supported by the Privy Flutter SDK for cross-platform mobile wallets. #### Unity - [Installation](https://docs.privy.io/basics/unity/installation.md): Install the Privy Unity SDK to enable embedded wallet authentication in your Unity game or app. - [Setup](https://docs.privy.io/basics/unity/setup.md): Configure the Privy Unity SDK with your app credentials for game-based embedded wallet authentication. - [Quickstart](https://docs.privy.io/basics/unity/quickstart.md): Learn how to authenticate users, create embedded wallets, and send transactions in your Unity game or app with Privy. - [Features](https://docs.privy.io/basics/unity/features.md): Learn about the embedded wallet and authentication features supported by the Privy Unity SDK. ### Server-side SDKs #### NodeJS - [Installation](https://docs.privy.io/basics/nodeJS/installation.md): Install the Privy Node.js server SDK (@privy-io/node) for backend authentication, wallet management, and token verification - [Setup](https://docs.privy.io/basics/nodeJS/setup.md): Initialize the PrivyClient on your server with app ID and app secret for Node.js, Deno, or edge runtimes - [Quickstart](https://docs.privy.io/basics/nodeJS/quickstart.md): Learn how to create users, embedded wallets, and send transactions in your NodeJS app using PrivyClient ##### Advanced - [Migrating from server-auth](https://docs.privy.io/basics/nodeJS/advanced/migrating-from-server-auth.md) #### Java - [Installation](https://docs.privy.io/basics/java/installation.md): Install the Privy Java server SDK for backend user authentication, wallet management, and token verification. - [Setup](https://docs.privy.io/basics/java/setup.md): Configure the Privy Java SDK client with app credentials for backend authentication and wallet operations. - [Quickstart](https://docs.privy.io/basics/java/quickstart.md): Learn how to create users, embedded wallets, and send transactions in your Java application with the Privy SDK. #### Go - [Installation](https://docs.privy.io/basics/go/installation.md): Install the Privy Go server SDK for backend wallet management, user authentication, and transaction signing. - [Setup](https://docs.privy.io/basics/go/setup.md): Configure the Privy Go SDK client with your app credentials and authorization context. - [Quickstart](https://docs.privy.io/basics/go/quickstart.md): Learn how to create users, embedded wallets, and send transactions in a Go backend application using the Privy SDK. #### Rust - [Installation](https://docs.privy.io/basics/rust/installation.md): Install the Privy Rust server SDK for backend wallet management, user authentication, and embedded wallet operations. - [Setup](https://docs.privy.io/basics/rust/setup.md): Configure the Privy Rust SDK client with your app credentials for backend wallet management. - [Quickstart](https://docs.privy.io/basics/rust/quickstart.md): Learn how to create users, embedded wallets, and send transactions in your Rust backend app with Privy. #### Ruby - [Installation](https://docs.privy.io/basics/ruby/installation.md): Install the Privy Ruby server SDK (privy_ruby) for backend authentication, wallet management, and token verification - [Setup](https://docs.privy.io/basics/ruby/setup.md): Configure the Privy Ruby SDK client with app credentials and authorization context for backend operations. - [Quickstart](https://docs.privy.io/basics/ruby/quickstart.md): Learn how to create users, embedded wallets, and send transactions in a Ruby app using the Privy Ruby SDK. #### Python - [Installation](https://docs.privy.io/basics/python/installation.md): Install the Privy Python server SDK (privy-client) for backend authentication, wallet management, and transaction signing. - [Setup](https://docs.privy.io/basics/python/setup.md): Configure the Privy Python SDK client with app credentials and authorization context for backend operations. - [Quickstart](https://docs.privy.io/basics/python/quickstart.md): Learn how to create users, embedded wallets, and send transactions in a Python backend application using the Privy SDK. ### REST API - [Setup](https://docs.privy.io/basics/rest-api/setup.md): Configure authentication and credentials for direct REST API requests without a Privy SDK. - [Quickstart](https://docs.privy.io/basics/rest-api/quickstart.md): Create a wallet and send a transaction using Privy's REST API without an SDK. ### Changelogs - [Product updates](https://docs.privy.io/changelogs/product-updates.md) ### Troubleshooting and tips #### React - [Common framework errors](https://docs.privy.io/basics/troubleshooting/react-frameworks.md) - [Embedded wallets](https://docs.privy.io/basics/troubleshooting/troubleshooting-embedded-wallets.md) - [Multiple dialogs](https://docs.privy.io/basics/troubleshooting/multiple-dialogs.md) - [Styles](https://docs.privy.io/basics/troubleshooting/styles.md) - [Analytics CORS errors](https://docs.privy.io/basics/troubleshooting/analytics-cors.md) #### Error handling - [Client-side error codes](https://docs.privy.io/basics/troubleshooting/error-handling/client-errors.md) - [API error codes](https://docs.privy.io/basics/troubleshooting/error-handling/api-errors.md) ## Wallets ### Overview #### - [Overview](https://docs.privy.io/wallets/overview.md): Overview of Privy wallet infrastructure for transacting on Ethereum, Solana, Tempo, Base, and hundreds of blockchains - [Features](https://docs.privy.io/wallets/overview/features.md): Key features of Privy wallets including signing, gas sponsorship, MFA, and cross-chain support - [Common use cases](https://docs.privy.io/wallets/overview/use-cases.md): Common use cases for Privy wallets including payments, trading, DeFi, and NFTs - [Types of wallets](https://docs.privy.io/wallets/overview/types.md) - [Chain support](https://docs.privy.io/wallets/overview/chains.md): Supported blockchains, support tiers, and integration guides for Privy wallets - [Flexible custody](https://docs.privy.io/wallets/overview/flexible-custody.md) ### Embedded wallets #### Embedded wallets - [Embedded wallets](https://docs.privy.io/wallets/overview/embedded.md): Self-custodial wallets built into your app for Ethereum, Solana, and other chains — powered by secure hardware (TEEs) - [User wallets](https://docs.privy.io/wallets/overview/solutions/user-wallets.md) - [Organization wallets](https://docs.privy.io/wallets/overview/solutions/organization-wallets.md) - [Treasury](https://docs.privy.io/wallets/overview/solutions/treasury-wallets.md) - [Agent wallets](https://docs.privy.io/wallets/overview/solutions/agent-wallets.md) #### Management - [Create a wallet](https://docs.privy.io/wallets/wallets/create/create-a-wallet.md): Programmatically create embedded wallets for users, organizations, or servers on Ethereum, Solana, and other chains - [Update a wallet](https://docs.privy.io/wallets/wallets/update-a-wallet.md): Update wallet policies, owners, and signers using the Privy API - [Archive a wallet](https://docs.privy.io/wallets/wallets/archive-a-wallet.md): Soft-delete wallets to remove them from active use while preserving their history - [Export a wallet](https://docs.privy.io/wallets/wallets/export.md): Export a wallet private key for user self-custody depending on wallet creation environment - [External IDs](https://docs.privy.io/wallets/wallets/external-ids.md): Assign custom external IDs to wallets for referencing with your own identifiers ##### Get a wallet - [Get user connected wallets](https://docs.privy.io/wallets/wallets/get-a-wallet/get-connected-wallet.md): Find all connected wallets for a user including embedded and external wallets - [Get wallet by ID](https://docs.privy.io/wallets/wallets/get-a-wallet/get-wallet-by-id.md): Get a specific wallet by its unique ID from the Privy API - [Get wallet by external ID](https://docs.privy.io/wallets/wallets/get-a-wallet/get-wallet-by-external-id.md): Look up a wallet using its external ID with the ext_wal_ prefix - [Get all wallets](https://docs.privy.io/wallets/wallets/get-a-wallet/get-all-wallets.md): Get all wallets for your application using the Privy API ##### Import a wallet - [HD wallets](https://docs.privy.io/wallets/wallets/import-a-wallet/hd-wallets.md): Import HD wallets using seed phrases to migrate wallets from external providers to Privy - [Private keys](https://docs.privy.io/wallets/wallets/import-a-wallet/private-key.md): Import wallets using private keys to migrate from external providers to Privy - [Architecture](https://docs.privy.io/wallets/wallets/import-a-wallet/architecture.md): Architecture for securely importing wallets without exposing entropy to intermediary services #### Usage - [Using wallets](https://docs.privy.io/wallets/using-wallets/overview.md): Overview of using Privy wallets for signing, transactions, and RPC interactions - [Server-side access to user wallets](https://docs.privy.io/wallets/wallets/server-side-access.md): Enable server-side access to user wallets with policy-restricted controls - [Offline actions with user wallets](https://docs.privy.io/wallets/wallets/offline-actions.md): Enable offline wallet actions using Privy control abstractions with scoped permissions - [Conditional policies per signer](https://docs.privy.io/recipes/wallets/conditional-signer-policies.md) #### UI components - [UI components](https://docs.privy.io/wallets/using-wallets/ui-components.md): Prebuilt UI components for wallet funding, sending, and receiving in React applications - [Whitelabel](https://docs.privy.io/wallets/using-wallets/whitelabel.md): Customize embedded wallet experiences to match your app design with whitelabel wallet UIs #### Custodial wallets - [Overview](https://docs.privy.io/wallets/custodial-wallets/overview.md): Overview of custodial wallets in Privy for applications that manage wallet custody on behalf of users. - [Setup](https://docs.privy.io/wallets/custodial-wallets/setup.md) - [Create a custodial wallet](https://docs.privy.io/wallets/custodial-wallets/create-custodial-wallet.md) - [Sending funds](https://docs.privy.io/wallets/custodial-wallets/sending-funds.md) - [Transfer lifecycle](https://docs.privy.io/wallets/custodial-wallets/transaction-lifecycle.md) ##### Advanced - [Authorization and controls](https://docs.privy.io/wallets/custodial-wallets/advanced/authorization-controls.md) - [Webhooks](https://docs.privy.io/wallets/custodial-wallets/advanced/webhooks.md) - [Funding](https://docs.privy.io/wallets/custodial-wallets/advanced/funding.md) #### Digital asset accounts - [Digital asset accounts](https://docs.privy.io/wallets/accounts/overview.md): Digital asset accounts representing a single unit of balance across multiple wallets and chain types - [Create an account](https://docs.privy.io/wallets/accounts/create.md): Create a digital asset account with wallets across multiple chain types and custody configurations - [Get an account](https://docs.privy.io/wallets/accounts/get.md): Retrieve details of a specific account by its unique account ID - [Update an account](https://docs.privy.io/wallets/accounts/update.md): Update an existing account display name or add new wallets to the account - [Get account balance](https://docs.privy.io/wallets/accounts/balance.md): Retrieve aggregated account balance across all wallets and supported chains in USD - [Configuring self-custody](https://docs.privy.io/wallets/accounts/self-custody.md): Configure non-custodial digital accounts requiring user authentication for wallet actions - [Taking actions](https://docs.privy.io/wallets/accounts/actions.md): Take actions with an account by acting on wallets within the account #### Global wallets - [Overview](https://docs.privy.io/wallets/global-wallets/overview.md): Global wallets enable users to use a single wallet identity across multiple Privy-powered applications. ##### Launch your wallet - [Overview](https://docs.privy.io/wallets/global-wallets/launch-your-wallet/overview.md): Launch your app as a global wallet provider by enabling a base domain for shared wallets. - [Custom experience](https://docs.privy.io/wallets/global-wallets/launch-your-wallet/custom-experience.md) ##### Integrate a global wallet - [Overview](https://docs.privy.io/wallets/global-wallets/integrate-a-global-wallet/overview.md): Overview of integrating Privy global wallets into your application for cross-app wallet sharing. - [Login with a global wallet](https://docs.privy.io/wallets/global-wallets/integrate-a-global-wallet/login-with-a-global-wallet.md) - [Linking a global wallet](https://docs.privy.io/wallets/global-wallets/integrate-a-global-wallet/linking-a-global-wallet.md) - [Getting global wallets](https://docs.privy.io/wallets/global-wallets/integrate-a-global-wallet/getting-global-wallets.md) - [Using global wallets](https://docs.privy.io/wallets/global-wallets/integrate-a-global-wallet/using-global-wallets.md) - [RainbowKit connector](https://docs.privy.io/wallets/global-wallets/integrate-a-global-wallet/rainbowkit-connector.md): Integrate global wallets into RainbowKit using the cross-app connect SDK - [Connectkit connector](https://docs.privy.io/wallets/global-wallets/integrate-a-global-wallet/connectkit-connector.md) #### EVM smart wallets - [Smart wallets](https://docs.privy.io/wallets/using-wallets/evm-smart-wallets/overview.md): Create programmable smart wallets with account abstraction for gas sponsorship and batched transactions - [Using smart wallets](https://docs.privy.io/wallets/using-wallets/evm-smart-wallets/usage.md): Use smart wallets for sponsored transactions, batched operations, and UserOperation flows ##### Setup - [Configure smart wallets in the dashboard](https://docs.privy.io/wallets/using-wallets/evm-smart-wallets/setup/configuring-dashboard.md): Enable and configure smart wallet type (Alchemy, Kernel, Safe) in the Privy Dashboard - [Configure smart wallets in the SDK](https://docs.privy.io/wallets/using-wallets/evm-smart-wallets/setup/configuring-sdk.md): Configure smart wallets in your application SDK after Dashboard setup ### External wallets #### External wallets - [Overview](https://docs.privy.io/wallets/connectors/overview.md): Connect external wallets (MetaMask, Phantom, Coinbase) to your app using Privy wallet connectors. #### Setup - [Configure external connector chains](https://docs.privy.io/wallets/connectors/setup/configuring-external-connector-chains.md): Configure which chain types (EVM, Solana) external wallet connectors support in your app - [Configure wallet options](https://docs.privy.io/wallets/connectors/setup/configuring-external-connector-wallets.md): Customize the list of external wallets shown to users with WalletListEntry configuration #### Usage - [Connect an external wallet](https://docs.privy.io/wallets/connectors/usage/connecting-external-wallets.md): Connect a user external wallet to your app for on-chain interactions - [Connect or create a wallet](https://docs.privy.io/wallets/connectors/usage/connect-or-create.md): Connect an existing external wallet or create an embedded wallet if the user does not have one - [Authenticate a connected wallet](https://docs.privy.io/wallets/connectors/usage/authenticate.md): Authenticate a connected external wallet by prompting login or linking after connection #### Ethereum - [Integrating with viem](https://docs.privy.io/wallets/connectors/ethereum/integrations/viem.md): Create a viem wallet client from a Privy connected wallet for type-safe Ethereum interactions - [Integrating with wagmi](https://docs.privy.io/wallets/connectors/ethereum/integrations/wagmi.md): Integrate Privy with wagmi hooks for React-based Ethereum wallet interactions - [Integrating with ethers](https://docs.privy.io/wallets/connectors/ethereum/integrations/ethers.md): Get an ethers.js provider and signer from a Privy connected wallet for Ethereum interactions #### Solana - [Integrating with @solana/web3.js](https://docs.privy.io/wallets/connectors/solana/web3-integrations.md): Integrate Privy Solana wallets with @solana/web3.js for program interactions and transactions - [Integrating with @solana/kit](https://docs.privy.io/wallets/connectors/solana/kit-integrations.md) ### Signatures and transactions #### Signatures and transactions - [Signatures and transactions](https://docs.privy.io/wallets/signatures-and-transactions.md) #### Wallet actions - [Wallet actions](https://docs.privy.io/wallets/actions/overview.md): Wallet action APIs for transfers, swaps, and DeFi interactions with asynchronous processing - [Wallet action lifecycle](https://docs.privy.io/wallets/actions/lifecycle.md): Understand how wallet actions progress through statuses, steps, and terminal states - [Get wallet action status](https://docs.privy.io/wallets/actions/status.md): Check the status of asynchronous wallet actions like transfers and swaps - [Set a reference ID](https://docs.privy.io/wallets/actions/reference-id.md) - [Webhooks](https://docs.privy.io/wallets/actions/webhooks.md) #### Signing and RPC - [Signing and RPCs](https://docs.privy.io/wallets/using-wallets/rpc.md): Send JSON-RPC requests and sign messages or transaction payloads directly with Privy wallets ##### Ethereum - [Send an Ethereum transaction](https://docs.privy.io/wallets/using-wallets/ethereum/send-a-transaction.md): Sign and broadcast an Ethereum/EVM transaction with Privy - [Sign an Ethereum transaction](https://docs.privy.io/wallets/using-wallets/ethereum/sign-a-transaction.md): Sign an Ethereum/EVM transaction without broadcasting it using Privy - [Sign a message](https://docs.privy.io/wallets/using-wallets/ethereum/sign-a-message.md) - [Sign typed data (EIP-712)](https://docs.privy.io/wallets/using-wallets/ethereum/sign-typed-data.md) - [Sign a raw hash](https://docs.privy.io/wallets/using-wallets/ethereum/sign-a-raw-hash.md) - [Sign EIP-7702 authorization](https://docs.privy.io/wallets/using-wallets/ethereum/sign-7702-authorization.md): Sign EIP-7702 authorizations to upgrade embedded wallets into smart contract accounts - [Switch chains](https://docs.privy.io/wallets/using-wallets/ethereum/switch-chain.md): Switch the active network of a connected Ethereum wallet to a different chain - [Ethereum provider](https://docs.privy.io/wallets/using-wallets/ethereum/ethereum-provider.md) - [Interfacing with common libraries](https://docs.privy.io/wallets/using-wallets/ethereum/web3-integrations.md) ##### Solana - [Sign a Solana message](https://docs.privy.io/wallets/using-wallets/solana/sign-a-message.md): Sign an arbitrary message with a Solana embedded wallet using Privy - [Send a Solana transaction](https://docs.privy.io/wallets/using-wallets/solana/send-a-transaction.md): Sign and broadcast a Solana transaction with Privy - [Sign a Solana transaction](https://docs.privy.io/wallets/using-wallets/solana/sign-a-transaction.md): Sign a Solana transaction without broadcasting it using Privy - [Integrating with @solana/web3.js](https://docs.privy.io/wallets/using-wallets/solana/web3-integrations.md) - [Integrating with @solana/kit](https://docs.privy.io/wallets/using-wallets/solana/kit-integrations.md) ##### Tempo - [Send a Tempo transaction](https://docs.privy.io/wallets/using-wallets/tempo/send-a-transaction.md): Send a Tempo transaction using Privy embedded wallets - [Sign a Tempo transaction](https://docs.privy.io/wallets/using-wallets/tempo/sign-a-transaction.md): Sign a Tempo transaction without broadcasting it using Privy embedded wallets ##### Tron - [Send a Tron transaction](https://docs.privy.io/wallets/using-wallets/tron/send-a-transaction.md): Sign and broadcast a Tron transaction in one call using Privy - [Sign a Tron transaction](https://docs.privy.io/wallets/using-wallets/tron/sign-a-transaction.md): Sign a Tron transaction without broadcasting it using Privy ##### Bitcoin - [Sign transaction inputs](https://docs.privy.io/wallets/using-wallets/bitcoin/sign-transaction-inputs.md): Sign Bitcoin transaction inputs using Privy raw sign functionality for UTXO-based transactions ##### Other chains - [Sui](https://docs.privy.io/wallets/using-wallets/other-chains/sui.md): Create Sui wallets, sign transactions and messages, and enforce policies with Privy - [Raw signing](https://docs.privy.io/wallets/using-wallets/other-chains/index.md): Integrate chains with Privy raw sign functionality over transaction hashes #### Intents - [Intents](https://docs.privy.io/transaction-management/intents/overview.md) - [Authorize intent](https://docs.privy.io/transaction-management/intents/sign-intents.md) - [Reject intent](https://docs.privy.io/transaction-management/intents/reject-intents.md) ##### Propose an intent - [Transfer funds](https://docs.privy.io/transaction-management/intents/create/execute-transfer.md) - [Authorize a transaction](https://docs.privy.io/transaction-management/intents/create/execute-rpc.md) - [Update wallet](https://docs.privy.io/transaction-management/intents/create/update-wallet.md) - [Update policy](https://docs.privy.io/transaction-management/intents/create/update-policy.md) - [Update policy rules](https://docs.privy.io/transaction-management/intents/create/update-policy-rules.md) - [Update key quorum](https://docs.privy.io/transaction-management/intents/create/update-key-quorum.md) ##### Intent status - [Lifecycle of an intent](https://docs.privy.io/transaction-management/intents/lifecycle.md) - [Get intent by ID](https://docs.privy.io/transaction-management/intents/fetch-intent.md) - [Intent webhooks](https://docs.privy.io/transaction-management/intents/intent-webhooks.md) #### Transactions - [Set a reference ID](https://docs.privy.io/transaction-management/transactions/reference-id.md) - [Fetch transaction via webhook](https://docs.privy.io/wallets/gas-and-asset-management/assets/transaction-event-webhooks.md): Set up webhooks to receive notifications for wallet transaction events - [Fetch transaction via API](https://docs.privy.io/wallets/gas-and-asset-management/assets/fetch-a-transaction.md): Get transaction details by ID using the Node.js SDK transactions interface - [List transactions](https://docs.privy.io/wallets/gas-and-asset-management/assets/list-transactions.md): Fetch paginated transaction history for an embedded wallet with the Swift and Android SDKs ### Balances and webhooks #### Balances - [Balances and webhooks](https://docs.privy.io/wallets/gas-and-asset-management/assets/overview.md): Receive real-time notifications for deposits, withdrawals, and transactions - [Fetch deposits and withdrawals via webhook](https://docs.privy.io/wallets/gas-and-asset-management/assets/balance-event-webhooks.md): Set up webhooks to receive notifications for wallet deposits and withdrawals - [Fetch balance via API](https://docs.privy.io/wallets/gas-and-asset-management/assets/fetch-balance.md): Fetch wallet balance by wallet ID using the Privy Node.js SDK ### Gas and fee management #### Gas management - [Overview](https://docs.privy.io/wallets/gas-and-asset-management/gas/overview.md): Sponsor transaction fees across all wallets using the Privy gas sponsorship engine. - [Setting up gas sponsorship](https://docs.privy.io/wallets/gas-and-asset-management/gas/setup.md): Choose how gas fees are paid — sponsor them with app credits, or let users pay with stablecoins - [Transaction management](https://docs.privy.io/wallets/gas-and-asset-management/gas/transaction-handling.md): Transaction management for gas-sponsored Solana transactions including signature handling - [Security best practices](https://docs.privy.io/wallets/gas-and-asset-management/gas/security.md): Security best practices for gas sponsorship to prevent abuse and drainage of gas balances - [Query gas spend](https://docs.privy.io/wallets/gas-and-asset-management/gas/gas-spend.md): Query total gas credits charged across wallets for monitoring sponsorship usage ##### Custom setup - [Sponsoring transactions on Ethereum](https://docs.privy.io/wallets/gas-and-asset-management/gas/ethereum.md): Sponsor gas fees on Ethereum using smart wallets with paymaster integration - [Sponsoring transactions on Solana](https://docs.privy.io/wallets/gas-and-asset-management/gas/solana.md): Sponsor gas fees for Solana transactions allowing users to transact without SOL balance #### Usage and billing - [Overview](https://docs.privy.io/wallets/gas-and-asset-management/usage-billing/overview.md): Understand how Privy meters usage and invoices metered charges - [Usage webhooks](https://docs.privy.io/wallets/gas-and-asset-management/usage-billing/usage-webhooks.md): Receive an event each time Privy records a usage charge, and reconcile it against a wallet action ## Financial flows ### Overview #### Financial flows - [Financial flows](https://docs.privy.io/financial-flows/overview.md): Use Privy APIs to fund, move, grow, and spend the balance in a user or business account - [Funding](https://docs.privy.io/financial-flows/payments.md): Move money into and out of Privy accounts with deposits and payouts - [Earn](https://docs.privy.io/financial-flows/earn.md): Put wallet balances to work with yield from tokenized money market funds and DeFi vaults - [Cards](https://docs.privy.io/financial-flows/cards.md): Issue debit cards that spend stablecoins directly from a Privy account - [Trade](https://docs.privy.io/financial-flows/swap.md): Swap tokens on supported EVM chains and Solana via Privy wallet actions - [Monetization](https://docs.privy.io/financial-flows/monetization.md): Keep a share of the revenue generated through Privy Earn, swaps, and transfers ### Deposits #### Deposits - [Deposits](https://docs.privy.io/financial-flows/deposits/overview.md): Move money into Privy wallets from fiat and crypto sources - [Configuration](https://docs.privy.io/financial-flows/deposits/configuration.md): Enable and configure deposit methods in the Privy Dashboard #### Fiat deposits - [Fiat deposits](https://docs.privy.io/wallets/funding/fiat-deposits/overview.md): Give a wallet a dedicated bank account that can be funded with a bank transfer - [Setup](https://docs.privy.io/wallets/funding/fiat-deposits/setup.md): Verify the wallet entity and configure the provider for fiat deposits - [Create a deposit account](https://docs.privy.io/wallets/funding/fiat-deposits/create-deposit-account.md): Provision a dedicated bank account for a wallet to receive fiat deposits - [Get deposit accounts](https://docs.privy.io/wallets/funding/fiat-deposits/get-deposit-accounts.md): Read a wallet's fiat deposit accounts and their bank details - [Deposit lifecycle](https://docs.privy.io/wallets/funding/fiat-deposits/deposit-lifecycle.md): Follow a fiat deposit from bank receipt to on-chain settlement with webhooks #### Crypto deposits - [Crypto deposits](https://docs.privy.io/wallets/funding/crypto-deposits/overview.md): Create persistent deposit addresses that convert incoming crypto into a target asset - [Setup](https://docs.privy.io/wallets/funding/crypto-deposits/setup.md) - [Create a deposit account](https://docs.privy.io/wallets/funding/crypto-deposits/create-deposit-account.md) - [Headless crypto deposits](https://docs.privy.io/wallets/funding/crypto-deposits/headless.md): Create crypto deposit accounts and fetch indicative quotes with useHeadlessCryptoDeposit in React #### Onramp modal - [Onramp modal](https://docs.privy.io/wallets/funding/add-funds.md): Use the useAddFunds hook from @privy-io/react-auth to let users fund wallets with fiat or crypto through one flow #### Card onramps - [Card onramps](https://docs.privy.io/wallets/funding/fiat-onramp.md): Let users buy crypto with a card, Apple Pay, or Google Pay in your app with React or React Native - [Headless card onramp](https://docs.privy.io/wallets/funding/headless-fiat-onramp.md): Build a fully embedded, one-tap Apple Pay and card crypto onramp with Privy embedded wallets and Stripe Embedded Components ### Payouts #### Payouts - [Payouts](https://docs.privy.io/financial-flows/payouts/overview.md): Send funds from Privy wallets to bank accounts and crypto wallets - [Configuration](https://docs.privy.io/financial-flows/payouts/configuration.md): Configure Privy to send fiat and crypto payouts #### Fiat payouts - [Fiat payouts](https://docs.privy.io/financial-flows/transfers/fiat-payouts/overview.md): Convert crypto in a wallet to fiat and settle it to a bank account in a single API call - [Setup](https://docs.privy.io/financial-flows/transfers/fiat-payouts/setup.md): Verify the paying entity and configure the provider for fiat payouts - [Register a bank account](https://docs.privy.io/financial-flows/transfers/fiat-payouts/register-bank-account.md): Register the external bank account a fiat payout settles to - [Get bank accounts](https://docs.privy.io/financial-flows/transfers/fiat-payouts/get-bank-accounts.md): List, read, and delete the bank accounts registered for payouts - [Execute a payout](https://docs.privy.io/financial-flows/transfers/fiat-payouts/execute-payout.md): Convert crypto from a wallet to fiat and settle it to a bank account - [Track a payout](https://docs.privy.io/financial-flows/transfers/fiat-payouts/track-payouts.md): Track payout status, webhooks, and failure modes #### Crypto payouts - [Transfer](https://docs.privy.io/wallets/actions/transfer/overview.md): Transfer tokens from a Privy wallet to a destination address using the transfer action API - [Usage](https://docs.privy.io/wallets/actions/transfer/usage.md) - [Bridging](https://docs.privy.io/wallets/actions/transfer/bridging.md) - [Fixed rates](https://docs.privy.io/wallets/actions/transfer/fixed-rates.md): Deliver the exact input amount across chains, with your app covering the transfer and routing costs - [Quote transfer fees](https://docs.privy.io/wallets/actions/transfer/quote.md): Get a fee estimate and expected output amount before executing a transfer - [Policies](https://docs.privy.io/wallets/actions/transfer/policies.md): Restrict transfers with Privy policies. - [Collect fees](https://docs.privy.io/wallets/actions/transfer/collect-fees.md): Keep a developer fee on cross-chain transfers ### Earn #### - [Overview](https://docs.privy.io/wallets/actions/earn/overview.md): Put wallet balances to work with yield from tokenized money market funds and DeFi vaults. #### Get started - [Setting up earn](https://docs.privy.io/wallets/actions/earn/setup.md): Deploy a fee wrapper and configure your vault in the Privy Dashboard. - [Revenue sharing](https://docs.privy.io/wallets/actions/earn/revenue-sharing.md): Keep a share of the yield generated by your users' Earn deposits. - [Policies](https://docs.privy.io/wallets/actions/earn/policies.md): Restrict earn deposits and withdrawals with Privy policies. #### Vault actions - [Deposit funds](https://docs.privy.io/wallets/actions/earn/deposit.md): Deposit assets from a wallet into a yield vault. - [Withdraw assets](https://docs.privy.io/wallets/actions/earn/withdraw.md): Withdraw deposited assets with accrued yield from a vault. - [Claim rewards](https://docs.privy.io/wallets/actions/earn/claim.md): Collect additional token incentives distributed by yield vaults. - [Collect performance fees](https://docs.privy.io/wallets/actions/earn/collect-fees.md): Collect an Aave vault's accrued performance fees to its admin wallet. #### Positions and monitoring - [Get vault position](https://docs.privy.io/wallets/actions/earn/get-vault-position.md): Query a wallet's holdings, display balances, and calculate earned yield. - [Get vault details](https://docs.privy.io/wallets/actions/earn/get-vault-details.md): Retrieve vault-level information like current APY, TVL, and available liquidity. - [Webhooks](https://docs.privy.io/wallets/actions/earn/webhooks.md): Track earn deposit, withdrawal, incentive claim, and fee collection activity with real-time webhooks. #### Providers - [Morpho](https://docs.privy.io/wallets/actions/earn/providers/morpho.md) - [Aave](https://docs.privy.io/wallets/actions/earn/providers/aave.md) - [Veda](https://docs.privy.io/wallets/actions/earn/providers/veda.md) ### Cards #### Cards - [Cards](https://docs.privy.io/financial-flows/cards/overview.md): Issue debit cards that spend stablecoins directly from a Privy account - [Cards API integration](https://docs.privy.io/financial-flows/cards/integration-guide.md): How to issue debit cards that spend stablecoins from wallets using Bridge and Stripe Issuing ##### Prebuilt components - [Cards prebuilt components](https://docs.privy.io/financial-flows/cards/pre-built-components/overview.md): Embed bank-approved card UI in your app with the Privy React SDK - [Cards setup](https://docs.privy.io/financial-flows/cards/pre-built-components/setup.md): Get your app ready to issue stablecoin cards with prebuilt components - [Cards React integration](https://docs.privy.io/financial-flows/cards/pre-built-components/react-integration.md): Integrate stablecoin card prebuilt components with the Privy React SDK ### Trade #### Trade - [Swap tokens](https://docs.privy.io/wallets/actions/swap/overview.md): Swap tokens on supported EVM chains and Solana via Privy wallet actions - [Setup](https://docs.privy.io/wallets/actions/swap/setup.md): Configure swap settings and routing behavior in the Privy Dashboard - [Get a quote](https://docs.privy.io/wallets/actions/swap/get-quote.md): Request a price quote to preview estimated swap output amounts before executing - [Execute a swap](https://docs.privy.io/wallets/actions/swap/execute.md): Execute a token swap with automated token approvals and transaction submission - [Collect fees](https://docs.privy.io/wallets/actions/swap/collect-fees.md): Keep a developer fee on swaps - [Errors](https://docs.privy.io/wallets/actions/swap/errors.md): Error codes and responses returned by the swap API when requests cannot be fulfilled ### Monetization - [Monetization](https://docs.privy.io/financial-flows/monetization.md): Keep a share of the revenue generated through Privy Earn, swaps, and transfers ## Controls and policies ### Controls #### Controls - [Controls and policies](https://docs.privy.io/controls/overview.md) ##### Common configurations - [Single-party approvals](https://docs.privy.io/controls/common-use-cases/single-party-approval.md) - [Quorum approvals](https://docs.privy.io/controls/common-use-cases/quorum-approval.md) - [Delegating permissions](https://docs.privy.io/controls/common-use-cases/delegation.md) #### Owners & signers - [Overview](https://docs.privy.io/controls/authorization-keys/owners/overview.md): Overview of Privy authorization key owners and how they control wallet access. - [Types of owners & signers](https://docs.privy.io/controls/authorization-keys/owners/types.md) #### Configuring your wallets - [Overview](https://docs.privy.io/controls/authorization-keys/owners/configuration/overview.md): Overview of configuration options for authorization key owners in Privy. - [Programmable controls](https://docs.privy.io/controls/authorization-keys/owners/configuration/programmable.md) ##### Self-custodial user wallets - [Overview](https://docs.privy.io/controls/authorization-keys/owners/configuration/user/overview.md): Overview of user-controlled authorization key configuration for Privy embedded wallets. - [Enabling offline actions](https://docs.privy.io/controls/authorization-keys/owners/configuration/user/offline.md) - [Requiring user and server approvals](https://docs.privy.io/controls/authorization-keys/owners/configuration/user/dual-approval.md) - [Sending transactions from your server](https://docs.privy.io/controls/authorization-keys/owners/configuration/user/server-transactions.md) - [Updating wallets from your server](https://docs.privy.io/controls/authorization-keys/owners/configuration/user/server-updates.md) - [Exporting wallets from your server](https://docs.privy.io/controls/authorization-keys/owners/configuration/user/server-export.md) #### Creating owners & signers - [Authorization keys](https://docs.privy.io/controls/authorization-keys/keys/create/key.md) - [Key quorums](https://docs.privy.io/controls/authorization-keys/keys/create/key-quorum.md) ##### Users - [Users](https://docs.privy.io/controls/authorization-keys/keys/create/user/overview.md) - [Configure authentication settings](https://docs.privy.io/controls/authorization-keys/keys/create/user/authentication.md) - [Using user owners & signers](https://docs.privy.io/controls/authorization-keys/keys/create/user/request.md) #### Using owners & signers - [Using owners](https://docs.privy.io/controls/authorization-keys/using-owners/overview.md) ##### Owners - [Owning resources with owners](https://docs.privy.io/controls/authorization-keys/using-owners/assign.md) ##### Additional signers - [Overview](https://docs.privy.io/wallets/using-wallets/signers/overview.md): Overview of Privy wallet signers for delegating transaction execution to users or servers. - [Enabling users or servers to execute transactions](https://docs.privy.io/wallets/using-wallets/signers/quickstart.md): Quickstart guide for enabling users or servers to execute transactions on embedded wallets - [Configure signers](https://docs.privy.io/wallets/using-wallets/signers/configure-signers.md): Configure which signers your app can use to transact on user embedded wallets - [Add signers](https://docs.privy.io/wallets/using-wallets/signers/add-signers.md): Add third-party signers to wallets allowing delegated transaction execution - [Remove signers](https://docs.privy.io/wallets/using-wallets/signers/remove-signers.md): Remove signers from wallets to revoke delegated transaction permissions - [Use signers](https://docs.privy.io/wallets/using-wallets/signers/use-signers.md): Execute transactions on user wallets from your server using provisioned signers ##### Signing requests - [Signing requests](https://docs.privy.io/controls/authorization-keys/using-owners/sign/overview.md) - [Signing on the client](https://docs.privy.io/controls/authorization-keys/using-owners/sign/signing-on-the-client.md) - [Signing on the server](https://docs.privy.io/controls/authorization-keys/using-owners/sign/signing-on-the-server.md) ###### Advanced - [Signing with utility functions](https://docs.privy.io/controls/authorization-keys/using-owners/sign/utility-functions.md) - [Implementing signing directly](https://docs.privy.io/controls/authorization-keys/using-owners/sign/direct-implementation.md) #### Key quorums - [Overview](https://docs.privy.io/controls/key-quorum/overview.md): Overview of key quorums for multi-party authorization on Privy wallet actions. - [Creating key quorums](https://docs.privy.io/controls/key-quorum/create.md) - [Signing requests with key quorums](https://docs.privy.io/controls/key-quorum/sign.md) ### Policies #### Policies - [Overview](https://docs.privy.io/controls/policies/overview.md): Overview of Privy policies for restricting wallet actions like transfers, swaps, and signing. ##### Primitives - [Condition sets](https://docs.privy.io/controls/policies/condition-sets.md) - [Stateful policies](https://docs.privy.io/controls/policies/stateful-policies.md) #### Using policies - [Create a policy](https://docs.privy.io/controls/policies/create-a-policy.md) - [Update a policy](https://docs.privy.io/controls/policies/update-a-policy.md) - [Get a policy](https://docs.privy.io/controls/policies/get-a-policy.md) #### Examples - [Ethereum examples](https://docs.privy.io/controls/policies/example-policies/ethereum.md) - [Solana examples](https://docs.privy.io/controls/policies/example-policies/solana.md) - [Tempo examples](https://docs.privy.io/controls/policies/example-policies/tempo.md) - [Tron examples](https://docs.privy.io/controls/policies/example-policies/tron.md) - [Sui examples](https://docs.privy.io/controls/policies/example-policies/sui.md) - [Time-bound examples](https://docs.privy.io/controls/policies/example-policies/timebound.md) ### Manual approvals #### Manual approvals - [Manual approvals](https://docs.privy.io/controls/dashboard/overview.md) - [Create a key quorum](https://docs.privy.io/controls/dashboard/key-quorum.md) - [Review and approve intents](https://docs.privy.io/controls/dashboard/approvals.md) ## Identity ### Authentication #### Authentication - [Overview](https://docs.privy.io/authentication/overview.md): Understand how Privy authenticates wallet access using user authentication and API authentication. #### Using Privy authentication - [Using Privy as your authentication provider](https://docs.privy.io/authentication/user-authentication/privy-auth.md): Overview of Privy built-in authentication methods including email, SMS, passkeys, OAuth, and wallet login - [Authentication state](https://docs.privy.io/authentication/user-authentication/authentication-state.md): Check if a user is authenticated using the usePrivy hook and gate UI experiences based on auth status - [Tokens](https://docs.privy.io/authentication/user-authentication/tokens.md): Understanding access tokens, refresh tokens, and identity tokens in Privy authentication - [Access tokens](https://docs.privy.io/authentication/user-authentication/access-tokens.md): Verify Privy access tokens on your backend to authenticate API requests from your frontend - [Logging users out](https://docs.privy.io/authentication/user-authentication/logout.md): End a user authenticated session and log them out using the logout method from usePrivy - [UI components](https://docs.privy.io/authentication/user-authentication/ui-component.md): Use Privy prebuilt login modal UI component for quick authentication integration - [Whitelabel](https://docs.privy.io/authentication/user-authentication/whitelabel.md): Build fully custom authentication UIs with your own design while Privy handles security and backend logic ##### Login methods - [Email](https://docs.privy.io/authentication/user-authentication/login-methods/email.md): Authenticate users with email one-time passcodes (OTP) using Privy login methods - [SMS and WhatsApp](https://docs.privy.io/authentication/user-authentication/login-methods/sms-whatsapp.md): Authenticate users with SMS or WhatsApp one-time passcodes for phone-based login - [Wallet](https://docs.privy.io/authentication/user-authentication/login-methods/wallet.md): Authenticate users by connecting an external wallet (MetaMask, Phantom, Coinbase) via SIWE or Solana sign-in - [Passkey](https://docs.privy.io/authentication/user-authentication/login-methods/passkey.md): Authenticate users with passkeys using WebAuthn for biometric and device-based login - [OAuth](https://docs.privy.io/authentication/user-authentication/login-methods/oauth.md): Authenticate users with OAuth social logins including Google, Apple, Twitter, Discord, GitHub, and more - [Farcaster](https://docs.privy.io/authentication/user-authentication/login-methods/farcaster.md): Enable Sign in with Farcaster (FIP-11) to authenticate users with their Farcaster account - [Additional OAuth providers](https://docs.privy.io/authentication/user-authentication/login-methods/custom-oauth.md): Integrate any custom OAuth 2.0 provider not natively supported by Privy for user authentication ##### Advanced - [Guest accounts](https://docs.privy.io/authentication/user-authentication/login-methods/guest.md): Create guest accounts so users can use your app immediately without a login flow - [CAPTCHA on login](https://docs.privy.io/authentication/user-authentication/captcha.md): Add CAPTCHA verification to your Privy login flow to prevent bots and automated abuse ###### MFA - [Overview](https://docs.privy.io/authentication/user-authentication/mfa/overview.md): Multi-factor authentication (MFA) for embedded wallets requiring additional identity verification for signing - [Setting up wallet MFA for your app](https://docs.privy.io/authentication/user-authentication/mfa/setup.md): Enable and configure wallet MFA methods in the Privy Dashboard for your application - [Using default Privy UIs](https://docs.privy.io/authentication/user-authentication/mfa/default-ui.md): Use Privy built-in default UI components for MFA enrollment and verification in React ###### Custom UI - [Overview](https://docs.privy.io/authentication/user-authentication/mfa/custom-ui/overview.md): Build custom MFA UI flows that match your app design for enrollment and verification. - [Unenrolling MFA methods](https://docs.privy.io/authentication/user-authentication/mfa/unenroll.md): Allow users to remove previously enrolled MFA methods from their account - [MFA required listener](https://docs.privy.io/authentication/user-authentication/mfa/listener.md): Register an MFA required listener to trigger custom verification flows when wallet actions need MFA - [Error handling](https://docs.privy.io/authentication/user-authentication/mfa/errors.md): Handle MFA errors including incorrect codes, expired codes, and maximum attempt limits ###### Enrollment - [Overview](https://docs.privy.io/authentication/user-authentication/mfa/enrollment/overview.md): Overview of MFA enrollment methods including SMS, TOTP, and passkeys for embedded wallet security. - [SMS enrollment](https://docs.privy.io/authentication/user-authentication/mfa/enrollment/sms.md): Enroll users in SMS-based MFA by registering their phone number for wallet verification codes - [TOTP enrollment](https://docs.privy.io/authentication/user-authentication/mfa/enrollment/totp.md): Enroll users in TOTP-based MFA using authenticator apps like Google Authenticator or Authy - [Passkey enrollment](https://docs.privy.io/authentication/user-authentication/mfa/enrollment/passkeys.md): Enroll users in passkey-based MFA for embedded wallet protection using WebAuthn ###### Verification - [Overview](https://docs.privy.io/authentication/user-authentication/mfa/verify/overview.md): Overview of MFA verification required for signing, recovery, and export of Privy embedded wallets. - [SMS verification](https://docs.privy.io/authentication/user-authentication/mfa/verify/sms.md): Verify users with SMS-based MFA by submitting a 6-digit code sent to their phone - [TOTP verification](https://docs.privy.io/authentication/user-authentication/mfa/verify/totp.md): Verify users with TOTP-based MFA by submitting a 6-digit code from their authenticator app - [Passkey verification](https://docs.privy.io/authentication/user-authentication/mfa/verify/passkeys.md): Verify users with passkey-based MFA by prompting authentication with their registered passkey #### Using your own authentication - [Using your own authentication provider](https://docs.privy.io/authentication/user-authentication/jwt-based-auth/overview.md): Integrate any JWT-based authentication provider (Auth0, Firebase, Cognito, OIDC) with Privy embedded wallets - [Configuring your authentication provider](https://docs.privy.io/authentication/user-authentication/jwt-based-auth/setup.md): Configure your JWT-based authentication provider in the Privy Dashboard for custom auth integration - [Integrating your authentication provider with Privy](https://docs.privy.io/authentication/user-authentication/jwt-based-auth/usage.md): Pass your auth provider JWT to Privy to authenticate users and access embedded wallets ### Users #### Users - [Users](https://docs.privy.io/user-management/users/overview.md): Overview of user management in Privy, including creating, querying, and managing users and linked accounts. #### User management - [Handling the user object](https://docs.privy.io/user-management/users/the-user-object.md) - [Identity tokens](https://docs.privy.io/user-management/users/identity-tokens.md): Access user data securely with Privy identity tokens ##### Account linking and metadata - [Linking accounts to users](https://docs.privy.io/user-management/users/linking-accounts.md) - [Unlinking accounts from users](https://docs.privy.io/user-management/users/unlinking-accounts.md) - [Updating user accounts](https://docs.privy.io/user-management/users/updating-accounts.md) - [Custom metadata](https://docs.privy.io/user-management/users/custom-metadata.md) ##### UIs and whitelabel - [UI components](https://docs.privy.io/user-management/users/ui-components.md) - [Whitelabel](https://docs.privy.io/user-management/users/whitelabel.md) #### Managing users - [Querying users](https://docs.privy.io/user-management/users/managing-users/querying-users.md) - [Deleting users](https://docs.privy.io/user-management/users/managing-users/deleting-users.md) ##### Access control - [Allowlist](https://docs.privy.io/user-management/users/managing-users/allowlist.md) - [Denylist](https://docs.privy.io/user-management/users/managing-users/denylist.md) #### Migrating users to Privy - [Migrating existing users to Privy](https://docs.privy.io/user-management/migrating-users-to-privy/overview.md) - [Create or import a user](https://docs.privy.io/user-management/migrating-users-to-privy/create-or-import-a-user.md) - [Create or import a batch of users](https://docs.privy.io/user-management/migrating-users-to-privy/create-or-import-a-batch-of-users.md) #### Webhooks - [Handling events](https://docs.privy.io/user-management/users/webhooks/handling-events.md): Respond to webhook events triggered by user actions in your application ### Organizations #### Organizations - [Organization wallets](https://docs.privy.io/organizations/overview.md) #### Setup - [Set up organization wallets](https://docs.privy.io/organizations/setup/overview.md) - [Create users](https://docs.privy.io/organizations/setup/users.md) - [Create an organization](https://docs.privy.io/organizations/setup/organizations.md) - [Create organization wallet](https://docs.privy.io/organizations/setup/wallet.md) - [Organization wallets](https://docs.privy.io/recipes/wallets/organization-wallets.md): Create and manage wallets for businesses and teams with Privy. - [Example wallet configuration](https://docs.privy.io/organizations/setup/example-wallet.md) #### Taking actions - [Taking actions with organization wallets](https://docs.privy.io/organizations/actions/overview.md) - [Propose actions via intents](https://docs.privy.io/organizations/actions/intents.md) - [Provision access](https://docs.privy.io/organizations/actions/provision-access.md) #### Approving actions - [Approve actions](https://docs.privy.io/organizations/actions/approvals.md) - [Get pending actions](https://docs.privy.io/organizations/actions/list-intents.md) - [Consume executed actions](https://docs.privy.io/organizations/actions/intent-execution.md) #### Conditional policies - [Assigning conditional policies](https://docs.privy.io/organizations/setup/signers.md) ### KYC and KYB #### KYC and KYB - [KYC and KYB](https://docs.privy.io/kyc-kyb/overview.md): Verify individuals (KYC) and businesses (KYB) through Privy before using regulated products - [Setup](https://docs.privy.io/kyc-kyb/setup.md): Register a provider API key and enable server-side flows for KYC and KYB - [Entities](https://docs.privy.io/kyc-kyb/entities.md): Understand a wallet's entity, how it differs from ownership, and how it is assigned #### Users - [KYC](https://docs.privy.io/kyc-kyb/kyc.md): Verify an individual user with terms of service acceptance and a hosted KYC flow - [Track KYC status](https://docs.privy.io/kyc-kyb/kyc-status.md): Poll a user's KYC status or subscribe to verification webhooks #### Organizations - [KYB](https://docs.privy.io/kyc-kyb/kyb.md): Verify an organization with terms of service acceptance and a hosted KYB flow - [Track KYB status](https://docs.privy.io/kyc-kyb/kyb-status.md): Poll an organization's KYB status or subscribe to verification webhooks ## Security - [Security](https://docs.privy.io/security/overview.md) - [Threat models & security FAQ](https://docs.privy.io/security/security-faqs.md) ### Wallet infrastructure - [Security architecture](https://docs.privy.io/security/wallet-infrastructure/architecture.md) - [Secure enclaves](https://docs.privy.io/security/wallet-infrastructure/secure-enclaves.md) - [Wallet policies and controls](https://docs.privy.io/security/wallet-infrastructure/policy-and-controls.md) #### Advanced - [On device execution environment](https://docs.privy.io/security/wallet-infrastructure/advanced/user-device.md) ### Authentication - [User authentication](https://docs.privy.io/security/authentication/user-authentication.md) - [User authorization keys](https://docs.privy.io/security/authentication/authenticated-signers.md) ### Implementation guide - [Security checklist](https://docs.privy.io/security/implementation-guide/security-checklist.md) - [Guidance for content security policies (CSPs)](https://docs.privy.io/security/implementation-guide/content-security-policy.md) - [IP allowlist](https://docs.privy.io/security/implementation-guide/ip-allowlist.md) - [Activity logs](https://docs.privy.io/security/implementation-guide/activity-logs.md): Review organization-wide activity logs for Privy Dashboard activity ## Recipes - [Recipes](https://docs.privy.io/recipes/overview.md) ### All recipes #### Authentication - [Authentication](https://docs.privy.io/recipes/authentication/overview.md) - [Setting up SMS or WhatsApp login](https://docs.privy.io/recipes/dashboard/login-methods/sms-whatsapp.md) - [Guest accounts](https://docs.privy.io/recipes/react/guest-accounts.md) - [Login with Apple](https://docs.privy.io/recipes/swift/apple.md) - [Login with Farcaster](https://docs.privy.io/recipes/farcaster/login.md) - [Login with Lens](https://docs.privy.io/recipes/lens.md) - [Use tokens from OAuth providers](https://docs.privy.io/recipes/react/oauth-tokens.md) - [Migrating embedded wallets from Alchemy to Privy](https://docs.privy.io/recipes/migrating-embedded-wallets-from-alchemy.md) - [Migrating JWT authentication from Alchemy to Privy](https://docs.privy.io/recipes/migrating-jwt-authentication-from-alchemy.md) - [Using Supabase as an authentication provider](https://docs.privy.io/recipes/authentication/using-supabase-for-custom-auth.md) - [Worldcoin mini app SIWE with Privy](https://docs.privy.io/recipes/react/worldcoin-siwe-guide.md) - [Chrome extension authentication](https://docs.privy.io/recipes/react/chrome-extension.md) - [Mocking tokens for testing](https://docs.privy.io/recipes/mock-jwt.md) - [Configure cookies](https://docs.privy.io/recipes/react/cookies.md) - [Using test accounts](https://docs.privy.io/recipes/using-test-accounts.md) - [Migrating sign in with Apple users for an Apple team transfer](https://docs.privy.io/recipes/apple-team-migration.md) #### Wallet infrastructure - [Wallet infrastructure](https://docs.privy.io/recipes/wallet-infrastructure/overview.md) - [Hierarchical deterministic (HD) wallets](https://docs.privy.io/recipes/hd-wallets.md) - [Pregenerating wallets](https://docs.privy.io/recipes/pregenerate-wallets.md) - [Agentic wallets](https://docs.privy.io/recipes/agent-integrations/agentic-wallets.md) - [Server-side user wallets](https://docs.privy.io/recipes/wallets/server-side-user-wallets.md): Create and control user wallets from your backend using the Privy Node.js SDK (PrivyClient) for server-to-server wallet operations - [Enabling users or servers to execute transactions](https://docs.privy.io/recipes/wallets/user-and-server-signers.md) - [Using passkeys with wallets](https://docs.privy.io/recipes/passkey-server-wallets.md) - [Policy-based MFA](https://docs.privy.io/recipes/policy-based-mfa.md) - [Using stateful policies with Privy](https://docs.privy.io/recipes/using-stateful-policies.md) - [Migrating wallets from on-device to TEEs](https://docs.privy.io/recipes/tee-wallet-migration-guide.md) - [Tier 1 wallet integration](https://docs.privy.io/recipes/tier-1-wallet-integration.md): Create wallets and sign with Privy on chains with Tier 1 support - [Tier 2 wallet integration](https://docs.privy.io/recipes/tier-2-wallet-integration.md): Sign decoded transactions with Privy on chains with Tier 2 support - [Custom account abstraction implementation](https://docs.privy.io/recipes/account-abstraction/custom-implementation.md) - [Storing smart account addresses](https://docs.privy.io/recipes/account-abstraction/address.md) - [Integrating smart accounts with wagmi](https://docs.privy.io/recipes/account-abstraction/wagmi.md) - [Create a smart wallet on iOS and Android](https://docs.privy.io/recipes/account-abstraction/native-mobile.md): Use Privy embedded wallets on native mobile as signers for ERC-4337 smart wallets - [2-of-2 quorum: user and server as co-signers](https://docs.privy.io/recipes/wallets/two-of-two-server-in-the-loop.md) #### Account funding - [Account funding](https://docs.privy.io/recipes/account-funding/overview.md) - [Using Privy and Due for on/off ramping](https://docs.privy.io/recipes/due-on-off-ramp.md) - [Onramping to MXNB with Juno](https://docs.privy.io/recipes/bitso-mxnb-onramp.md): How to integrate Privy and Juno to enable onramping to MXNB, the Mexican Peso stablecoin #### Transactions & signing ##### EVM - [EVM transactions and signing](https://docs.privy.io/recipes/evm/overview.md) - [Sending USDC (or other ERC-20s)](https://docs.privy.io/recipes/send-usdc.md) - [Sending batch transactions](https://docs.privy.io/recipes/batch-transactions.md) - [Speeding up transactions on EVM chains](https://docs.privy.io/recipes/speeding-up-transactions.md): Learn how to use webhooks to trigger replacement transactions to speed up transaction confirmation. - [Using Flashblocks with Privy](https://docs.privy.io/recipes/evm/flashblocks.md) - [Integrating with EIP-7702](https://docs.privy.io/recipes/react/eip-7702.md) - [ERC-1271 signatures](https://docs.privy.io/recipes/evm/erc-1271-signatures.md): Enable ERC-1271 compatible signatures for smart contract wallets and off-chain verifiers ##### Solana - [Solana transactions and signing](https://docs.privy.io/recipes/solana/overview.md) - [Getting started with Privy and Solana](https://docs.privy.io/recipes/solana/getting-started-with-privy-and-solana.md): End-to-end guide to set up a Next.js app with Privy Solana embedded wallets, including PrivyProvider config, wallet creation, signing, and sending transactions - [Sending a SOL transaction](https://docs.privy.io/recipes/solana/send-sol.md): Complete example of sending SOL from a Privy embedded wallet using useSignAndSendTransaction and @solana/kit - [Sending SPL tokens](https://docs.privy.io/recipes/solana/send-spl-tokens.md): Complete example of sending SPL tokens (USDC, custom tokens) from a Privy embedded wallet on Solana ##### Bitcoin - [Using Spark BTC with Privy wallets](https://docs.privy.io/recipes/spark-btc-guide.md) #### Gas sponsorship - [Custom gas sponsorship rate limits](https://docs.privy.io/recipes/gas-sponsorship-rate-limits.md): Implement spending controls for gas-sponsored transactions - [Integrating OneBalance](https://docs.privy.io/recipes/one-balance.md) - [Sponsor gas on Tron with Transatron](https://docs.privy.io/recipes/tron/transatron.md): Use Transatron to cover Tron transaction fees so users can transact without holding TRX. #### Treasury - [Treasury](https://docs.privy.io/recipes/wallets/treasury-overview.md) - [Treasury setup](https://docs.privy.io/recipes/wallets/wallet-infrastructure.md) - [Execution wallets](https://docs.privy.io/recipes/wallets/execution-wallets.md) #### Swaps - [Swapping crypto using Privy and 0x](https://docs.privy.io/recipes/swap-with-0x.md) - [Swapping crypto using Privy and Bebop](https://docs.privy.io/recipes/evm/bebop-swap-guide.md): Learn how to integrate Bebop's swap functionality with Privy embedded wallets #### Payments - [Pay with WalletConnect pay](https://docs.privy.io/recipes/walletconnect-pay.md) - [Send to Africa with Zuba](https://docs.privy.io/recipes/send-to-africa.md): How to integrate Privy and Zuba to pay out USDC and USDT to bank accounts and mobile money across Africa - [Accept stablecoin payments with automatic fiat conversion](https://docs.privy.io/recipes/stablecoin-payments-bridge-stripe.md): Accept USDC from Privy wallets and automatically convert payments to USD with Bridge and Stripe Financial Accounts #### Trading - [Trading](https://docs.privy.io/recipes/trading/overview.md) - [Polymarket builder codes](https://docs.privy.io/recipes/polymarket-guide.md) - [Trading apps resource page](https://docs.privy.io/recipes/trading-apps-homepage.md) - [Enabling server-side access to user wallets](https://docs.privy.io/recipes/wallets/session-signer-use-cases/server-side-access.md) - [Bankr Twitter bot guide](https://docs.privy.io/recipes/agent-integrations/bankr-bot-guide.md) - [Building a Telegram trading bot](https://docs.privy.io/recipes/telegram-bot.md) - [Using signers to execute limit orders with wallets](https://docs.privy.io/recipes/wallets/session-signer-use-cases/limit-orders.md) #### External wallets - [Wallet list configuration recipes](https://docs.privy.io/recipes/react/wallet-list-configurations.md): Common wallet list configurations with examples and screenshots - [Configuring external connectors](https://docs.privy.io/recipes/react/configuring-external-connectors.md) - [Using Solana standard wallets](https://docs.privy.io/recipes/solana/standard-wallets.md): A comprehensive guide to integrating and using Solana standard wallets in your application - [Integrating Solana mobile wallet adapter](https://docs.privy.io/recipes/solana/adding-solana-mwa.md) #### Tempo - [Overview](https://docs.privy.io/recipes/tempo/overview.md): Overview of integrating Tempo with Privy for stablecoin transactions and digital payments. - [Using Tempo with Privy](https://docs.privy.io/recipes/tempo/send-transactions.md) #### Hyperliquid - [Quickstart](https://docs.privy.io/recipes/hyperliquid-guide.md) - [Agent wallets](https://docs.privy.io/recipes/hyperliquid/agents-and-subaccounts.md) - [Executing trades](https://docs.privy.io/recipes/hyperliquid/trading-patterns.md) - [Policies](https://docs.privy.io/recipes/hyperliquid/policies-and-offline-actions.md) - [HyperEVM](https://docs.privy.io/recipes/hyperliquid/hyperevm.md) ##### Advanced - [Client-side SDKs](https://docs.privy.io/recipes/hyperliquid/client-side-usage.md) - [Subaccounts](https://docs.privy.io/recipes/hyperliquid/subaccounts.md) - [Builder codes](https://docs.privy.io/recipes/hyperliquid/builder-codes.md) #### Earn and borrow - [Overview](https://docs.privy.io/recipes/yield/overview.md): Overview of yield integration recipes with Privy wallets across DeFi protocols. - [Integrating Aave with Privy](https://docs.privy.io/recipes/yield/aave-guide.md) - [Integrating Ethena with Privy](https://docs.privy.io/recipes/yield/ethena-guide.md) - [Integrating Sky savings with Privy](https://docs.privy.io/recipes/yield/sky-savings-guide.md) - [Integrating Kamino with Privy](https://docs.privy.io/recipes/yield/kamino-guide.md) - [Integrating Pods with Privy](https://docs.privy.io/recipes/yield/pods-guide.md) - [Using Privy server wallets with yield.xyz AgentKit](https://docs.privy.io/recipes/yield/yield-agentkit-guide.md) - [Borrow with Morpho](https://docs.privy.io/recipes/yield/morpho-borrow.md) - [Earn yield with markets powered by Dolomite](https://docs.privy.io/recipes/community/dolomite-guide.md) #### AI & agents - [Overview](https://docs.privy.io/recipes/agent-integrations/overview.md): Overview of integrating Privy agentic wallets for autonomous AI agents and server-side automation. - [Agent CLI](https://docs.privy.io/recipes/agent-integrations/agent-cli.md) - [Authorized wallet access for self-hosted agents](https://docs.privy.io/recipes/agent-integrations/agent-authorization.md) - [Build a robo-advisor with Hermes agents and Robinhood chain](https://docs.privy.io/recipes/agent-integrations/robo-advisor-agent.md) - [Machine Payments Protocol (MPP)](https://docs.privy.io/recipes/agent-integrations/mpp.md) - [x402](https://docs.privy.io/recipes/agent-integrations/x402.md) - [Sanctions screening for x402 payments](https://docs.privy.io/recipes/agent-integrations/x402-sanctions-screening.md): Use Privy policies and condition sets to deny x402 payments to sanctioned recipient addresses on Base, Tempo, and Solana before anything is signed. - [Amazon Bedrock AgentCore](https://docs.privy.io/recipes/agent-integrations/agentcore-payments.md) - [OpenClaw agentic wallets](https://docs.privy.io/recipes/agent-integrations/openclaw-agentic-wallets.md) - [Privy Agent on auto.exchange](https://docs.privy.io/recipes/agent-integrations/auto-exchange-privy-agent.md) - [Virtuals EconomyOS with Privy wallets](https://docs.privy.io/recipes/agent-integrations/virtuals-economyos.md) #### Social & mini apps - [Build World mini apps with Privy](https://docs.privy.io/recipes/world/mini-apps.md) - [Building a Farcaster mini app](https://docs.privy.io/recipes/farcaster/mini-apps.md) - [Writing to Farcaster](https://docs.privy.io/recipes/farcaster/writes.md) #### UI customization and whitelabeling - [Configuring wallet confirmation modals](https://docs.privy.io/recipes/react/manage-wallet-UIs.md) - [Whitelabel](https://docs.privy.io/recipes/react/whitelabel.md) - [Setting a system theme for the Privy modal](https://docs.privy.io/recipes/system-theme.md) #### Dashboard - [Configure account transfer](https://docs.privy.io/recipes/dashboard/account-transfer.md) - [Recovering assets from a dashboard wallet](https://docs.privy.io/recipes/dashboard/recovering-assets.md): Move ERC-20 and SPL tokens out of a wallet when the Privy Dashboard does not support sending the asset, chain, or wallet type. - [Bot traffic mitigation](https://docs.privy.io/recipes/dashboard/preventing-bots.md) - [Configure allowed URLs](https://docs.privy.io/recipes/dashboard/allowed-domains.md) - [Configure allowed OAuth redirect URLs](https://docs.privy.io/recipes/react/allowed-oauth-redirects.md) - [Managing your allowlist with Airtable](https://docs.privy.io/recipes/dashboard/airtable.md) - [Customize your application](https://docs.privy.io/recipes/dashboard/customization.md) - [Single sign-on](https://docs.privy.io/basics/get-started/dashboard/sso.md): Configure SSO authentication for your team using Okta, Microsoft Entra ID, Google Workspace, or any SAML 2.0 provider #### Mobile - [Exporting wallet keys from mobile apps](https://docs.privy.io/recipes/mobile-key-export.md) - [Mobile SDK breadcrumbs](https://docs.privy.io/recipes/mobile-breadcrumbs.md): Register a breadcrumb handler to receive lightweight diagnostic events from the Privy iOS and Android SDKs and route them to your own analytics or observability tooling - [Handle account transfer in your mobile app](https://docs.privy.io/recipes/mobile-account-transfer.md): Catch account transfer conflicts on iOS and Android, and let users move a login method from an orphaned account to their currently authenticated account - [Read auth state from a background process](https://docs.privy.io/recipes/swift/background-auth-state.md): Use getAuthStateWithoutRefresh to safely check authentication state in background tasks and app extensions without triggering a network refresh - [Deeplinking Solana wallets in React Native applications](https://docs.privy.io/recipes/react-native/deeplinking-wallets.md) - [Clearing state on fresh installs](https://docs.privy.io/recipes/react-native/clearing-state-on-fresh-installs.md) - [Require MFA on every app session](https://docs.privy.io/recipes/react-native/mfa-on-app-session.md): Clear MFA state when your app is backgrounded so users must re-verify on their next session - [OAuth with Capacitor](https://docs.privy.io/recipes/capacitor-oauth.md) #### Ecosystem - [Abstract global wallet](https://docs.privy.io/recipes/ecosystem/abstract-global-wallet.md) #### Integrations - [Integrating the Base app](https://docs.privy.io/recipes/react/external-wallets/base-app.md) - [Using Base sub accounts](https://docs.privy.io/recipes/react/external-wallets/base-sub-accounts.md) - [Integrating Base builder codes](https://docs.privy.io/recipes/evm/base-builder-codes.md) #### Tooling - [Using the vanilla JavaScript SDK](https://docs.privy.io/recipes/core-js.md) - [Integrating Flashbots protect](https://docs.privy.io/recipes/flashbots-protect.md) - [Integrating with tRPC](https://docs.privy.io/recipes/trpc.md) - [Optimize your setup](https://docs.privy.io/recipes/dashboard/optimizing.md) #### Community written guides - [Getting started with Privy and TON (Vite + React)](https://docs.privy.io/recipes/community/ton-vite-react.md) - [Swapping crypto using Privy and Omniston](https://docs.privy.io/recipes/community/ton-omniston-swap.md) - [API reference (213 pages)](https://docs.privy.io/_llms/api-reference.md): Documentation for API reference. ## OpenAPI Specs - [openapi](https://api.staging.privy.io/v1/openapi.json) - [package](/package.json) > The links below point to documentation indexes. Follow each `/_llms/` index recursively until you reach documentation pages. ## Indexes - [API reference (213 pages)](https://docs.privy.io/_llms/api-reference.md): Documentation for API reference.