Skip to main content

Which wallet receives a crypto deposit?

A deposit first arrives in a source wallet, whose address is the deposit address. Privy then converts the funds and delivers them to the destination wallet. See how crypto deposits work. By default, Privy creates a separate source wallet for the depositing user in each source chain family. The create response returns its ID as wallet_id. Privy reuses this wallet for later requests on the same route while it stays eligible. It appears in the user’s linked accounts as an embedded wallet. If the user had no embedded wallet in that chain family, it becomes their primary one. The default dedicated strategy never uses the destination wallet or the user’s other wallets as a source wallet. With prefer_destination or require_destination, the destination wallet is its own source wallet for its chain family. See where deposit addresses live.

How can users recover funds from a source wallet?

If your app meets the Privy Home prerequisites, users can see source wallets and their balances there. If your app also allows key export, users can export the private key and move funds with another wallet. Exporting a source wallet stops Privy from converting deposits sent to it. By default, later requests use a new source wallet, and useDepositFunds shows its address the next time it opens.