Skip to main content
To deposit crypto into a wallet, configure crypto deposit addresses. These enable you to send crypto to a wallet and have it automatically be bridged or swapped to a target asset. By default, crypto deposits use dedicated source wallets, separate from the destination. The optional deposit address strategy controls destination reuse. Dedicated source wallets do not necessarily share the destination wallet’s owner configuration. Exporting a source wallet for asset recovery makes it ineligible for deposit automations; exporting only the destination does not affect a separate deposit source. Deposit addresses are reusable for their configured route. Repeated calls reuse eligible source wallets. Switching to dedicated preserves previous routes, while explicit destination reuse replaces all existing automation attachments on the destination wallet, including matching and disabled ones. Learn about deposit address behavior.
Under the hood, crypto deposits use wallet automations and the swap API.

How a crypto deposit works

  1. Create a crypto deposit account on a destination wallet, with the assets to accept and the asset to deliver.
  2. Fetch each deposit_address for the wallet.
  3. Send crypto to the deposit_address based on its route configuration.
  4. Funds are converted and delivered to the target wallet.

Supported assets

Crypto deposits support major assets through Privy’s canonical asset aliases, including USDC, USDT, ETH, and SOL. They also support many long-tail assets identified by an EVM token contract address or Solana token mint address. When funds arrive at a deposit address, the wallet automation fetches a quote and forwards the funds to the configured destination when a liquidity pathway is available. Recognizing an asset or matching it with an all or exclude filter does not guarantee that it can be converted to every destination. To check whether a specific source asset, destination asset, and chain pair is currently supported, request a deposit quote. A successful quote confirms that a route is available at that time and returns its estimated output. Route availability and liquidity can change before a later deposit.

Canonical asset aliases

Privy supports the following well-known assets natively on the chains where they are available.
For the most up-to-date list of Privy’s well-known assets and the specific chains where they are available, visit the Asset watchlist section of the Privy Dashboard.

Supported chains

Crypto deposit addresses use wallet automations to detect incoming deposits on the following mainnet chains: This table describes deposit detection. Conversion also requires an available liquidity pathway and app-pays gas sponsorship on the source chain. Use the deposit quote API to check a specific source asset, destination asset, and chain pair.

Pricing and quotes

Call POST /v1/deposit_accounts/crypto/quote for current pricing on a specific asset pair, chain pair, and deposit amount. Read estimated_output_amount to preview the amount delivered after conversion. See quote a deposit route for examples. Deposit quotes are indicative. Creating a reusable address does not lock a price for future deposits. Pricing and liquidity can change before a deposit is converted, so fetch a fresh quote when showing a deposit estimate.

Gas and fee sponsorship

Gas sponsorship and swap provider fee sponsorship cover different costs. Configure them separately on the app’s Fee sponsorship page in the Privy Dashboard. Without swap provider fee sponsorship, provider fees are paid from the transferred or swapped amount. Provider fee sponsorship is configured per app and applies to all supported routes, rather than individual users or executions. Sponsorship does not expand supported assets, chains, or routes. Sponsored costs use the account’s shared prepaid credit balance or postpaid billing. Postpaid billing is available on the Enterprise plan. Crypto deposit addresses require app-pays gas sponsorship on every source chain. User-pays mode does not satisfy this requirement. Swap provider fee sponsorship is optional; gas sponsorship alone can still leave conversion or bridging fees deducted from the output. Follow the crypto deposit setup guide to enable the required settings.

Getting started

Setup

Configure app-pays gas sponsorship

Deposit modal

useDepositFunds for the prebuilt deposit UI

Create a deposit account

Provision deposit addresses, including useHeadlessCryptoDeposit in React and React Native

Quotes

Indicative route quotes before creating an address

Orders

Poll sweep status after a deposit is sent