This feature is experimental and may change as we iterate.

Overview
Privy provides auseDepositAddress hook in @privy-io/react-auth that opens a deposit address flow in the Privy modal.
Your app can use this hook to let authenticated users fund a wallet by sending crypto from any supported source chain. Privy generates a unique deposit address, and when the user sends tokens to it, the funds are automatically bridged or swapped and delivered to the destination wallet.
This is useful when users already hold crypto on a different chain than the one your app uses, or in a different wallet, app, or exchange.
Prerequisites
Before using the deposit address hooks, enable the deposit address feature for your app in the Privy Dashboard. See here for full guidance.Access the hook
Import and initializeuseDepositAddress:
Start a deposit address flow
CallcreateDepositAddress with a destination chain, currency, and wallet address:
createDepositAddress returns a Promise<void> that resolves when the deposit completes successfully, and rejects if an error occurs or the user exits the flow.
destinationChain accepts a CAIP-2 identifier (for example, eip155:8453 for Base or
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp for Solana mainnet).Parameters
createDepositAddress accepts an object with the following fields:
CAIP-2 chain identifier for the destination (e.g.
eip155:8453 for Base,
solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp for Solana mainnet).Token contract address on the destination chain. Use the zero address for native tokens.
Wallet address to receive the deposited funds.
Returns
createDepositAddress returns a Promise<void> that resolves when the deposit completes successfully. The promise rejects if an error occurs or the user exits the flow.
Supported chains
Destination chains
Your app specifies the destination chain when callingcreateDepositAddress. The following destination chains are supported:
| Chain | CAIP-2 identifier |
|---|---|
| Abstract | eip155:2741 |
| Arbitrum | eip155:42161 |
| Base | eip155:8453 |
| BNB Chain | eip155:56 |
| Ethereum | eip155:1 |
| HyperEVM | eip155:999 |
| Hypercore | eip155:1337 |
| Monad | eip155:143 |
| Optimism | eip155:10 |
| Polygon | eip155:137 |
| Solana | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Tron | tron:20191129 |
Source chains
Users can deposit from a wide range of chains and assets, including Bitcoin, Solana, and other tokens. The Privy modal automatically presents available source options based on the destination configuration.Example
If the user does not have an existing embedded wallet on the source chain, Privy automatically
creates an embedded wallet to serve as the refund address in case the deposit fails. For apps
using on-device execution, this wallet is created using TEE infrastructure.
Related
Funding overview
All available methods for funding wallets.
Fiat onramp
Fund wallets with fiat via card, Apple Pay, or Google Pay.

