Pré-requisitos
Antes de começar, certifique-se de que as seguintes ferramentas estejam instaladas:
| Ferramenta | Versão mínima | Comando de verificação |
|---|---|---|
| Go | 1.24+ | go version |
| Docker | 24+ | docker --version |
| Docker Compose | 2.20+ | docker compose version |
| Make | 3.81+ | make --version |
| Git | 2.30+ | git --version |
O Midaz foi testado em macOS (Apple Silicon e Intel) e Linux (amd64). Usuários de Windows devem executá-lo através do WSL2.
Passo 1 — Clonar o repositório
Clone o repositório do Midaz e acesse o diretório do projeto.
Passo 2 — Configurar os arquivos de ambiente
O Midaz utiliza arquivos
.env para configurar cada componente. Gere-os a partir dos exemplos fornecidos:
.env.example para .env no diretório de cada componente. Os valores padrão estão prontos para desenvolvimento local, portanto nenhuma alteração é necessária.
Passo 3 — Iniciar a infraestrutura
Inicie os serviços de suporte necessários pelo Midaz: PostgreSQL, MongoDB, Valkey, RabbitMQ e OpenTelemetry.
Passo 4 — Iniciar o Midaz
Você pode executar o Midaz em dois modos:
Modo unificado (recomendado)
Modo unificado (recomendado)
O modo unificado executa os serviços de Onboarding e Transaction em um único processo. Esta é a opção mais simples para desenvolvimento e testes locais.Todas as APIs estão disponíveis na porta 3002.
Serviços separados
Serviços separados
Se preferir executar cada serviço de forma independente:
| Serviço | Porta |
|---|---|
| Onboarding | 3000 |
| Transaction | 3001 |
200 OK.
Passo 5 — Criar uma organização
Uma organização representa a entidade comercial por trás da operação financeira: sua empresa, um cliente ou uma instituição regulada. Em produção, isso corresponde à entidade legal sob a qual ledgers, contas e transações são gerenciados.
Salve o
id retornado na resposta. Você o utilizará nos próximos passos como {organization_id}.Passo 6 — Criar 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 taxas ou liquidação, cada um com suas próprias contas e histórico de transações.
id retornado como {ledger_id}.
Passo 7 — Criar um ativo
Um ativo define a unidade de valor rastreada no ledger. Pode ser uma moeda fiduciária como BRL ou USD, mas também pontos de fidelidade, tokens cripto, títulos ou qualquer unidade personalizada que seu negócio precise movimentar e rastrear. Você deve criar pelo menos um ativo antes de criar contas.
Passo 8 — Criar contas
As contas representam os participantes ou compartimentos no seu fluxo financeiro: uma carteira de cliente, um pool de receitas, uma conta de liquidação de comerciante ou uma reserva interna. Cada conta está vinculada a um único ativo e segue as regras de contabilidade de partida dobrada. Você precisa de pelo menos duas contas para processar uma transação: uma para debitar (origem) e outra para creditar (destino). Crie uma conta de origem:
Passo 9 — Processar sua primeira transação
Esta é a ação principal: mover valor entre contas com rastreabilidade completa. O Midaz registra cada transação como uma operação balanceada, debitando a origem e creditando o destino para que seus livros se mantenham consistentes por design.
Esta transação envia R$ 10,00 de
@revenue para @customer-001. O valor "1000" representa 10,00 na menor unidade do BRL, centavos.O Midaz utiliza valores inteiros para evitar problemas de precisão de ponto flutuante, o que é uma prática padrão em sistemas financeiros.Passo 10 — Verificar o saldo
Confirme que a transação foi processada verificando o saldo da conta de destino.
Explorar a API
O Midaz inclui documentação Swagger integrada. Uma vez que os serviços estejam em execução, acesse em:
- Modo unificado:
http://localhost:3002/swagger/index.html - Onboarding:
http://localhost:3000/swagger/index.html - Transaction:
http://localhost:3001/swagger/index.html
Observabilidade
O Midaz inclui uma instância pré-configurada do Grafana integrada com OpenTelemetry.
- Painel 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 em produção
Faça o deploy do Midaz no Kubernetes usando o chart oficial do Helm.
Configurando o CRM
Gerencie titulares e contas alias para conectar identidades do mundo real às suas contas no Midaz.
Estender com plugins
Adicione Fees Engine, Pix e outras capacidades ao seu deploy do Midaz.

