Precisão sem ruído: como garantimos a confiabilidade dos valores monetários no core Lerian

28 de Jul de 2025
Precisão sem ruído: como garantimos a confiabilidade dos valores monetários no core Lerian

Em sistemas financeiros, detalhes não são apenas detalhes. Um pequeno erro de cálculo pode comprometer reconciliações, afetar resultados contábeis e, em última instância, abalar a confiança de uma operação. Por isso, no core banking da Lerian, tratar valores monetários com precisão é mais do que uma escolha técnica, é um compromisso de arquitetura.

Neste artigo, explicamos por que abandonamos a modelagem tradicional de valores com “inteiro + escala” e adotamos o formato decimal como string no Midaz, nosso ledger open source.

O problema: precisão perdida no caminho

O modelo clássico usado por muitos sistemas financeiros é composto por dois campos:

jsonCopiarEditar{ "amount": 100, "scale": 2 } // representa R$1,00

Esse formato evita o uso de float ou double, que são inadequados para representar dinheiro devido à sua natureza binária e imprecisa. No entanto, ele também introduz complexidade:

  • É necessário compor e decompor valores para cálculos;
  • As bibliotecas que lidam com esse formato nem sempre são padronizadas;
  • As conversões no frontend e backend geram margem para erro.

No fim das contas, tratar dinheiro como unidade fracionada + escala exige mais código, mais validação e mais atenção.

A escolha da Lerian: decimais como strings

Para resolver esses problemas, o Midaz agora armazena os valores monetários como strings decimais explícitas e essa mudança traz uma série de vantagens:

  • Precisão absoluta: sem arredondamentos automáticos ou conversões implícitas;
  • Integração mais simples: com SDKs, frontends e ferramentas de analytics que esperam valores legíveis;
  • Menos margem para bugs: não há mais necessidade de recompor o valor em tempo de execução.

Além disso, esse modelo é compatível com até 18 casas decimais, cobrindo desde moedas fiduciárias até ativos digitais altamente fracionáveis.

Para os desenvolvedores, isso significa:

  • Redução de código auxiliar para tratar valores;
  • Mais confiança nos testes de precisão;
  • Visualização mais clara nos logs, interfaces e exportações.

Para nós, arquitetura é confiança

Na Lerian, a arquitetura do sistema precisa refletir o que o mercado espera da operação: clareza, controle e confiança. E quando se trata de movimentar dinheiro, cada centavo precisa ser exato, auditável e compreensível.

Essa mudança na modelagem de valores monetários é mais uma camada da nossa visão: entregar um core que respeita a complexidade do setor financeiro sem repassar essa complexidade para quem opera.


Midaz é open source, auditável e evolui com a sua operação.
Com essa mudança, seu sistema ganha mais precisão e seu time, mais liberdade.

Freedom at the core.
#letsledgertogether