Verificación de cuentas bancarias, cinco estándares.
CBU es Mod-10 por bloque, CVU sigue la misma regla para billeteras virtuales, IBAN es Mod-97-10 sobre todo el string, CLABE usa el dígito ponderado de Banxico, CCI cubre Perú. Ningún registro público los expone todos — Normadata implementa la matemática y resuelve el nombre de banco.
No hay una API unificada para los formatos que tus payouts necesitan
Los payouts argentinos necesitan CBU. Los proveedores cross-border necesitan IBAN. La nómina mexicana necesita CLABE. Los rieles de billeteras virtuales (Mercado Pago, Uala, Brubank) necesitan CVU — mismo checksum que CBU, prefijo distinto. Perú usa CCI. Cada formato viene con sus reglas y las librerías open-source cubren a lo sumo una. Sin validación de formato upstream, un número mal tipeado se convierte en una transferencia devuelta, un ticket de conciliación manual y una contraparte frustrada. Normadata atrapa los errores de formato antes de que la plata salga de tu billetera.
Cinco formatos, un schema
Cada identificador bancario que validamos hoy, con su regla de checksum.
CBU · Argentina
22 dígitos, módulo-10 en posiciones 1–8 y 9–22. Resuelve bank_code → bank_name desde el registro BCRA.
CVU · Billeteras virtuales
Mismo largo y checksum que CBU. Resolución de PSP desde fintechs registradas en BCRA.
CLABE · México
18 dígitos. Checksum ponderado Banxico (3, 7, 1 rotando). Códigos de banco y sucursal dentro del número.
CCI · Perú
Código de cuenta interbancario peruano de 20 dígitos. Valida estructura y entidad financiera.
Cuentas locales + IBAN global
CBU/CVU (AR), CLABE (MX), CCI (PE) cubren los rieles locales; IBAN opera como estándar global sin restricción de país. Cada cuenta devuelve checksum_valid y bank_name cuando se resuelve.
Un lote, cada cuenta con su checksum
Mandá un array items con value, country y type por cuenta (hasta 1.000). Cada result trae valid, checksum_valid y bank_name. El mismo endpoint valida 1 o N.
$ curl -X POST https://api.normadata.io/v1/validate/accounts \
-H "X-API-Key: nd_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5" \
-H "Content-Type: application/json" \
-d '{"items":[
{"id":"1","value":"0170010600000123456780","country":"AR","type":"cbu"},
{"id":"2","value":"DE89370400440532013000","country":"DE","type":"iban"}
]}'{
"results": [
{
"id": "1",
"country": "AR",
"type": "cbu",
"valid": true,
"checksum_valid": true,
"bank_name": "Galicia"
},
{
"id": "2",
"country": "DE",
"type": "iban",
"valid": true,
"checksum_valid": true
}
]
}¿Cómo se compara Normadata?
Comparaciones honestas contra las alternativas que más nos preguntan.
Normadata vs. validator.js
La librería NPM open-source de facto cubre IBAN básico — Normadata cubre CBU, CVU, CLABE y CCI también.
Normadata vs. AbstractAPI
Plataforma global de APIs con validación bancaria pero cobertura limitada por rail en LATAM.
Normadata vs. Trolley
Plataforma KYC completa que corre después de la validación de formato bancario, no en lugar de ella.
Atrapá cuentas malas antes de que cuesten una transferencia
Gratis durante acceso anticipado. Escribinos un email y respondemos en 24 horas.