Dígito verificador ABA
Obtenha ou confira o nono dígito de um número de routing bancário dos Estados Unidos com os pesos oficiais 3-7-1: 02100002 recebe o 1 e vira 021000021. Um dígito digitado errado aparece antes de enviar a folha de pagamento. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Número
- 02100002
- Modo de cálculo
- Compute
- Entrada
- 02100002
- Dígito verificador
- 1
- Com dígito verificador
- 021000021
Os números de routing de trânsito bancário dos EUA (RTN), também chamados números de routing ABA, têm nove dígitos: oito de carga útil que identificam o distrito do Federal Reserve, a instituição e a série do dígito verificador, mais um dígito final que prova que a string foi digitada ou colada sem um deslize de um único dígito. Esta capacidade aplica a ponderação oficial três-sete-um da American Bankers Association e do Federal Reserve: as posições ciclam pesos três, sete e um, e a soma dos nove dígitos deve ser divisível por dez.
Como o dígito verificador de routing ABA é calculado
Um número de routing de trânsito ABA tem sempre nove dígitos. Os oito primeiros formam o corpo institucional (distrito do Federal Reserve, identificador do banco e série relacionada); o nono é o dígito verificador. Para calculá-lo, percorra os oito dígitos da esquerda para a direita e multiplique pela sequência de pesos repetida três, sete, um, três, sete, um, três, sete.
Some esses oito produtos e tome o dígito verificador como dez menos essa soma módulo dez, módulo dez de novo para que resto zero produza dígito verificador zero. De forma equivalente, a string completa de nove dígitos incluindo o dígito verificador deve ter soma ponderada divisível por dez quando a nona posição também usa peso um (continuando o ciclo três-sete-um). Não é a mesma regra de UPC, EAN ou Luhn: esses usam outros padrões de peso e comprimentos diferentes.
Esta ferramenta não prova que um banco ainda usa um RTN dado, não expande símbolos MICR e não afirma que um checksum válido signifique liquidação de fundos—apenas prova que a string de dígitos está bem formada sob a regra ABA três-sete-um. Em comparação com validadores multi-formato de números de pagamento, a intenção de busca aqui é estreita: quem precisa de uma calculadora de dígito verificador de routing ABA para cargas de oito dígitos ou RTNs de nove, não um verificador geral de IBAN ou cartão.
Onde os dígitos verificadores ABA se encaixam em fluxos reais
Plataformas de folha e benefícios recebem números de routing bancário de funcionários e devem rejeitar nonos dígitos digitados errados antes do primeiro arquivo de depósito direto ser enviado ao ODFI. Equipes de tesouraria e contas a pagar validam cada coluna de routing em uma exportação CSV de fornecedores, colocam em quarentena linhas com valid false e evitam lotes ACH falhos que custam atraso e taxas de retrabalho.
Ambientes sandbox e demo frequentemente precisam de números de routing sintéticos mas válidos em checksum; o modo compute transforma qualquer corpo de oito dígitos em uma string de nove que passa portões de formato local sem inventar um relacionamento bancário real. Não trate um check ABA aprovado como prova de conta aberta, liberação OFAC ou atribuição atual do Federal Reserve; só prova que o dígito três-sete-um é consistente com a carga sob os pesos padrão.
Casos de uso
Auditar colunas de routing em exportações de folha e fornecedores
Valide em lote cada RTN ABA de nove dígitos em um CSV e coloque em quarentena linhas cujo dígito verificador não coincida mais com o valor esperado recalculado antes do envio ACH.
Perguntas frequentes
O que é o dígito verificador de um número de routing ABA?
É o nono dígito de um número de routing de trânsito bancário dos EUA (RTN), calculado com a regra mod-10 ponderada 3-7-1 para capturar habitualmente erros de um dígito ao digitar ou colar antes de armazenar ou enviar o número em ACH.
A ferramenta de dígito verificador de routing ABA é grátis?
A ferramenta do navegador é grátis e roda localmente.
Como se calcula o dígito verificador do routing ABA?
Multiplique os oito dígitos, da esquerda para a direita, pelos pesos que se repetem três, sete e um, e some os produtos. O dígito verificador é dez menos o resto da divisão dessa soma por dez; se der dez, vira zero.
O que acontece se eu digitar letras, hifens ou o tamanho errado?
O número é recusado com um aviso claro, em vez de ser limpo em silêncio. O aviso diz quantos dígitos você enviou e quantos eram esperados: oito para calcular e nove para validar. Mantenha também os zeros à esquerda.
Um validador Luhn ou de código UPC serve para routing?
Não. Luhn, UPC e EAN usam outros padrões de pesos e outros tamanhos, então o resultado deles não diz nada sobre um número de routing, que precisa do ciclo 3-7-1 em exatamente nove dígitos.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/aba-routing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"02100002"}'const res = await fetch("https://api.kit.forhosting.com/enc/aba-routing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "02100002"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/aba-routing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "02100002"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/aba-routing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"02100002"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"02100002"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/aba-routing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"number": "02100002"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.aba_routing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Entrada não numérica e comprimentos errados falham com invalid_input em vez de recorte silencioso, para que você nunca armazene um RTN pela metade. A mesma aritmética pura roda grátis no navegador e no preço de API publicado.
Contrato de entrada, modos e comportamento de erro
Envie um campo number contendo apenas caracteres de zero a nove. Comprimento errado é um erro explícito que nomeia o modo e o comprimento enviado—oito para compute, nove para validate—para que formulários mostrem «precisam de oito dígitos» sem adivinhar. Strings vazias, number ausente e valores de mode inválidos falham antes de qualquer soma ponderada e não são faturados. Prefira compute ao criar RTNs de teste ou completar identificadores institucionais parciais; prefira validate ao bloquear setup ACH ou importação com um código completo de nove dígitos de um usuário ou arquivo de parceiro. Espaços, hífens, letras e pontos decimais são rejeitados como entrada não numérica com invalid_input para que um valor silenciosamente recortado nunca chegue ao armazenamento. O modo compute é o padrão: o motor exige exatamente oito dígitos, devolve check_digit como string de um caractere e with_check como o número de routing de nove dígitos que você pode imprimir ou persistir. O modo validate exige exatamente nove dígitos; a resposta informa valid true quando o dígito final coincide com expected_check_digit recalculado, e sempre inclui payload (os oito primeiros dígitos), check_digit, expected_check_digit, length nove, algorithm aba-3-7-1 e weights 3-7-1. Aliases como digits, routing, rtn e code são aceitos para o mesmo campo de carga, para que integrações que já falam «routing» não precisem renomear. Como o caminho é parse puro sem relógio, aleatoriedade ou rede, o mesmo corpo JSON sempre produz o mesmo resultado JSON na ferramenta gratuita do navegador e na API a US$ 0,002 por solicitação bem-sucedida.
Onde os dígitos verificadores ABA se encaixam em fluxos reais
Formulários de onboarding fintech recalculam expected_check_digit e mostram uma correção amigável quando um cliente cola um RTN de nove dígitos com uma única transposição.
Casos de integração
Completar um corpo de 8 dígitos para um RTN de nove
Chame o modo compute com a carga de oito dígitos, armazene with_check e use o número de routing ABA de nove dígitos em formulários ACH, fixtures de teste ou modelos de etiqueta.
Validar routing digitados ou colados na entrada
Quando um formulário ou arquivo de parceiro enviar nove dígitos, chame o modo validate e bloqueie o salvamento se valid for false, mostrando expected_check_digit para corrigir um único erro de digitação.
Perguntas técnicas
Como calculo um dígito verificador de routing ABA com esta API?
Faça POST com number de exatamente oito dígitos e mode compute (ou omita mode). A resposta inclui check_digit e with_check (o routing completo de nove dígitos).
Como valido um número de routing ABA completo de nove dígitos?
Faça POST com a string de nove dígitos e mode validate. A resposta inclui valid, check_digit, expected_check_digit e payload (dígitos sem o último).
O que acontece com comprimento errado, letras ou hífens?
Entrada não numérica e comprimentos diferentes de oito (compute) ou nove (validate) são rejeitados com invalid_input. Tarefas de validação falhas não são faturadas.