# Send payouts with stablecoins

Send payouts to your recipients' crypto wallets, or pay out your crypto balance to bank accounts in local currency.

Use your financial account to send *stablecoin* (A cryptocurrency pegged to a fiat currency or other asset to limit volatility. Stripe supports OUSD and USDC for stablecoin balances, although transfers on the Tempo network use USDC.e) payouts in the following ways:

- **Send payouts to crypto wallets**: Pay recipients from your financial account over a supported blockchain network.
- **Send your stablecoin balance to bank accounts**: Pay recipients from your stablecoin balance. Stripe converts the funds to a supported fiat currency and sends them to the recipient’s bank account.

## Send payouts to crypto wallets (Public preview)

Send payouts from your financial account to your recipients’ external crypto wallets in [more than 160 countries](https://docs.stripe.com/global-payouts/send-money/crypto-wallets.md#recipient-countries). Recipients receive stablecoins over a supported blockchain network. You can fund payouts from a USD or USDC balance in your financial account.

### Get access to crypto wallet payouts for businesses located in New York.

Enter your email to request access.

```bash
curl https://docs.stripe.com/preview/register \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Referer: https://docs.stripe.com/global-payouts/send-money/crypto-wallets" \
  -d '{"email": "EMAIL", "preview": "global_payouts_stablecoin_preview"}'
```

You can send the following stablecoins over these blockchain networks:

| Stablecoin | Supported networks |
| --- | --- |
| USDC | Arbitrum, Avalanche C-Chain, Base, Ethereum, Optimism, Polygon, Solana, Stellar, and Tempo |
| OUSD | Base, Ethereum, Solana, and Tempo |

Before you send a payout, confirm that the recipient’s wallet supports the stablecoin and blockchain network you intend to use.

> #### Availability for businesses in New York
> 
> Crypto wallet payouts are available to businesses in the US, except businesses located in New York. If your business is in New York, [sign up to get notified about access](https://docs.stripe.com/global-payouts/send-money/crypto-wallets.md#global_payouts_stablecoin_preview).

#### Dashboard

### Add the recipient’s wallet 

Create a recipient and add their crypto wallet as a payout method:

1. Go to [Recipients](https://dashboard.stripe.com/global-payouts/recipients).
2. Click **Add recipient**.
3. Enter the recipient’s email and country.
4. Enter the required recipient information and add their crypto wallet details.

You can reuse the recipient’s information for future payouts. See [Create recipients](https://docs.stripe.com/global-payouts/recipient-creation.md).

### Send the payout 

After you create the recipient and add their wallet address:

1. Go to [Payouts](https://dashboard.stripe.com/global-payouts/payouts).
2. Click **Send**.
3. Select the recipient.
4. Enter the amount you want to send.
5. Choose the recipient’s crypto wallet payout method and destination currency.
6. Click **Continue** and confirm the payout details.
7. Click **Submit**.

Before you submit the payout, check that the destination wallet, stablecoin, and blockchain network match the recipient’s intended destination. Stripe charges you in your balance’s currency.

### Track the payout 

Crypto wallet payouts typically arrive within minutes, but network conditions can delay final receipt. Track the payout’s status on the [Payouts](https://dashboard.stripe.com/global-payouts/payouts) page. See [Monitor and manage payouts](https://docs.stripe.com/global-payouts/manage-payouts.md#view-payout-status).

#### API

You can use either the [PayoutIntents API](https://docs.stripe.com/api/v2/money-management/payout-intents.md?api-version=preview) or the [OutboundPayments API](https://docs.stripe.com/api/v2/money-management/outbound-payments.md?api-version=preview) to send funds from your financial account to a recipient’s crypto wallet. PayoutIntents are in private preview. See [Send payouts](https://docs.stripe.com/global-payouts/send-money.md?dashboard-or-api=api) to request access.

Choose the API based on the payout lifecycle you need:

- **PayoutIntents API**: Create a PayoutIntent when you want to review or confirm the payout before sending it. Confirm the PayoutIntent when you’re ready to send the payout.
- **OutboundPayments API**: Create an OutboundPayment when you’re ready to send the payout immediately.

Both APIs use the same financial account, recipient, and crypto wallet payout method setup. For authentication and permissions, see [Send payouts](https://docs.stripe.com/global-payouts/send-money.md?dashboard-or-api=api).

### Use API keys

Sandbox secret keys work with the Global Payouts APIs, but full-access secret keys (`sk_live_...`) don’t work in live mode. For live requests, use a [restricted API key](https://docs.stripe.com/keys/restricted-api-keys.md). For a standard integration, [create one in the Dashboard](https://dashboard.stripe.com/apikeys/create) with these permissions:

- `Recipient Configuration: Write`
- `Money Management Financial Accounts: Read`
- `Money Management Payout Methods: Write`
- `Money Management Outbound Payments: Write`
- `Money Management Payout Intents: Write`

### Send the payout with the API 

Set the `Stripe-Version` header to the latest preview API version (2026-09-30.preview) for requests in this flow. Amounts in the `amount.value` property use the currency’s minor unit. For example, `100` represents 1.00 USD, and `1000000` represents 1.00 USDC.

1. Retrieve the funding [FinancialAccount](https://docs.stripe.com/api/v2/money-management/financial-accounts.md?api-version=preview) and save its `fa_` ID.
2. Create a recipient [Account](https://docs.stripe.com/api/v2/core/accounts.md) with the `crypto_wallets` capability requested.
3. Add the recipient’s wallet. Use Stripe-hosted onboarding with an [AccountLink](https://docs.stripe.com/api/v2/core/account-links.md), or create an [OutboundSetupIntent](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents.md?api-version=preview) if you collect the wallet address in your own flow. For recipient-scoped requests, set the `Stripe-Context` header to the recipient’s `acct_` ID.
4. Confirm that `configuration.recipient.capabilities.crypto_wallets.status` is `active`. The capability can’t become active until you provide the recipient’s name and address. See [recipient requirements](https://docs.stripe.com/global-payouts/recipient-requirements.md#stablecoin-payouts). Stripe verifies capabilities asynchronously, so listen for the [v2.core.account[configuration.recipient].capability_status_updated](https://docs.stripe.com/api/v2/core/accounts/event-types.md#v2_accounts_event_types-v2.core.account%5Bconfiguration.recipient%5D.capability_status_updated) webhook to learn when the status changes.
5. List the recipient’s [payout methods](https://docs.stripe.com/api/v2/money-management/payout-methods.md?api-version=preview). Select a crypto wallet payout method with `usage_status.payments` set to `eligible`, and save its `cwa_` ID.
6. Send the payout using one of the following APIs:
   - **PayoutIntents API**: Create a PayoutIntent with the funding financial account, recipient, crypto wallet payout method, and destination currency. To review the payout before Stripe sends it, set `confirmation_method` to `manual`, then [confirm the PayoutIntent](https://docs.stripe.com/global-payouts/send-money.md?dashboard-or-api=api#review-payout-intent-details-and-fees) when you’re ready to send it.
   - **OutboundPayments API**: Create an OutboundPayment. Set `amount.currency` and `from.currency` to the currency of the balance you’re paying from (`usd` or `usdc`), set `to.currency` to the stablecoin the recipient receives (`usdc` or `ousd`), and provide the funding financial account, recipient, and payout method IDs.
7. Save the returned object’s ID to monitor the payout.

If the funding currency differs from the stablecoin the recipient receives, Stripe converts the funds. Stripe then submits the payout to the selected blockchain network. Before you create or confirm the payout, verify the wallet address and blockchain network with the recipient.

### Track the payout with the API 

Crypto wallet payouts typically arrive within minutes, but network conditions can delay final receipt. To track a payout, retrieve the object you created:

- **PayoutIntents API**: Retrieve the PayoutIntent and inspect its latest payout after confirmation.
- **OutboundPayments API**: Retrieve the OutboundPayment.

After money movement begins, the resulting OutboundPayment can have the following statuses:

| Status | Description |
| --- | --- |
| `processing` | Stripe accepted the payout and holds the funds in the outbound pending balance. |
| `posted` | The funds left the financial account and Stripe submitted the payout on-chain. The recipient’s wallet or network might still delay availability. |
| `failed` | The payout failed before funds left the financial account. Stripe returns the funds to the available balance. |
| `returned` | The payout posted but didn’t reach the destination. Stripe returns the funds in a separate transaction. |

Use [webhooks](https://docs.stripe.com/webhooks.md) to monitor status changes instead of polling. At minimum, listen for the following events:

- `v2.money_management.outbound_payment.created`
- `v2.money_management.outbound_payment.posted`
- `v2.money_management.outbound_payment.failed`
- `v2.money_management.outbound_payment.returned`

V2 APIs generate thin events, so retrieve the related API resource to get the complete object. See [V2 events](https://docs.stripe.com/api/v2/core/events.md). Verify webhook signatures to confirm that events came from Stripe. See [verify events](https://docs.stripe.com/webhooks.md#verify-events).

### Test stablecoin payouts

Use the sandbox wallet addresses in [Test payouts](https://docs.stripe.com/global-payouts/testing.md) to simulate successful and failed crypto wallet payouts.

### Supported recipient countries 

You can send crypto wallet payouts to recipients in the following countries and regions:

- AD
- AE
- AG
- AM
- AO
- AR
- AT
- AU
- AZ
- BA
- BB
- BE
- BG
- BH
- BJ
- BN
- BO
- BR
- BS
- BT
- BW
- BZ
- CA
- CH
- CI
- CL
- CM
- CO
- CR
- CV
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- EC
- EE
- EG
- ES
- FI
- FJ
- FM
- FR
- GA
- GB
- GE
- GG
- GH
- GI
- GM
- GN
- GQ
- GR
- GT
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- ID
- IE
- IL
- IM
- IN
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KR
- KW
- KY
- KZ
- LA
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- MA
- MC
- MD
- ME
- MG
- MN
- MR
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NG
- NL
- NO
- NR
- NZ
- OM
- PA
- PE
- PG
- PH
- PL
- PT
- PW
- PY
- QA
- RO
- RS
- RW
- SA
- SB
- SC
- SE
- SG
- SI
- SK
- SL
- SM
- SN
- SR
- ST
- SV
- SZ
- TG
- TH
- TJ
- TL
- TM
- TO
- TR
- TT
- TV
- TZ
- UG
- US
- UY
- UZ
- VA
- VC
- VN
- VU
- WS
- ZA
- ZM

## Send your stablecoin balance to bank accounts (Private preview) 

Send funds from your stablecoin balance to a recipient’s external bank account in local currency. Stripe converts your stablecoins to the payout currency and sends the payout over local bank networks. This feature is in private preview. [Request access](https://docs.stripe.com/global-payouts/send-money/crypto-wallets.md#global_payouts_stablecoin_bank_payouts_preview).

### Get access to stablecoin balance payouts to bank accounts with Global Payouts.

Enter your email to request access.

```bash
curl https://docs.stripe.com/preview/register \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Referer: https://docs.stripe.com/global-payouts/send-money/crypto-wallets" \
  -d '{"email": "EMAIL", "preview": "global_payouts_stablecoin_bank_payouts_preview"}'
```

### Payout currencies and bank networks

The bank network depends on the payout currency. You can send stablecoin-funded bank payouts in the following currencies:

| Currency | Bank network |
| --- | --- |
| ARS | Local bank transfer |
| BRL | Pix |
| COP | Local bank transfer |
| EUR | SEPA |
| GBP | Faster Payments |
| MXN | SPEI |
| NGN | NIP |
| PHP | SWIFT |
| USD | ACH or wire transfer |

Availability depends on your account’s access and the recipient’s country. Before you send a payout, confirm that the destination supports the payout method you intend to use.

### Currency conversion and exchange rates

When a payout requires currency conversion, Stripe shows an estimate of the amount the recipient receives in their currency when you start the payout. The final amount might change based on the exchange rate when the payout completes. Review the payout details before you send the payout. For fees, see [Global Payouts pricing](https://stripe.com/pricing#global-payouts).

### Add the recipient’s bank account

Create a recipient and add their bank account as a payout method:

1. Go to [Recipients](https://dashboard.stripe.com/global-payouts/recipients).
2. Click **Add recipient**.
3. Enter the recipient’s email and destination country.
4. Select **Company** or **Individual** as the recipient type.
5. Enter the required recipient information and bank account details.

Required information and available payout methods depend on the recipient’s country and business type. See [Create recipients](https://docs.stripe.com/global-payouts/recipient-creation.md).

### Send the payout 

After you create the recipient and add their bank account:

1. Go to [Payouts](https://dashboard.stripe.com/global-payouts/payouts).
2. Click **Send**.
3. Select the recipient.
4. Enter the amount you want to send.
5. Choose the recipient’s bank account payout method.
6. Click **Continue** and check the payout details.
7. Click **Submit**.

Stripe converts your stablecoin funds as part of the payout, so you don’t need to convert your balance to fiat before you send it. Stripe charges you in your balance’s currency.

### Track the payout 

Track the payout’s status on the [Payouts](https://dashboard.stripe.com/global-payouts/payouts) page. Arrival time depends on the destination and bank network, and differs from the timing for crypto wallet payouts. See [Payout methods and limits](https://docs.stripe.com/global-payouts/payout-methods.md).

## See also

- [Stablecoin payout recipient requirements](https://docs.stripe.com/global-payouts/recipient-requirements.md#stablecoin-payouts)
- [Monitor and manage payouts](https://docs.stripe.com/global-payouts/manage-payouts.md)
