---
url: /docs/migrations.md
description: >-
  Move an existing integration to BlindPay: wallet and custody providers,
  stablecoin payment platforms, manual payouts, and SWIFT wires, each with a
  concept map and a copy-paste agent prompt.
---

Each guide below maps a provider's concepts to their BlindPay equivalents, walks through the migration in order (inventory, re-onboarding, quote-then-execute rebuild, webhooks, cutover), and ends with a copy-paste prompt you can hand to a coding agent to run the migration against your own codebase.

All migrations share the same backbone: counterparties become BlindPay [customers](/docs/learn/customers) with [bank accounts](/docs/bank-accounts), money movement becomes a [quote](/docs/payout-quotes) followed by an execute call, and settlement tracking becomes Svix-signed [webhooks](/docs/learn/webhooks). Compliance status never transfers between providers, so every guide sequences KYC/KYB re-verification before cutover.

## Wallet and custody providers

Keep the provider for custody and signing where it makes sense; these guides move the stablecoin-to-fiat leg to BlindPay.

* **[Anchorage Digital](/docs/migrations/anchorage)**: map transfers, withdrawals, and settlement events to quotes, payouts, and webhooks.
* **[BitGo](/docs/migrations/bitgo)**: map wallets, transfers, and settlement webhooks to customers, quotes, and payouts.
* **[Cobo](/docs/migrations/cobo)**: replace the Cobo Payments fiat leg while Cobo keeps custody.
* **[Coinbase CDP](/docs/migrations/coinbase-cdp)**: add Pix, SPEI, SEPA, ACH, and wire payouts while CDP wallets keep custody.
* **[Crossmint](/docs/migrations/crossmint)**: move the fiat leg while Crossmint keeps wallets, checkout, or orchestration.
* **[Dfns](/docs/migrations/dfns)**: map transfers and exchange withdrawals to quotes and payouts from registered external wallets.
* **[Dynamic](/docs/migrations/dynamic)**: register the Dynamic wallet, then quote and execute payouts.
* **[Fireblocks](/docs/migrations/fireblocks)**: map payout instruction sets and fiat accounts while Fireblocks stays custodian.
* **[Privy](/docs/migrations/privy)**: register the Privy wallet, then quote and execute payouts.
* **[Turnkey](/docs/migrations/turnkey)**: map payout accounts, quotes, and webhooks while Turnkey keeps signing.
* **[Utila](/docs/migrations/utila)**: map vaults, wallets, transactions, and webhooks while Utila stays custodian and signer.

## Payment platforms

Full replacements: the whole customer, ramp, and settlement surface moves to BlindPay.

* **[Bridge](/docs/migrations/bridge)**: map customers, external accounts, liquidation addresses, and transfers.
* **[Circle](/docs/migrations/circle)**: move Mint, Payouts, or Circle Payments Network flows to quote-and-execute over local rails.
* **[Conduit](/docs/migrations/conduit)**: move counterparties, corridors, and settlement tracking.
* **[Fern](/docs/migrations/fern)**: move customers, wallets, on/off ramps, and webhook-driven settlement.

## Legacy rails

* **[Manual bank payouts](/docs/migrations/manual-payouts)**: turn a spreadsheet-and-bank-portal operation into a webhook-driven API flow.
* **[SWIFT wires](/docs/migrations/swift-wires)**: replace multi-day wires with same-day settlement over local rails, keeping SWIFT as a fallback.

## How the guides work

### Read the concept map

Each guide opens with a table mapping the provider's objects and IDs to BlindPay's: customers (`re_`), bank accounts (`ba_`), quotes (`qu_`), payouts (`po_`), payins (`pi_`), and managed wallets (`bl_`). Anything with no direct equivalent is flagged instead of guessed.

### Run the copy-paste prompt

Every guide ends with a prompt written for coding agents. Point your agent at your codebase, paste the prompt, and review the migration report it produces before approving code changes.

### Cut over per corridor

Develop against a [development instance](/docs/learn/sandbox-vs-production) first, run old and new paths in parallel behind a feature flag, and retire the legacy path only after in-flight settlements clear.

Compliance status does not transfer between providers. Plan KYC/KYB re-verification on BlindPay before cutover; see [KYC basics](/docs/kb/kyc-basics) and [KYB documents](/docs/kb/kyb-documents).

## Next steps

* [Quick start: stablecoins to bank transfer](/docs/quickstart-payout)
* [Build with AI](/docs/build-with-ai)
* [Supported countries](/docs/kb/supported-countries)
