---
url: /docs/fiat.md
description: >-
  Connect to US, Brazilian, and LatAm bank rails. Issue virtual accounts, accept
  deposits, and pay out, all through one REST API.
---

BlindPay's fiat APIs connect your product to bank rails in the US, Brazil, Mexico, Argentina, Colombia, and Europe. Issue a virtual account in each customer's name, accept deposits over ACH, wire, or Pix, and pay out to any bank account (including SWIFT), all through a single REST API.

Under the hood, every dollar or real you move settles through stablecoins. You don't need to think about that layer to use the fiat APIs: BlindPay manages the conversion step for you and hands you bank-rail primitives (virtual accounts, payins, payouts) on top. If you want the crypto mechanics, see the [stablecoin docs](/stablecoin/).

## What's available

| Capability | Description |
| --- | --- |
| Virtual accounts | A dedicated bank account issued in each customer's name. US accounts get their own routing and account number; Brazilian accounts support Pix, TED, and Boleto |
| Receive (payins) | Accept ACH, wire, Pix, SPEI, Transfers, or PSE deposits; every incoming payment is tracked as a payin |
| Send (payouts) | Pay out to any bank account: ACH, wire, SWIFT, RTP, Pix, SPEI, ACH COP, Transfers, or SEPA |
| Webhooks | Real-time events for every deposit and payout state change |

## Supported corridors

| Payment method | Currency | Direction | Settlement |
| --- | --- | --- | --- |
| ACH | USD | Receive | Up to 5 business days |
| ACH | USD | Send | ~2 business days |
| Wire | USD | Receive | Up to 5 business days |
| Wire | USD | Send | ~1 business day |
| SWIFT (international) | USD | Send | ~5 business days |
| RTP | USD | Send | Instant |
| Pix | BRL | Receive + send | Instant (up to 5 min to confirm) |
| SPEI | MXN | Receive + send | Instant (up to 5 min to confirm) |
| Transfers | ARS | Receive + send | Instant (up to 5 min to confirm) |
| PSE | COP | Receive | Up to 5 min (payment link) |
| ACH COP | COP | Send | ~1 business day |
| SEPA | EUR | Send | ~1 business day |

Receive-side timing applies to production instances. On development instances, every payin auto-completes about 30 seconds after initiation, regardless of method.

Brazilian virtual accounts also accept TED and Boleto deposits. These are virtual-account-only rails (not available as standalone payin payment methods) and aren't listed above.

## The fiat model

The same model applies, read through a bank-rails lens:

| Verb | What it means in fiat terms | Docs |
| --- | --- | --- |
| Receive | A bank deposit (ACH, wire, Pix, SPEI, Transfers, PSE) arrives and is recorded as a payin | [Bank transfer in](/fiat/receive) |
| Send | A payout moves funds out to any bank account you've added for a customer | [Pay out to bank](/fiat/send) |

## How funds move

Every payin and payout still settles through stablecoins behind the scenes. You don't sign anything on-chain to use the fiat APIs (BlindPay custodies the conversion step); these diagrams show what happens after you call the API.

### Fiat in (payin)

1. **Deposit.** The sender moves funds from their bank account to either a virtual account issued for that customer, or BlindPay's own bank details with a memo code.
2. **Confirmation and delivery.** Once the deposit is confirmed, BlindPay completes the payin and the equivalent value lands wherever you configured it to (a managed wallet balance, ultimately payable out again, or an external wallet if you're integrating with the stablecoin side).

### Fiat out (payout)

1. **Authorization.** Funds are authorized for the payout amount (handled for you when paying out of a BlindPay-managed wallet balance; see [Pay out to bank](/fiat/send)).
2. **Collection and conversion.** BlindPay collects the authorized funds and starts the fiat transfer over the local rail: ACH or wire in the US, Pix in Brazil, SPEI in Mexico, Transfers in Argentina, and so on.
3. **Settlement.** Once the receiving bank confirms the transfer, the payout completes and the recipient has their funds in local currency.

## Get started

* [Receive your first payment](/fiat/quickstart): create a customer and accept a deposit, step by step
* [Virtual accounts](/fiat/virtual-accounts): how virtual accounts work, approval stages, and required fields
* [Bank transfer in](/fiat/receive): payin quotes, payment methods, and what to show the payer
* [Pay out to bank](/fiat/send): add a bank account and send a payout

## Related

* [Introduction](/introduction)
* [Learn: instances](/learn/instances)
* [Learn: webhooks](/learn/webhooks)
* [Knowledge base: KYC](/kb/kyc)
* [Stablecoin docs](/stablecoin/)
