USDC to MXN over SPEI: how stablecoin payouts to Mexico work (2026)
How a stablecoin payout reaches a Mexican bank account over SPEI: CLABE structure, a worked check digit example, other identifiers, and Mexico's rules.
A stablecoin payout to Mexico converts USDC into Mexican pesos and delivers them to the recipient's bank account over SPEI, Mexico's interbank payment system. The recipient is addressed by an 18-digit CLABE. In BlindPay's docs, SPEI payouts are instant, and the recipient sees an ordinary peso deposit.
This guide covers the payout side as of November 2026. A stablecoin is a digital dollar token such as USDC that moves on a blockchain. For the full model, read what a stablecoin payouts API is. For the broader steps, see how a stablecoin payout works.
Key takeaways
- A CLABE has 18 digits: 3 for the bank, 3 for the city, 11 for the account, and 1 check digit.
- The check digit catches any single mistyped digit, but a valid CLABE does not prove the account exists or who owns it.
- BlindPay SPEI payouts accept a CLABE, a debit card number, or a phone number with the bank's institution code.
- SPEI payouts are instant in BlindPay's docs, and SPEI payins arrive in up to 10 minutes.
- Mexico has no stablecoin-specific law. The peso-stablecoin bill filed on 6 May 2026 was still in committee on 3 November 2026.
What does a USDC to MXN payout look like end to end?
Three steps: add the recipient once, lock a quote, execute.
- Add the bank account. Create a SPEI bank account with the recipient's name, the protocol (CLABE, debit card or phone number), and the identifier.
- Create a payout quote. It locks the rate and fees for 5 minutes. Read
expires_at, which is in epoch milliseconds. - Execute the payout. Pesos are delivered over SPEI, and webhooks (
payout.new,payout.update,payout.complete) report progress.
Pricing follows BlindPay's model: BlindPay combines a monthly plan (platform access) with per-transaction fees that vary by rail and network and are disclosed only in the live quote before execute. BlindPay does not publish a static flat rate card; always cite the quote's fee breakdown rather than a fixed bps number. The compared routes for this corridor are in USDC to MXN routes in 2026, and the account-side walkthrough is in how to send USDC to a bank account in Mexico. For peso collection instead, see accepting SPEI payments. BlindPay's corridor page is USDC to MXN.
What is inside a CLABE?
A CLABE is 18 digits in four parts, defined by the banking association and used by Banco de México's SPEI to identify accounts.
| Digits | Part | Example (illustrative) |
|---|---|---|
| 1 to 3 | Bank code | 032 |
| 4 to 6 | City (plaza) code | 180 |
| 7 to 17 | Account number, left-padded with zeros | 00011835971 |
| 18 | Check digit | 9 |
The structure and the check digit method are described in the public CLABE article on Wikipedia. For the same idea on Pix, see Pix keys, CPF and CLABE payout details.
How is the CLABE check digit calculated?
Weight the first 17 digits by 3, 7, 1 repeating, keep the last digit of each product, add them up, and subtract the last digit of the sum from 10.
As a formula: check digit = (10 - (sum of (digit x weight mod 10) mod 10)) mod 10. The example below is illustrative and uses the worked example in the public Wikipedia article, not a real account.
| Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Digit | 0 | 3 | 2 | 1 | 8 | 0 | 0 | 0 | 0 | 1 | 1 | 8 | 3 | 5 | 9 | 7 | 1 |
| Weight | 3 | 7 | 1 | 3 | 7 | 1 | 3 | 7 | 1 | 3 | 7 | 1 | 3 | 7 | 1 | 3 | 7 |
| Product mod 10 | 0 | 1 | 2 | 3 | 6 | 0 | 0 | 0 | 0 | 3 | 7 | 8 | 9 | 5 | 9 | 1 | 7 |
The sum is 61, its last digit is 1, and 10 - 1 = 9. The full CLABE is 032180000118359719.
What does this protect against? Because 3, 7 and 1 never share a factor with 10, changing any single digit always changes the result, so every single-digit typo is rejected. Some swaps of neighboring digits can pass: when two adjacent digits differ by 5, the weight gap (2, 4 or 6) makes the sum unchanged. This is our reading of the algorithm, so treat the check digit as a typo filter, not as proof that the account exists or belongs to the named person. A BlindPay payout still fails if the receiving bank rejects the account or name.
Which identifiers can a SPEI payout use?
Three on BlindPay: CLABE, debit card number, or mobile phone number.
| Protocol | Identifier | Extra field | Check digit built in |
|---|---|---|---|
| CLABE | 18-digit account number | None | Yes |
| Debit card | Card number | Bank institution code | Card number checksum, set by the card network |
| Phone number | Mobile number registered for SPEI | Bank institution code | No |
The docs list spei_protocol, spei_clabe and beneficiary_name as required fields, with spei_institution_code required for the debit card and phone protocols (bank accounts). Prefer the CLABE for business payouts: it is the full account number and the only one of the three with a check digit specific to the account.
What should you collect from a Mexican recipient?
Collect the CLABE and the exact account holder name, and nothing you do not need.
- Legal name of the account holder, as it appears at the bank.
- The 18-digit CLABE, copied rather than retyped.
- If paying to a card or phone number: the bank's institution code.
- Your relationship to the recipient (contractor, supplier, customer), stored as the recipient relationship. Third-party bank accounts are allowed.
- KYC or KYB on your customer, the sender. BlindPay's API user collects the data and BlindPay verifies it.
- Your own reference (invoice or contract number) for reconciliation.
Validate the length (18 digits) and the check digit in your form before you call the API. The API runs its own validation the same way on development and production.
What are the SPEI facts at a glance?
| Fact | Value | Source |
|---|---|---|
| Operator | Banco de México, since 2004 | Banxico |
| Account identifier | 18-digit CLABE | Banxico |
| Payment speed | Under 30 seconds after approval | Banxico |
| BlindPay payout ETA | Instant | BlindPay bank accounts docs |
| BlindPay payin arrival | Up to 10 minutes | BlindPay cut-off times docs |
| Minimum payout | 10 USD sender amount | BlindPay payouts docs |
| Receipt | CEP electronic payment receipt | Banxico CEP |
| Amounts | Whole pesos on quotes | BlindPay cut-off times docs |
For how SPEI compares with Brazil's rail, read Pix vs SPEI. The Brazil twin of this guide is USDC to Pix payouts.
What are Mexico's rules in plain terms?
Mexico has no stablecoin-specific law, banks face limits, and exchanging virtual assets as a business is an anti-money laundering matter. All statements are as of 3 November 2026.
- Banks and fintech institutions. Banxico Circular 4/2019 allows credit institutions and fintech institutions to use virtual assets only in internal operations, with prior Banxico approval. This is why the stablecoin conversion happens at a provider, not at a bank.
- Anti-money laundering. Offering virtual asset exchange habitually and professionally is a "vulnerable activity" under the federal anti-money laundering law, which brings customer identification and reporting duties.
- Pending bill. A peso-stablecoin initiative filed on 6 May 2026 is still in committee, according to LatAm Rails, 3 November 2026. It would let only banks and e-money institutions authorized by Banxico issue peso-referenced tokens. It is not law.
Brazil has a different framework, covered in Brazil's stablecoin rules for payout teams. For compliance across rails, see stablecoin payout compliance.
The 94% share of 2025 SPEI transfers at or under roughly MXN 13,200 that appears in an older BlindPay article is not repeated here, because that article gives no source for it.
Why do SPEI payouts fail or pause?
Mostly for wrong recipient data or a compliance review.
- Wrong data. A bad CLABE, a name mismatch or a closed account at the receiving bank can end the payout as
failedorrefunded. What happens to the money is set by the custody terms: 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. Optional BlindPay-managed wallets (beta) are custodial when you choose that path. - Expired quote. Quotes live 5 minutes. Re-quote instead of retrying.
- Review. A payout can sit
on_hold. A failed or stuck payout is not refunded automatically in every case: contact support@blindpay.com. - Testing. On a development instance, payouts complete automatically. A
request_amountof 66600 forcesfailedand 77700 forcesrefunded.
Use an Idempotency-Key header on the execute call so a network retry cannot create two payouts (idempotency).
Methodology and sources
External sources: Banco de México on SPEI (accessed November 2026), Banxico CEP, Banxico Circular 4/2019, Ley Federal para la Prevención e Identificación de Operaciones con Recursos de Procedencia Ilícita, Wikipedia on CLABE, and LatAm Rails, 3 November 2026. BlindPay facts come from the bank accounts, payouts, payout quotes and cut-off times docs. BlindPay publishes this article.
What to do next
Get a USDC to MXN quote on a free BlindPay development instance: add a SPEI bank account with a CLABE, create a payout quote, and follow it to completed with the payout quickstart. Then compare the quote's fee breakdown with your current route.
This article is general information, not legal advice.
FAQ
More payments articles
See all payments articlesStablecoin payouts to Argentina and Colombia: rails, settlement and what to watch (2026)
How USDC reaches bank accounts in Argentina over Transfers and in Colombia over ACH COP, plus a corridor scorecard and a launch checklist.
How to add a "Send to Mexico by SPEI" feature to your neobank app
Build a Send to Mexico by SPEI feature: CLABE check-digit validation, the quote screen, payout, tracking keys, Pix vs SPEI, and CLABEs for receiving.
How to collect payments from Latin America in stablecoins (Pix and SPEI)
How to collect payments from Brazil and Mexico in stablecoins: Pix to USDC, SPEI to USDC, plus TED, Transfers, PSE, and Bre-B payin rails.