Skip to main content
Um core legado dá a você esquemas rígidos, vendor lock-in e ciclos de release lentos. Cada novo produto ou nova regra vira meses de trabalho de integração. Você precisa de um sistema de registro que você possui, além dos controles e dos relatórios que o seu regulador pede. Uma stack de core banking Lerian é um ledger que você possui, com um serviço de decisão na frente dele e um motor de relatórios ao lado dele. Um único login cobre cada peça. Você adota cada peça sozinha, e as conecta em uma etapa de deploy.

O que você recebe


Midaz

O ledger. Ele guarda organizações, ledgers, contas e transações com garantias de partidas dobradas. O CRM e o Fees Engine rodam dentro do mesmo processo.

Tracer

Validação em tempo real na frente do ledger. Ele retorna allow, deny ou review antes de a sua aplicação enviar a transação.

Reporter

Relatórios repetíveis a partir de templates em texto simples sobre as tabelas do ledger. Ele renderiza arquivos HTML, CSV, XML, PDF e TXT.

Access Manager

Uma única camada de controle de acesso. Ela responde quem faz uma requisição, e o que esse chamador pode alcançar.

Console

A interface web da stack. Operadores configuram os produtos e rodam o trabalho do dia a dia em um só lugar.

Streaming Hub

A borda de entrega para eventos. Ele envia fatos do ledger e do Tracer para um webhook, uma fila, ou um cursor que você consulta.

Como as peças se encaixam


  1. Sua aplicação envia o contexto completo da transação para o Tracer. O Tracer avalia suas regras e limites de gastos, e então retorna allow, deny ou review.
  2. Em caso de allow, sua aplicação envia a transação para o Midaz. O Tracer nunca chama o ledger.
  3. Quando um pacote de tarifas se aplica, o Midaz adiciona os cálculos de tarifas à transação que você envia. Sua aplicação pode chamar os endpoints do Fees primeiro para estimá-los.
  4. O Midaz registra as operações balanceadas. Com o streaming habilitado, ele publica o fato em lerian.streaming.ledger logo após a mudança de estado.
  5. O Streaming Hub compara esse fato com as suas subscriptions e o entrega ao seu webhook, fila, ou cursor de pull.
  6. O Reporter lê as tabelas do ledger que você registrou como fonte de dados, e renderiza os arquivos que o seu regulador pede.
O Midaz também pode chamar o Tracer por você, em um caminho que fica desligado até você configurá-lo. Defina TRACER_BASE_URL e um tracer.mode por ledger, advisory ou enforce. O caminho de transação do Ledger HTTP v2 então reserva capacidade de limite com o Tracer antes de fazer o commit. O Ledger HTTP v1 nunca faz essa chamada. Nesse caminho o Midaz chama o Tracer, e o Tracer continua nunca chamando o Midaz.

O que cada peça possui


Adote uma peça de cada vez


1

Suba o Midaz

O Midaz é a fundação do ledger, então ele vem primeiro. O CRM e o Fees Engine rodam dentro do processo do ledger, então você não faz deploy de nenhum serviço extra para eles.
2

Adicione o Access Manager

O Access Manager emite os tokens em que cada serviço confia. Adicione-o logo depois do Midaz, antes de qualquer produto ou interface.
3

Coloque o Tracer na frente

Sua aplicação chama o Tracer antes de enviar, e apenas envia para o Midaz em caso de allow. O Tracer nunca inicia uma chamada para o Midaz e nunca lê saldos.
4

Registre os bancos de dados do ledger no Reporter

Adicione cada banco de dados do Midaz como uma fonte de dados PostgreSQL com credenciais somente leitura. Aponte o Reporter para uma read replica onde você tiver uma, para que as queries de relatório fiquem fora do caminho de escrita do ledger.
5

Habilite os módulos e ative os eventos

Habilite os produtos que você roda a partir da página de configurações do Console. Ative o streaming no Midaz quando você precisar dos fatos fora da plataforma, porque a publicação vem desligada por padrão.

Traga o seu


  • A sua nuvem. Rode a plataforma na Lerian Cloud, ou traga a sua própria nuvem e faça o deploy dos Helm charts oficiais você mesmo.
  • Os seus consumidores de eventos. O Streaming Hub entrega para cinco tipos de sink: webhook, pull, SQS, RabbitMQ e EventBridge.
  • Os seus outros bancos de dados. Um único deploy do Reporter gera relatórios sobre o Midaz, sobre os seus próprios bancos de dados, e sobre os dois no mesmo template.
  • A sua stack de aplicação. O Midaz expõe uma API REST, e a Lerian publica SDKs para Go e TypeScript.
  • A sua conciliação. Adicione o Matcher quando você comparar o ledger com bancos e provedores de pagamento. Veja a solução de conciliação.

Um exemplo prático


Um Pix de saída move BRL de uma conta de cliente para uma conta externa.
  1. A conta de cliente customer_12345_brl já existe. O Midaz criou a conta de liquidação @external/BRL para você, junto com o ativo BRL.
  2. Sua aplicação envia o valor, as contas e o contexto para o Tracer. O Tracer retorna allow.
  3. Sua aplicação envia 100,00 BRL contra a rota de transação PIX_CASH_OUT.
  4. O Midaz registra duas operações balanceadas, um débito na conta do cliente e um crédito em @external/BRL. As duas carregam o mesmo transactionId.
  5. O Midaz publica transaction.posted em lerian.streaming.ledger.
  6. O Streaming Hub entrega esse fato para o seu webhook, assinado com um HMAC sobre o timestamp e o corpo exato da requisição.
  7. No fechamento do dia, o Reporter renderiza o seu arquivo de conciliação a partir das tabelas do ledger.
O trilho Pix em si é uma composição separada. Veja a solução de trilhos de pagamento.

Comece aqui


Primeiros passos

Avalie a plataforma, escolha um modelo de deploy, e rode a sua primeira transação de partidas dobradas.

Montando um core banking completo

O diagrama completo da stack, e as etapas de conexão que você mesmo executa.

Lerian Cloud e BYOC

Quem opera a infraestrutura em cada modelo, e o que fica do seu lado.

Instalando o Midaz

Rode o ambiente completo do ledger localmente com o Docker Compose.

Guia de integração do Tracer

Onde a chamada de validação fica no seu fluxo, e como lidar com cada decisão.

Início rápido do Reporter

Faça upload de um template, gere o seu primeiro relatório, e verifique o arquivo baixado.