---
url: /docs/fiat/receive.md
description: >-
  Accept a bank transfer from a customer and credit stablecoins to their wallet
  or managed balance.
---

Receive covers the fiat-in side of BlindPay: a customer sends a bank transfer (ACH, wire, Pix, SPEI, Transfers, or PSE), and BlindPay converts it to stablecoins and credits the customer's wallet or managed balance. This section is for teams collecting money from customers, such as onramps, remittance apps, or marketplaces paying in fiat.

## How it works

Every payin starts with a quote that locks the payment method, amount, fee split, and destination for 5 minutes. Create the payin within that window.

```
payin quote -> payin (create within 5 min) -> BlindPay detects the deposit -> settled
```

1. Create a payin quote. It returns the payment instructions to hand to the sender.
2. Create the payin, referencing the quote.
3. BlindPay watches for the deposit, converts it, and sends stablecoins to the customer.

### Payment methods

| `payment_method` | Currency | What the sender sees |
| --- | --- | --- |
| `ach` | USD | `memo_code` + `blindpay_bank_details` |
| `wire` | USD | `memo_code` + `blindpay_bank_details` |
| `pix` | BRL | `pix_code` (copyable text or QR code) |
| `spei` | MXN | CLABE number |
| `transfers` | ARS | CBU number |
| `pse` | COP | payment link |

For `ach`/`wire`, the memo code is shown only when the customer has no enabled virtual account; with one, BlindPay displays dedicated account details instead and ignores the memo code. See [virtual accounts](/fiat/virtual-accounts).

## Cover fees

Fees can be paid by either party. Set `cover_fees` on the payin quote:

| `cover_fees` | Who pays | Fee is deducted from |
| --- | --- | --- |
| `false` | The customer | The stablecoin amount the customer receives (most common) |
| `true` | The sender | The fiat amount the sender sends, added on top |

## In this section

* [Payin quotes](/fiat/payin-quotes): lock the payment method, amount, fee split, and destination.
* [Payins](/fiat/payins): create the payin from a quote and track it through settlement.

## Related

* [Virtual accounts](/fiat/virtual-accounts): give a customer their own dedicated bank account
* [Send](/fiat/send): pay out from stablecoins to a bank account
* [Cut-off times](/kb/cut-off-times): settlement windows by payment method
* [Webhooks](/learn/webhooks): get notified as a payin progresses
