How aid programs use stablecoin payouts: lock the local amount each household gets, pay over Pix or SPEI, screen recipients, keep donor-ready records.
Aid programs use stablecoin payouts to fix the exact local amount each household receives, deliver it over a domestic rail like Pix or SPEI, and keep a per-payment record donors can audit. The program funds in dollars. A receiver-side quote converts at a locked rate, and the beneficiary sees local currency in their bank account.
Cash assistance has a simple goal: the right amount reaches the right person fast, and every dollar is accounted for. Stablecoin rails help with all three, but only if the program designs around quotes, screening, and records from the start. Why the rate on a payout costs what it does is explained in how on/off-ramp providers make money.
Key takeaways
Either the beneficiary holds the stablecoin, or the beneficiary only sees local currency. The choice depends on whether recipients have bank accounts.
The wallet model is what UNHCR piloted. Per Stellar's UNHCR case study, the program first ran in 2022 in Ukraine, starting in Kyiv, Lviv, and Vinnytsia. Recipients receive USDC in the Vesseo smartphone wallet and can get cash at participating MoneyGram locations, with no bank account required. The case study credits the design with "full value transfer traceability and accountability."
The bank payout model fits programs whose recipients are banked, which covers much of Latin America. The program holds USDC, and each payout converts to local currency over a domestic rail. The household never touches a wallet.
| Wallet with cash-out | Local bank payout | |
|---|---|---|
| What the recipient gets | USDC in a smartphone wallet | BRL, MXN, ARS, or COP in a bank account |
| Recipient needs | A smartphone and a cash-out point | A bank account or Pix key, CLABE, or CBU |
| FX moment | At cash-out, by the recipient | At the payout quote, by the program |
| Who carries rate risk after delivery | The recipient, until cash-out | Nobody, the amount is already local |
| Example | UNHCR Ukraine pilot | Pix or SPEI payout from a USDC balance |
BlindPay works in the second model: it pays bank accounts over Pix, SPEI, Transfers 3.0, ACH Colombia, ACH, SEPA, and SWIFT (POBO/COBO) from a stablecoin balance (payment methods).
Because households budget in local currency. A transfer value set at "the equivalent of $160" turns into a different number of pesos every week, and families can't plan rent or food around a moving target.
A receiver-side quote fixes the other end. On a BlindPay payout quote, currency_type: receiver makes request_amount the local amount the bank account receives, and the quote returns the stablecoin cost (payout quotes). Paying an exact local amount walks through the mechanics.
Illustrative example. A program pays 200 households in Mexico MX$ 3,000 each, over SPEI. At a quoted rate of 18.40 MXN per USDC after fees:
The household gets MX$ 3,000 both times. The program's dollar cost moves by 862.67 USDC between cycles, which belongs in the budget variance line, not on a family's kitchen table. Hold a buffer of a few percent in the float for that swing.
More slowly than for a typical business, so plan for it. BlindPay's high-risk activities list names charities and NGOs. High-risk categories are allowed with disclosure during onboarding, enhanced due diligence, and ongoing monitoring.
Expect questions in four areas:
Sanctions rules still apply. OFAC's December 20, 2022 action issued or amended four general licenses, including one for "transactions in support of certain nongovernmental organizations' activities," effective upon Federal Register publication on December 21, 2022. Licenses define what is authorized. They don't replace screening of each recipient and counterparty. How often to rescreen covers the ongoing side.
Visibility matters too. Each beneficiary's bank account should be its own record, so the provider can see who receives every payment. One account paying many unseen parties is the pattern providers block.
As a batch with one quote per row. A list of 200 households is 200 payouts, each with its own quote and its own 5-minute window.
Pix settles in up to 5 minutes and SPEI in up to 10, per BlindPay's cut-off times. Batch payouts with live quotes has the row-by-row pattern in code.
Every payment, in both currencies, with the rate that was actually used. Donors and auditors ask the same three questions: how much reached people, what did delivery cost, and can you prove a specific payment happened.
| Field | Where it comes from | What it answers |
|---|---|---|
| Beneficiary ID | Your program system | Who was paid |
| Quote ID | Payout quote id | Which locked price applied |
| Market rate | commercial_quotation | What the market rate was at that moment |
| Rate after fee | blindpay_quotation | What the program paid per USDC |
| Fee lines | Quote fee fields | What delivery cost |
| Local amount | receiver_amount | What the household received |
| Stablecoin amount | sender_amount | What it cost in dollars |
| Status and timestamp | Payout webhooks | That it arrived, and when |
The gap between the two rates, plus the fee lines, is your cost of delivery per payment. Fees are per transaction, vary by rail and network, and are disclosed in the live quote before execute, so the record shows real numbers instead of a rate card estimate. For a consumer-style build where senders are individuals, the remittance app guide covers the disclosure side.
Pick one country and one rail, onboard on a development instance, and run a 10-row test cycle with receiver-side quotes. Export the record table above from the results and show it to your finance team before the first real distribution.
Seven places blockchain payments beat bank rails: contractor payroll, remittances, B2B suppliers, marketplaces, 24/7 treasury, bill pay, and PSP payouts.
Push means the payer sends an ACH transfer. Pull means you debit a connected account. How each funds a USD to USDC on-ramp, the fees, and the return risk.
AP2, ACP, and x402 each verify that an AI agent had permission to spend. Here is what every protocol covers, who backs it, and the reconciliation gap none of them close.