---
url: /docs/stablecoin/transfer.md
description: >-
  Move stablecoins between BlindPay managed wallets or to any external address
  on the same chain, using the BlindPay API.
---

A transfer moves stablecoins out of a managed wallet (`wallet_id`, `bl_...`) to another managed wallet or to any external blockchain address. Unlike on-ramp and off-ramp, a transfer has no fiat leg: both sides of the move are stablecoin.

## How it works

Every transfer follows the same two-step flow as a payin or payout: create a quote, then execute it.

| Step | Call | Purpose |
| --- | --- | --- |
| 1 | Create a [transfer quote](/stablecoin/transfer-quotes) | Lock in the amount, token, and network for the move |
| 2 | Execute the [transfer](/stablecoin/transfers) | Consume the quote and send the stablecoins |

* **Source**: a managed wallet (`wallet_id`, `bl_...`) that holds the stablecoin balance
* **Destination**: another managed wallet's address, or any external blockchain address the receiver controls
* **Token and network**: must be identical on both sides while the feature is in beta

Transfer quotes are consumed the same way payin and payout quotes are: create one, then execute against its ID before it expires. Because there is no fiat conversion involved, the quote step exists mainly to lock in the amount and destination, not to price an exchange rate.

## In this section

* [Transfer quotes](/stablecoin/transfer-quotes): create a quote that locks in the source wallet, destination, token, network, and amount
* [Transfers](/stablecoin/transfers): execute a transfer against a quote and track its status

## Related

* [Managed wallets](/stablecoin/wallets): create and fund the source wallet for a transfer
* [Blockchain wallets](/stablecoin/blockchain-wallets): register an external destination address
* [Send](/stablecoin/send): convert stablecoins held in a wallet to fiat instead of moving them on-chain
* [Supported chains](/kb/supported-chains): chain and token support matrix
