Mexican Banking Reference
Institution codes, CLABE format, and how to validate one before sending a payout.
Everything you need to implement SPEI transfers and withdrawals in Mexico. Understanding these concepts helps you build reliable integrations with the Mexican banking system.
CLABE
CLABE (Clave Bancaria Estandarizada) is Mexico's standardized bank account format for SPEI transfers. It has 18 digits:
- Bank code (3 digits) — identifies the financial institution.
- Branch code (3 digits) — identifies the branch.
- Account number (11 digits) — the account identifier.
- Check digit (1 digit) — calculated with a weighted algorithm.
Example: 012345678901234568, where 012 = BBVA México, 345 = branch, 67890123456 = account,
8 = check digit.
Validate a CLABE
Validate the check digit before you create a withdrawal — it catches most typos and transposed digits before the transfer is sent. The algorithm:
- Multiply each of the first 17 digits by the weights
3,7,1, repeating the cycle. - Take each product modulo 10 and add them up.
- The check digit is
(10 - sum % 10) % 10. It must equal the 18th digit.
For 01234567890123456 the sum is 82, so the check digit is (10 - 2) % 10 = 8.
def is_valid_clabe(clabe: str) -> bool:
if len(clabe) != 18 or not clabe.isdigit():
return False
weights = [3, 7, 1]
total = sum((int(d) * weights[i % 3]) % 10 for i, d in enumerate(clabe[:17]))
return (10 - total % 10) % 10 == int(clabe[17])
is_valid_clabe("012345678901234568") # TrueA valid check digit only proves the number is well-formed — it doesn't confirm that the account exists or who owns it.
RFC
RFC (Registro Federal de Contribuyentes) is the Mexican tax identifier, mandatory for financial transactions. There are two formats:
- Individual RFC: 13 characters — 4 letters + 6 digits + 3 alphanumeric. Example:
MAGR850920XY1. - Business RFC: 12 characters — 3 letters + 6 digits + 3 alphanumeric. Example:
ABC850920123.
SPEI operating times
SPEI operates 24/7 and transfers usually complete within minutes. SPEI itself no longer enforces a business-day cutoff, but individual institutions may add their own restrictions: maintenance windows, anti-fraud security validations, and the Mexican holiday calendar.
For reference, these are typical per-institution processing windows:
| Day / period | Processing hours | Notes |
|---|---|---|
| Monday to Friday | 6:00 AM – 6:00 PM (CDMX time) | Same-day processing if before 5:00 PM |
| Saturday | 9:00 AM – 2:00 PM | Limited processing |
| Sunday | No processing | |
| Bank holidays | No processing |
Always confirm current hours and restrictions with your financial institution or your Tonder integration manager — they can vary by bank and change without notice.
Holiday calendar (Mexico)
The following Mexican holidays may affect SPEI processing:
- New Year's Day (January 1)
- Constitution Day (February 5)
- Benito Juárez's Birthday (March 21)
- Easter Week (date varies)
- Labor Day (May 1)
- Independence Day (September 16)
- Revolution Day (November 20)
- Christmas Day (December 25)
Institution codes
Institution codes are assigned by Banco de México (Banxico) and used in the institution field of
the beneficiary object when creating withdrawals. Below is the full catalogue of SPEI
participants — 97 institutions, matching Banxico's SPEI participant list
as of September 25, 2026.
| Code | Participant |
|---|---|
| 2001 | BANXICO |
| 37006 | BANCOMEXT |
| 37009 | BANOBRAS |
| 37019 | BANJERCITO |
| 37135 | NAFIN |
| 37166 | BaBien |
| 37168 | HIPOTECARIA FED |
| 40002 | BANAMEX |
| 40012 | BBVA MEXICO |
| 40014 | SANTANDER |
| 40021 | HSBC |
| 40030 | BAJIO |
| 40036 | INBURSA |
| 40042 | MIFEL |
| 40044 | SCOTIABANK |
| 40058 | BANREGIO |
| 40059 | INVEX |
| 40060 | BANSI |
| 40062 | AFIRME |
| 40072 | BANORTE |
| 40106 | BANK OF AMERICA |
| 40108 | MUFG |
| 40110 | JP MORGAN |
| 40112 | BMONEX |
| 40113 | VE POR MAS |
| 40124 | CITI MEXICO |
| 40127 | AZTECA |
| 40128 | KAPITAL |
| 40129 | BARCLAYS |
| 40130 | COMPARTAMOS |
| 40132 | MULTIVA BANCO |
| 40133 | ACTINVER |
| 40136 | INTERCAM BANCO |
| 40137 | BANCOPPEL |
| 40138 | UALA |
| 40140 | CONSUBANCO |
| 40141 | VOLKSWAGEN |
| 40145 | BBASE |
| 40147 | BANKAOOL |
| 40148 | PAGATODO |
| 40150 | INMOBILIARIO |
| 40151 | DONDE |
| 40152 | BANCREA |
| 40154 | BANCO COVALTO |
| 40155 | ICBC |
| 40156 | SABADELL |
| 40157 | SHINHAN |
| 40158 | MIZUHO BANK |
| 40159 | BANK OF CHINA |
| 40160 | BANCO S3 |
| 40167 | HEY BANCO |
| 40170 | REVOLUT BANK |
| 40638 | NUBANK |
| 90600 | MONEXCB |
| 90601 | GBM |
| 90602 | MASARI |
| 90605 | VALUE |
| 90616 | FINAMEX |
| 90617 | VALMEX |
| 90620 | PROFUTURO |
| 90631 | TRF |
| 90634 | FINCOMUN |
| 90646 | STP |
| 90652 | CREDICAPITAL |
| 90653 | KUSPIT |
| 90656 | UNAGRA |
| 90659 | ASP INTEGRA OPC |
| 90660 | Altor |
| 90661 | KLAR |
| 90670 | LIBERTAD |
| 90677 | CAJA POP MEXICA |
| 90680 | CRISTOBAL COLON |
| 90683 | CAJA TELEFONIST |
| 90684 | TRANSFER |
| 90685 | FONDO (FIRA) |
| 90688 | CREDICLUB |
| 90699 | FONDEADORA |
| 90703 | TESORED |
| 90706 | ARCUS FI |
| 90710 | NVIO |
| 90714 | PPBALANCEMX |
| 90715 | CASHI CUENTA |
| 90720 | MexPago |
| 90721 | albo |
| 90722 | Mercado Pago W |
| 90723 | Cuenca |
| 90725 | COOPDESARROLLO |
| 90727 | TRANSFER DIRECT |
| 90728 | SPIN BY OXXO |
| 90729 | Dep y Pag Dig |
| 90730 | Clip |
| 90732 | Peibo |
| 90734 | FINCO PAY |
| 90738 | FINTOC |
| 90901 | CLS |
| 90902 | INDEVAL |
| 90903 | CoDi Valida |
Operational notes:
- BANXICO (
2001) is used for internal operations: it can receive SPEI, but not send. - For banks, the last three digits of the code are the CLABE prefix:
40012BBVA → CLABE starting with012.
Nu México's code changed on 6 August 2026. Its SPEI code moved from 90638 to 40638 when it
became a full banking institution. The old code stopped working on 5 August 2026 at 18:00 Mexico
City time, and anything sent with it is rejected. See the changelog.
For Sandbox testing, use institution code 97846. This list comes from STP's institutions
catalogue dated 12 February 2025, with Nu's code change already applied. Banxico adds and removes
participants regularly, so check with your integration manager if you need a code that isn't listed
here.
