Skip to main content
Neste guia, você configura um ambiente Midaz funcional. Em seguida, você percorre o fluxo de trabalho principal por trás de qualquer aplicação financeira na plataforma. Você cria uma organização, um ledger e contas, e depois processa sua primeira transação. Ao final, você tem um ledger em funcionamento pronto para seu caso de uso. Pode ser pagamentos, empréstimos, liquidação de marketplace ou tesouraria interna.

Pré-requisitos


Antes de começar, instale estas ferramentas:
O Midaz é executado em macOS (Apple Silicon e Intel) e Linux (amd64). No Windows, execute-o 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 usa arquivos .env para configurar cada componente. Gere-os a partir dos exemplos fornecidos:
Este comando copia .env.example para .env no diretório de cada componente. Os valores padrão funcionam para desenvolvimento local. Você não precisa alterá-los.

Passo 3 — Iniciar a infraestrutura


Inicie os serviços de suporte de que o Midaz precisa: PostgreSQL, MongoDB, Valkey, RabbitMQ, Redpanda e OpenTelemetry.
Aguarde até que todos os contêineres reportem um status saudável. Verifique o status deles com:
Os serviços de infraestrutura usam as seguintes portas padrão:

Passo 4 — Iniciar o Midaz


O Midaz é executado como um único serviço Ledger que inclui os domínios de onboarding e de transações. Inicie-o com:
Este comando inicia a infraestrutura, se necessário, e os serviços do Midaz. Todas as APIs estão disponíveis na porta 3002. Verifique se o Midaz responde:
Você deverá receber uma resposta 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, ela corresponde à entidade legal que contém seus ledgers, contas e transações.
Para a especificação completa do endpoint, consulte Criar uma Organização.
Salve o id retornado na resposta. Você o usa 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 ledger tem suas próprias contas e histórico de transações.
Para a especificação completa do endpoint, consulte Criar um Ledger.
Salve o 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. Também pode ser pontos de fidelidade, tokens cripto, títulos ou qualquer unidade personalizada que seu negócio rastreie. Você deve criar pelo menos um ativo antes de criar contas.
Para a especificação completa do endpoint, consulte Criar um Ativo.

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 comerciante ou uma reserva interna. Cada conta se vincula 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).
Para a especificação completa do endpoint, consulte Criar uma Conta.
Crie uma conta de origem:
Crie uma conta de destino:

Passo 9 — Processar sua primeira transação


Esta é a ação principal: ela move valor entre contas com rastreabilidade completa. O Midaz registra cada transação como uma operação balanceada. Ela debita a origem e credita o destino, para que seus livros se mantenham consistentes por design.
Para a especificação completa do endpoint, consulte Criar uma Transação usando JSON.
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 usa valores inteiros para evitar erros de ponto flutuante. Esta é uma prática padrão em sistemas financeiros.

Passo 10 — Verificar o saldo


Verifique o saldo da conta de destino para confirmar a transação.
Para a especificação completa do endpoint, consulte Consultar um Saldo por Alias de Conta.
O saldo retornado deve refletir o valor creditado. Neste ponto, você tem um ledger funcional que processa transações reais.

Explorar a API


O Midaz pode servir sua especificação OpenAPI 3.1 e documentação interativa da API. Essa superfície de documentação está desativada por padrão. Para ativá-la, defina LEDGER_HUMA_DOCS_ENABLED=true em components/ledger/.env e reinicie o Midaz. Em seguida, 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 inclui uma instância pré-configurada do Grafana integrada com OpenTelemetry.
  • Painel do Grafana: http://localhost:3100
  • Credenciais padrão: midaz / lerian
A partir do Grafana, você pode explorar logs, traces e métricas de todos os serviços do Midaz.

Parando o Midaz


Para parar todos os serviços:
Para remover contêineres e volumes e começar de um ambiente limpo:

Próximos passos


Novo no Midaz? Comece pelas Entidades do Midaz para entender organizações, ledgers, contas e transações.

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.