Hoje quero compartilhar um pouco dos bastidores do desenvolvimento das nossas SDKs oficiais para o Midaz, nosso ledger open source para sistemas financeiros e, por que, para nós, SDK não é um simples wrapper e sim um produto que expressa nosso foco junto com a comunidade de desenvolvedores.
O que está por trás do Midaz?
No coração do Midaz existe um ledger open source com double-entry contábil, multi-moeda e preparado para fluxos complexos de transações financeiras.
Mas sabemos que expor apenas APIs REST não resolve o maior desafio: a barreira de entrada para quem está construindo fintechs e sistemas financeiros robustos, ou seja, a dificuldade que muitas vezes o time tech do nosso cliente encontra ao integrar novas ferramentas. Por exemplo:
Documentação confusa e com ausência de informações relevantes;
API’s inconsistentes;
Ausência de exemplos reais de aplicabilidade;
Falta de ferramentas para lidar com retries, performance e resiliência.
SDK: mais que um wrapper, uma extensão da arquitetura
Quando decidimos construir as SDKs do Midaz em TypeScript e Go, partimos de alguns questionamentos internos: Como tornar a vida do desenvolvedor mais fácil, sem abrir mão da robustez financeira?
Como evitar que erros bobos (payload mal formatado, conta errada e afins) virem problemas reais em produção? Como suportar o nosso cliente a ter uma implantação fluida e eficiente?
Como criar um kit que realmente ajuda a escalar a operação do cliente e não só a conectar pontas?
A resposta foi desenhar SDKs como uma ferramentas de verdade e com algumas premissas básicas:
Validação no cliente: não faz sentido mandar ao backend algo que já sabemos que vai falhar;
Retry inteligente: em sistemas financeiros, falhas transitórias são normais e por isso há a necessidade de antever esse movimento com backoff exponencial, jitter, categorização de erros e afins;
Paginação e concorrência controlada: processar grandes volumes de dados não é um caso de uso opcional quando falamos de mercado financeiro e de partidas contábeis dobradas;
Performance e observabilidade: pooling de JSON, modularidade de logs e tracing com OpenTelemetry;
Exemplos práticos: a documentação só é considerada completa quando temos casos de uso práticos para o usuário entender a aplicabilidade do que estamos construindo.
No SDK de GoLang, por exemplo, optamos por um padrão de opções funcionais para configuração. Já no SDK de TypeScript, aproveitamos o ecossistema para entregar tipagem forte e integração fluida com ferramentas modernas de frontend e backend.
Open source como filosofia da Lerian
Lançar SDKs como parte de um projeto open source nos traz responsabilidades extras porque temos que manter a coerência, garantir a estabilidade e documentar de forma que as pessoas da comunidade possam contribuir.
Por isso, acreditamos que SDKs bem desenhados não são “nice to have” e sim são o coração do nosso pilar de Developer Experience e também para um pilar para o futuro financeiro open source que estamos ajudando a construir.
Conclusão
Os SDKs do Midaz nasceram de um princípio simples: foco na agilidade dos entregáveis aos nossos clientes e compromisso com a confiabilidade.
Queremos que qualquer pessoa que precise integrar com um core banking tenha em mãos ferramentas que façam sentido, funcionem e sejam transparentes.
Se quiser ver o que estamos criando (ou contribuir!):
🔗 Midaz no GitHub
🔗 SDK TypeScript
🔗 SDK Go
Feedbacks e pull requests são sempre bem-vindos.
Vamos construir o futuro financeiro juntos?
Jeff Rodrigues / CTO @ Lerian
Top comments (0)