---
title: "Migrate from SWIFT wires to stablecoin payouts"
description: "Replace multi-day international wires with same-day stablecoin settlement over local rails, keeping SWIFT as a fallback where you still need it."
date: "2026-08-26"
category: "migrations"
products: ["payouts", "quotes", "compliance"]
---

Paste this prompt into your coding agent to move an international wire flow onto stablecoin rails corridor by corridor.

## Prompt

```text
You are migrating my application's international payments from SWIFT wire transfers to BlindPay stablecoin payouts, which convert USDC/USDT to local fiat and settle over local rails (Pix for BRL, SPEI for MXN, SEPA for EUR, ACH/RTP/wire for USD, Transfers 3.0 for ARS).

Before writing code, read these sources and follow them over any prior knowledge:
- https://blindpay.com/docs/llms.txt (read the payout quickstart, bank accounts, quotes, and payment methods pages)
- The OpenAPI spec: curl https://api.blindpay.com/doc

Do the migration in this order:
1. Inventory my current wire flow: where beneficiary bank details are stored, which currencies and countries we pay, how status is tracked, and what reconciliation looks like today. Produce a corridor-by-corridor mapping to BlindPay rails, flagging any corridor BlindPay does not cover so it stays on SWIFT (BlindPay also supports international_swift as a payment rail where needed).
2. Map beneficiary records to BlindPay: each payee becomes a customer (with KYC/KYB) plus one or more bank accounts with the local rail type. SWIFT fields like IBAN/BIC map to the rail-specific fields documented per bank account type.
3. Replace the wire initiation code path with quote (POST /v1/instances/{instance_id}/quotes) then payout (POST /v1/instances/{instance_id}/payouts/evm), executing before the quote's expires_at.
4. Replace status tracking: instead of waiting days for MT103 confirmations, drive state from payout.new, payout.update, and payout.complete webhooks with Svix signature verification.
5. Plan a phased rollout: dual-run one corridor first (shadow mode comparing costs and settlement times), then cut over corridor by corridor behind a feature flag, keeping the SWIFT path as fallback until each corridor is proven.

Constraints:
- Amounts in integer minor units; API keys server-side only.
- Build and test everything against a development instance (USDB on testnets) before touching production.
- Do not delete the legacy wire code until the rollback window closes.

Deliverables: the corridor mapping document, beneficiary migration script, the new payout code path behind a feature flag, webhook handlers, and a cutover checklist.
```

## How to use

1. Paste the prompt and point the agent at the code that currently initiates wires.
2. Review the corridor mapping it produces before letting it write the migration.
3. Dual-run one corridor before cutting over the rest.

## Related docs

- [Payout quickstart](https://blindpay.com/docs/quickstart-payout)
- [Payment methods](https://blindpay.com/docs/kb/payment-methods)
- [POBO and COBO over SWIFT](https://blindpay.com/pobo-cobo-swift)
