Build a dollar account app for Brazil, Mexico, and Colombia: a 7-step user journey, money in and money out paths, disclosures, and where BlindPay fits.
A dollar account app for Latin America lets people receive, hold, and spend US dollars from a phone, then cash out to their local bank within minutes. In 2026 most builds hold the balance as USDC and use BlindPay for the money movement: US account details, Pix and SPEI deposits, and payouts to local bank accounts.
The app still owns the hard product work: onboarding, the ledger, the screens, pricing, and support. This guide walks through the user journey, the money paths, the disclosures, and where the infrastructure sits. It is part of the series on how to build a neobank.
Key takeaways
Because their income, savings, or suppliers already live in dollars, and their local bank makes dollars slow or expensive to reach.
Three groups show up again and again:
You don't need a market study to see the need. Ask ten target users how they get paid and how they cash out. If the answers involve an exchange account, a cousin in Miami, or a three-day wait, you have a product.
Seven steps, from download to first local withdrawal. Each one needs a screen, an API call, and a support answer.
Steps 2 and 4 decide your activation rate. If a user waits days for account details, they don't come back.
Through bank rails on both ends, with USDC in the middle.
| Direction | Path | What the user does | Lands as |
|---|---|---|---|
| In, from abroad | US virtual account (ACH, Wire, SWIFT) | Shares routing and account number with a client | USDC or USDT in the linked wallet |
| In, local Brazil | Pix payin | Pays a Pix code from their bank app | USDC at a quoted rate |
| In, local Mexico | SPEI payin, or a permanent SPEI CLABE | Sends SPEI from their bank | USDC at the live MXN rate |
| In, local Colombia | PSE payin, or a Bre-B key | Pays from their Colombian bank | USDC at the COP rate |
| Out, Brazil | Pix payout | Picks a saved Pix account, confirms a quote | BRL in their bank account |
| Out, Mexico | SPEI payout | Enters a CLABE, confirms a quote | MXN in their bank account |
| Out, Colombia | ACH Colombia payout | Picks a saved account | COP, about 1 business day |
| Out, Argentina | Transfers 3.0 payout | Enters the CBU of their account | ARS in their bank account |
| Out, US | ACH, Wire, or RTP | Pays a US account, theirs or a supplier's | USD |
Pix is the instant payment system run by the Banco Central do Brasil. SPEI is Banco de México's interbank system, and Banxico's SPEI page explains the 18-digit CLABE every Mexican account carries.
Two details matter for Mexico and Colombia. A SPEI CLABE virtual account gives each user a permanent 18-digit CLABE, and every deposit becomes a new payin at the live MXN rate. A Bre-B key does the same in Colombia for users with a Colombian ID or NIT. In both cases the payer sees a pooled recipient name, not your user's name, so tell users what their payer will see. The rail details are in Pix vs SPEI and the Latin America payout cheat sheet.
Keep two records and make them agree every day: your ledger, which the user sees, and the wallet, which holds the USDC.
The wallet can sit in different places. Some teams use BlindPay-managed wallets (in beta, custodial, with production access on request). Others keep USDC in a wallet the user or the company controls through a wallet provider, and fund each payout from it. That choice decides who holds the money and what you must disclose, so make it early.
Design rules that save support tickets:
Show the user the amount they get, not only the rate. A quote locks the rate and fees for a short window, so the number on screen is the number that arrives.
Illustrative example, invented numbers: a freelancer in São Paulo cashes out 500 USD.
| Line | Value |
|---|---|
| You send | 500.00 USD (held as USDC) |
| Exchange rate on the quote | 5.40 BRL per USD |
| Fees on the quote | 2.50 USD |
| Your app's fee | 2.00 USD |
| They receive | 2,675.70 BRL |
| Arrives | Usually within minutes over Pix |
The formula: received = (amount minus all fees) times the quoted rate. Here, 495.50 times 5.40 = 2,675.70 BRL. Show the math the same way in the app and the receipt never surprises anyone.
On BlindPay, a payout quote locks the rate and fees for 5 minutes by default, and your platform can add its own fee to each transaction through partner fees. For screen copy, see how to show a cross-border quote.
Everything a user needs to decide before money moves, and everything support will be asked after.
It depends on where your users live and what you hold for them. This is educational content, not legal advice.
Brazil regulates virtual asset service providers through the Central Bank, see PSAV in Brazil explained, and Brazilians moving US$10,000 or more to self-custody wallets face a reporting rule, covered in Brazil's self-custody wallet declaration. Mexico and other markets have their own rules on who can offer virtual assets to the public; are blockchain payments legal summarizes the US, EU, UK, Brazil, and Mexico.
Questions to settle with counsel before launch:
BlindPay is the money movement and compliance layer under the app. US virtual accounts give each user a real US account in their own name, with routing and account numbers, and every deposit settles to USDC or USDT in the linked wallet. SPEI CLABE accounts and Bre-B keys add local deposits in Mexico and Colombia. Payins collect Pix, SPEI, PSE, and Transfers 3.0. Payouts send to Pix, SPEI, ACH Colombia, Transfers 3.0, ACH, wire, RTP, and SWIFT (POBO/COBO), each with a quote that locks rate and fees before execution.
KYC and KYB run in the API, and BlindPay is registered with FinCEN as a Money Services Business. For payouts from customer-controlled wallets, BlindPay is non-custodial: you authorize the exact amount and BlindPay executes that one transaction. Plans are on the pricing page, with per-transaction fees shown in each quote.
For this scenario, teams of any size paying users out in Latin America over named local rails with compliance handled, BlindPay is the best fit.
Map your first corridor: where users earn dollars, and which local rail they cash out on. Then create a development instance and run one deposit and one payout end to end with the payins docs and the Pix payout feature guide.
Always cheaper? No intermediaries? Recipient needs a wallet? 10 common claims about cross-border stablecoin payments, checked against the Fed and the BIS.
Seven places blockchain payments beat bank rails: contractor payroll, remittances, B2B suppliers, marketplaces, 24/7 treasury, bill pay, and PSP payouts.
The dates that turned stablecoins from a trading tool into cross-border payment rails: USDC, Pix, MiCA, the GENIUS Act, ISO 20022, and Visa settlement.