Construindo SDKs que importam: lições do Midaz, o primeiro ledger open source da América Latina

28 de Jul de 2025
Construindo SDKs que importam: lições do Midaz, o primeiro ledger open source da América Latina

Quando decidimos lançar o Midaz, nosso ledger open source para sistemas financeiros, sabíamos que abrir o código era apenas o primeiro passo. Para entregar liberdade de verdade para quem constrói fintechs e infraestrutura bancária, precisávamos ir além da documentação e da API. Precisávamos criar SDKs que facilitassem a integração, aumentassem a confiabilidade e acelerassem a entrega real de valor.

Este artigo é um convite para olhar os bastidores dessa construção e entender por que, para nós, SDK não é um wrapper. É um produto estratégico que carrega nossos princípios de arquitetura e compromisso com a comunidade dev.

No coração do Midaz

O Midaz é um ledger contábil imutável, double-entry, multi-moeda e modular, projetado para lidar com fluxos financeiros complexos, desde transferências e simulações até reconciliação e trilhas de auditoria. Mas sabíamos que, por melhor que fosse a arquitetura do backend, havia um desafio prático à frente:

Como diminuir a barreira de entrada para quem precisa integrar rapidamente um core banking robusto?

A resposta não está só em REST ou gRPC. Está na experiência de quem está com a mão no teclado tentando entregar uma operação em produção.

O que aprendemos com os times de produto dos nossos clientes

Ao acompanhar nossos parceiros, identificamos pontos recorrentes que dificultam a integração com sistemas financeiros:

  • Documentações longas, mas rasas;
  • APIs inconsistentes ou pouco expressivas;
  • Falta de exemplos práticos de uso;
  • Ausência de suporte a cenários reais: retries, concorrência, falhas de rede, etc.

Esses obstáculos não são técnicos, são estratégicos. Porque tempo perdido na integração é valor não entregue.

SDKs como produto e não como acessório

Com isso em mente, criamos os SDKs oficiais do Midaz em Go e TypeScript com premissas muito claras:

1. Validação no cliente

Não faz sentido enviar um payload malformado para o servidor se o erro já poderia ser pego antes. Validamos estrutura, campos obrigatórios e tipos com mensagens claras para o dev.

2. Retry inteligente

Sistemas financeiros precisam lidar com falhas transitórias. Implementamos backoff exponencial, jitter e categorização de erros para garantir resiliência sem gerar ruído.

3. Paginação e concorrência

Processar grandes volumes não é “caso extremo” é o dia a dia. Nossos SDKs lidam com isso de forma nativa, controlando chamadas concorrentes e evitando estouros de memória.

4. Performance e observabilidade

Incluímos pooling de JSON, modularização de logs e suporte a OpenTelemetry para tracing distribuído. O dev não precisa abrir mão de visibilidade para ter performance.

5. Casos reais, não só endpoints

A documentação só é considerada completa quando inclui exemplos de uso concretos. Queremos que o dev veja o código e diga: “é assim que eu faria também”.

6. Design idiomático

No SDK de Go, usamos opções funcionais para configuração. No SDK de TypeScript, apostamos em tipagem forte e integração fluida com ferramentas modernas de frontend e backend.

Open source como compromisso

Na Lerian, open source não é uma vitrine, é um modelo de desenvolvimento. Por isso, manter SDKs abertos exige coerência, estabilidade e uma documentação pensada para quem quer usar, entender e contribuir.

Os SDKs do Midaz são parte central da nossa estratégia de Developer Experience. Eles ajudam a levar a robustez do nosso core para o ambiente real dos nossos clientes, com velocidade e segurança.

Vamos construir o futuro financeiro juntos?
#letsledgertogether