Pré-requisitos
Antes de começar, instale estas ferramentas:
O Midaz roda em macOS (Apple Silicon e Intel) e Linux (amd64). No Windows, rode por meio do WSL2.
Passo 1: Clone o repositório
Clone o repositório do Midaz e entre no diretório do projeto.
Passo 2: Configure os arquivos de ambiente
O Midaz usa arquivos
.env para configurar cada componente. Gere-os a partir dos exemplos fornecidos:
.env.example para .env em cada diretório de componente. Os valores padrão funcionam para desenvolvimento local. Você não precisa alterá-los.
Passo 3: Inicie a infraestrutura
Inicie os serviços de suporte que o Midaz precisa: PostgreSQL, MongoDB, Valkey, RabbitMQ, Redpanda e OpenTelemetry.
Passo 4: Inicie o Midaz
O Midaz roda como um único serviço de Ledger que inclui os domínios de onboarding e transação. Inicie-o com:
200 OK.
Passo 5: Crie uma organização
Uma organização representa a entidade de negócio por trás da operação financeira: sua empresa, um cliente ou uma instituição regulada. Em produção, ela corresponde à entidade legal que detém seus ledgers, contas e transações.
Salve o
id retornado na resposta. Você o usa nos próximos passos como {organization_id}.Passo 6: Crie um ledger
Um ledger é um livro de registros isolado dentro de uma organização. Você pode criar ledgers separados para diferentes domínios financeiros, como pagamentos, cobrança de tarifas ou liquidação. Cada ledger tem suas próprias contas e seu próprio histórico de transações.
id retornado como {ledger_id}.
Passo 7: Crie um ativo
Um ativo define a unidade de valor rastreada no ledger. Pode ser uma moeda fiduciária como BRL ou USD. Também pode ser pontos de fidelidade, tokens de cripto, títulos ou qualquer unidade personalizada que o seu negócio rastreie. Você deve criar pelo menos um ativo antes de criar contas.
Passo 8: Crie contas
Contas representam os participantes ou compartimentos do seu fluxo financeiro: uma wallet de cliente, um pool de receita, uma conta de comerciante ou uma reserva interna. Cada conta se vincula a um único ativo e segue as regras de partidas dobradas. Você precisa de pelo menos duas contas para processar uma transação: uma para debitar (origem) e uma para creditar (destino). Crie uma conta de origem:
Passo 9: Processe sua primeira transação
Essa é a ação principal: ela move valor entre contas com rastreabilidade completa. O Midaz registra cada transação como uma operação balanceada. Ele debita a origem e credita o destino, de modo que seus livros permanecem consistentes por design.
Essa transação envia
"1000" de @revenue para @customer-001. O Midaz armazena valores monetários como strings decimais e não aplica uma escala específica do ativo.Sua integração define as regras de exibição e arredondamento para valores em BRL. Não faça parse de valores monetários como ponto flutuante binário.Passo 10: Verifique o saldo
Verifique o saldo da conta de destino para confirmar a transação.
Explore a API
O Midaz pode servir sua especificação OpenAPI 3.1 e a documentação interativa da API. Essa superfície de documentação fica desativada por padrão. Para habilitá-la, defina
OPENAPI_DOCS_ENABLED=true em components/ledger/.env e reinicie o Midaz. Depois acesse:
- Documentação da API:
http://localhost:3002/v1/docs - Especificação OpenAPI:
http://localhost:3002/v1/openapi.json(ou/v1/openapi.yaml)
Observabilidade
O Midaz vem com uma instância do Grafana pré-configurada e integrada ao OpenTelemetry.
- Dashboard do Grafana:
http://localhost:3100 - Credenciais padrão:
midaz/lerian
Parando o Midaz
Para parar todos os serviços:
Próximos passos
Criando transações
Aprenda as diferentes formas de criar transações, incluindo JSON, inflow e outflow, e quando usar cada uma.
Deploy para produção
Faça o deploy do Midaz no Kubernetes usando o Helm chart oficial.
Configurando o CRM
Gerencie titulares e contas alias para conectar identidades do mundo real às suas contas do Midaz.
Estenda com plugins
Adicione o Fees Engine, Pix e outras capacidades ao seu deploy do Midaz.

