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.

Getting started

Setup

Enable swaps and 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