Verificação de contas bancárias, cinco padrões.
CBU é Mod-10 por bloco, CVU segue a mesma regra para carteiras virtuais, IBAN é Mod-97-10 sobre todo o string, CLABE usa o dígito ponderado do Banxico, CCI cobre o Peru. Nenhum registro público expõe todos — a Normadata implementa a matemática e resolve o nome do banco.
Não existe uma API unificada para os formatos que seus payouts precisam
Os payouts argentinos precisam de CBU. Os fornecedores cross-border precisam de IBAN. A folha mexicana precisa de CLABE. Os trilhos de carteira virtual (Mercado Pago, Uala, Brubank) precisam de CVU — mesmo checksum do CBU, prefixo diferente. O Peru usa CCI. Cada formato vem com regras próprias e as bibliotecas open-source cobrem no máximo uma. Sem validação de formato upstream, um número digitado errado vira uma transferência devolvida, um ticket de conciliação manual e uma contraparte irritada. A Normadata pega os erros de formato antes do dinheiro sair da sua carteira.
Cinco formatos, um schema
Cada identificador bancário que validamos hoje, com sua regra de checksum.
CBU · Argentina
22 dígitos, módulo-10 nas posições 1–8 e 9–22. Resolve bank_code → bank_name a partir do registro do BCRA.
CVU · Carteiras virtuais
Mesmo comprimento e checksum do CBU. Resolução de PSP a partir de fintechs registradas no BCRA.
CLABE · México
18 dígitos. Checksum ponderado Banxico (3, 7, 1 rotando). Códigos de banco e agência dentro do número.
CCI · Peru
Código de conta interbancário peruano de 20 dígitos. Valida estrutura e entidade financeira.
Contas locais + IBAN global
CBU/CVU (AR), CLABE (MX), CCI (PE) cobrem os trilhos locais; IBAN opera como padrão global sem restrição de país. Cada conta devolve checksum_valid e bank_name quando resolve.
Um lote, cada conta com seu checksum
Mande um array items com value, country e type por conta (até 1.000). Cada result traz valid, checksum_valid e bank_name. O mesmo endpoint valida 1 ou 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
}
]
}Como a Normadata se compara?
Comparações honestas contra as alternativas que mais nos perguntam.
Normadata vs. validator.js
A biblioteca NPM open-source de fato cobre IBAN básico — a Normadata cobre CBU, CVU, CLABE e CCI também.
Normadata vs. AbstractAPI
Plataforma global de APIs com validação bancária, mas cobertura limitada por rail na LATAM.
Normadata vs. Trolley
Plataforma KYC completa que roda depois da validação de formato bancário, não no lugar dela.
Pegue contas erradas antes que custem uma transferência
Grátis durante o acesso antecipado. Mande um email e respondemos em 24 horas.