Figura 1. Midaz e seus domínios interconectados e estrutura modular.
Componentes principais
Midaz
O Midaz está no centro. Ele coordena tudo, da persistência de dados à lógica de negócio.Camada de dados
Todos os dados fluem para a camada de dados persistente. Essa camada dá ao sistema durabilidade, consistência e desempenho.Domínios e relacionamentos
Organizações
Cada organização é um ambiente distinto no Midaz. Ela pode conter um ou vários ledgers, conforme você estrutura seus dados.Ledgers
Um ledger contém toda a atividade financeira. Ele rastreia saldos, armazena ativos e impulsiona transações. Cada ledger pertence a uma organização. A partir daqui, o sistema se ramifica em:- Ativos: definem o tipo de valor que você rastreia.
- Portfólios: agrupam contas relacionadas sob um propósito compartilhado.
Ativos
Ativos definem as unidades de valor, como BRL, USD, pontos ou tokens. Cada conta usa um ativo específico.Portfólios
Portfólios agrupam contas por lógica de negócio. Você pode criar quantos portfólios precisar para organizar sua estrutura financeira. Cada portfólio contém uma ou mais contas.Contas e Segmentos
Uma conta pertence a um portfólio e representa um saldo individual. Segmentos agrupam contas, para que você possa isolar dados por cliente, produto, região ou qualquer outra dimensão. Segmentos ajudam você a rastrear e gerar relatórios com precisão. Tipos de Conta classificam contas por natureza e propósito. Eles permitem o roteamento de transações e a validação operacional entre categorias de conta.Saldo
Um Saldo representa o valor líquido que uma Conta possui de um determinado Ativo em um Ledger específico.- Uma conta pode ter múltiplos saldos. Cada um tem uma
balanceKey(ex.:default,collateral,operational) para particionar fundos sem dividir a conta. - Uma conta externa tem apenas um saldo (
default). - Se você omitir
balanceKeyem uma transação, o Midaz usa o saldo padrão. - O Midaz deriva os saldos automaticamente das operações do ledger. Você pode listá-los, consultá-los ou (em cenários de admin ou teste) ajustá-los manualmente.
- A chave de cache do Valkey inclui
balanceKeyno seu formato:balance:{transactions}:<orgId>:<ledgerId>:<alias>#<balanceKey>.
Transações
Uma transação move valor entre contas. Cada transação contém operações (débitos e créditos). Isso mantém sua lógica consistente, rastreável e alinhada com seu modelo de negócio e suas políticas contábeis.Entidades de Rotas Contábeis
As entidades de Rotas Contábeis estendem o Midaz. Elas criam um sistema estruturado que garante anotações corretas e direções corretas de fluxo financeiro. Ela tem duas partes:- Rotas de Operação: definem comportamentos atômicos de transação. Cada rota define como o Midaz anota e direciona uma movimentação financeira, com base nas suas regras de negócio e padrões contábeis.
- Rotas Contábeis: orquestram múltiplas Rotas de Operação em eventos financeiros balanceados. Quando a validação de rotas está habilitada nas configurações do ledger, elas aplicam a estrutura de transação configurada. (A API chama isso de
transactionRoute.)
Resumo
O Midaz oferece uma estrutura modular:
- Organizações gerenciam ledgers.
- Ledgers contêm ativos, portfólios e estruturas contábeis.
- Portfólios contêm contas, agrupadas por segmento.
- Transações movem valor e disparam tratamentos contábeis.
- Seus dados permanecem sincronizados, rastreáveis e prontos para relatórios financeiros.

