How to fund a stablecoin card with Pix or SPEI, and cash out what is left

The full top-up and cash-out loop for stablecoin cards in Brazil and Mexico: Pix and SPEI payins, where FX happens, timing, limits, and what to check.

Reading time: about 8 minutes.

Summary: To fund a stablecoin card in Brazil or Mexico, create a local payin: the cardholder pays a Pix code or sends SPEI to a CLABE, the deposit converts into USDC or USDT, and it lands in the wallet the card spends from, usually within minutes. Cashing out reverses the path over Pix or SPEI. Plan for FX at each step.

Key takeaways

  • Pix and SPEI fund a card through a payin per top-up, not through a standing bank account.
  • Both rails run around the clock. BlindPay lists Pix payin arrival at up to 5 minutes and SPEI at up to 10.
  • A USD stablecoin card funded in BRL and spent in BRL converts currency twice. Show that to users.
  • Cash-out over Pix or SPEI is what makes cardholders comfortable topping up more than they need.
  • Credit the card on payin completion, never on creation.

The Latin America card guide covers why stablecoin cards caught on in the region. The local on-ramp guide covers the payin mechanics for every rail. This page connects the two. It follows one cardholder's money through the whole loop: BRL or MXN in, card spend, and whatever is left back to their bank.

How does the top-up loop work end to end?

The loop has three legs. Local currency in through a payin, card spend from the stablecoin balance, and an optional payout back to local currency. Each leg is a separate transaction with its own quote, status, and rate.

text
Top-up:   Bank app ──Pix code / CLABE──▶ Payin ──BRL or MXN → USDC──▶ Card wallet
Spend:    Card wallet ──authorization + settlement──▶ Merchant paid in local currency
Cash-out: Card wallet ──USDC → BRL or MXN──▶ Payout ──Pix / SPEI──▶ Bank account

The card issuer owns the middle line. The first and last lines belong to the funding and payout layer.

How does a Pix top-up work, step by step?

A Pix top-up is a quote, a code, and a webhook. The cardholder never leaves their bank app.

  1. Quote. Your app requests a payin quote for the BRL amount, with pix as the method and the card wallet as the destination. The quote locks the amount, fees, and destination for 5 minutes (payin quotes).
  2. Create the payin. Create the payin from the quote inside that window. The response carries a pix_code.
  3. Show the code. Display it as copyable text and a QR code. The cardholder pays it from any Brazilian bank app.
  4. Wait for the deposit. BlindPay watches for the payment. Pix runs 24/7 (BCB), and BlindPay's cut-off table lists Pix payin arrival at up to 5 minutes.
  5. Credit the card. BRL converts into USDC or USDT and goes on-chain to the card wallet. On payin.complete, update your ledger. The card can spend it.

If the payment never arrives, BlindPay waits up to 30 minutes before marking a non-OTC Pix payin failed, after a reconciliation check (payins). Your app should show "waiting for payment" until then, not an error.

How does a SPEI top-up differ?

SPEI follows the same five steps with different instructions. Instead of a code, the payin returns a CLABE, the standard Mexican bank account number used for SPEI transfers. The cardholder sends MXN to it from their bank.

SPEI is owned and operated by Banco de México and runs 24 hours a day, 365 days a year (Banxico). BlindPay lists SPEI payin arrival at up to 10 minutes, and waits up to 30 minutes before marking a SPEI payin failed.

The same pattern covers two more countries. Transfers 3.0 in Argentina shows a CBU, and PSE in Colombia shows a payment link with a bank redirect.

Pix vs SPEI vs ACH: which rail does what?

For a card program, each rail matters twice: once as a way in, once as a way out.

Pix (Brazil)SPEI (Mexico)ACH (United States)
CurrencyBRLMXNUSD
Funding: what the payer seesPix code, copy or QRCLABERouting + account number (virtual account or memo code)
Funding: typical arrivalUp to 5 minutesUp to 10 minutes1 to 3 business days; same-day ACH before 3:00 PM ET
Operating hours24/724/7, 365 daysBusiness days, with cut-offs
Payout (cash-out) speedMinutesMinutesAbout 1 to 2 business days
Payin minimum on BlindPayR$10.00$10.00 MXN$10.00

Timings and minimums come from BlindPay's cut-off times, payment methods, and payin quotes pages. Maximums follow the receiver's per-transaction limit, which defaults to $10,000 to $50,000 depending on KYC tier (KYC limits).

For US cardholders, the virtual accounts guide covers ACH, wire, and SWIFT funding.

Where does FX happen on a Pix-funded card?

Up to three times. This is the part most programs never explain to users, and it is the first thing they notice on a statement.

  1. At top-up. BRL or MXN converts into USDC or USDT. The payin quote shows the rate and fees before the payer pays.
  2. At a local merchant. The card is denominated in USD, the merchant charges in BRL, and the merchant is still paid in local currency. When Visa and Bridge announced stablecoin-linked Visa cards for Argentina, Colombia, Ecuador, Mexico, Peru, and Chile in April 2025, they described Bridge deducting the stablecoin balance and converting it so the merchant gets paid locally (Visa). Bridge also notes that conversion at settlement could occur 1 to 3 days after authorization (Bridge). The issuer may add a foreign transaction fee, so check its disclosure.
  3. At cash-out. USDC converts back into BRL or MXN on the payout quote.

Illustrative only: a cardholder who tops up R$1,000 and spends it all at Brazilian supermarkets has converted BRL to USD and back to BRL. Two spreads for money that never needed to leave reais. The same cardholder buying from a US software vendor converts once, at top-up, which is where a USD stablecoin card earns its keep.

So say it on the top-up screen: "Best for spending in dollars. For spending in reais, your Pix balance may be cheaper." The FX spread guide shows how to measure each spread.

Why does the cash-out leg matter?

Because people top up more when they know they can get money out. A card that only accepts money feels like a gift card. A card that sends leftovers back to Pix in minutes feels like an account.

The cash-out is a payout: your app quotes it against the cardholder's Brazilian or Mexican bank account, shows the exact amount they will receive, and the cardholder authorizes it from their wallet. Pix and SPEI payouts usually settle in minutes (payment methods).

If a payout cannot be delivered, the custody rule applies. BlindPay operates as a non-custodial payment processor for payout flows from customer-controlled wallets: you authorize the exact amount and BlindPay executes that single transaction. If a payout cannot be delivered after the stablecoins are collected, BlindPay refunds them to the quote's refund wallet, or to the sending wallet when none is set; on Pix and other non-USD local rails the refund is automatic, while USD payouts and payouts whose review times out are refunded after an operator review.

What should you check for each country?

A few checks per market save most launch-week tickets.

  • Brazil. Confirm the cardholder passes KYC in Brazil under the program's rules, decide whether users see the Pix code or a QR first, and read up on Brazil's self-custody wallet declaration, covered in the self-custody declaration guide.
  • Mexico. Show the CLABE with a copy button, since typos are the top cause of a missing deposit, and say "usually arrives in minutes" rather than "instant."
  • Both. Match token and network to what the card issuer pulls (supported chains), and decide the minimum top-up you show, at or above the payin minimum.

Licensing and network rules also differ by country. The cross-border compliance guide has a country readiness template.

Where does BlindPay fit?

Pix and SPEI are BlindPay's strongest rails, on both legs. The card issuer runs the card. BlindPay moves money into and out of the stablecoin balance behind it.

On the way in, BlindPay creates Pix, SPEI, Transfers 3.0, and PSE payins with the payment instructions your app shows, then converts BRL, MXN, ARS, or COP into USDC or USDT and delivers it to the card wallet on Ethereum, Polygon, Base, Arbitrum, Tempo, Arc, Stellar, Solana, or Tron. On the way out, payouts run over Pix, SPEI, ACH Colombia, Transfers 3.0, ACH, RTP, SEPA, and SWIFT (POBO/COBO), and every quote shows the rate and fees before execute.

KYC runs inside the same API, and each top-up and cash-out sends signed webhooks your ledger can trust. Read the payins docs, or talk to the team.

Sources

This article is for general information only and is not legal, tax, or financial advice.

FAQ