Prerrequisitos
Antes de comenzar, asegúrese de tener instaladas las siguientes herramientas:
| Herramienta | Versión mínima | Comando de verificación |
|---|---|---|
| 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 |
Midaz ha sido probado en macOS (Apple Silicon e Intel) y Linux (amd64). Los usuarios de Windows deben ejecutarlo a través de WSL2.
Paso 1 — Clonar el repositorio
Clone el repositorio de Midaz y acceda al directorio del proyecto.
Paso 2 — Configurar los archivos de entorno
Midaz utiliza archivos
.env para configurar cada componente. Genérelos a partir de los ejemplos proporcionados:
.env.example a .env en el directorio de cada componente. Los valores predeterminados están listos para desarrollo local, por lo que no se requieren cambios.
Paso 3 — Iniciar la infraestructura
Inicie los servicios de soporte requeridos por Midaz: PostgreSQL, MongoDB, Valkey, RabbitMQ y OpenTelemetry.
Paso 4 — Iniciar Midaz
Puede ejecutar Midaz en dos modos:
Modo unificado (recomendado)
Modo unificado (recomendado)
El modo unificado ejecuta los servicios de Onboarding y Transaction en un solo proceso. Esta es la opción más simple para desarrollo y pruebas locales.Todas las APIs están disponibles en el puerto 3002.
Servicios separados
Servicios separados
Si prefiere ejecutar cada servicio de forma independiente:
| Servicio | Puerto |
|---|---|
| Onboarding | 3000 |
| Transaction | 3001 |
200 OK.
Paso 5 — Crear una organización
Una organización representa la entidad comercial detrás de la operación financiera: su empresa, un cliente o una institución regulada. En producción, esto se corresponde con la entidad legal bajo la cual se gestionan los ledgers, cuentas y transacciones.
Guarde el
id devuelto en la respuesta. Lo utilizará en los próximos pasos como {organization_id}.Paso 6 — Crear un ledger
Un ledger es un libro de registros aislado dentro de una organización. Puede crear ledgers separados para diferentes dominios financieros, como pagos, cobro de tarifas o liquidación, cada uno con sus propias cuentas e historial de transacciones.
id devuelto como {ledger_id}.
Paso 7 — Crear un activo
Un activo define la unidad de valor rastreada en el ledger. Puede ser una moneda fiduciaria como BRL o USD, pero también puntos de fidelidad, tokens cripto, valores o cualquier unidad personalizada que su negocio necesite mover y rastrear. Debe crear al menos un activo antes de crear cuentas.
Paso 8 — Crear cuentas
Las cuentas representan a los participantes o compartimentos en su flujo financiero: una billetera de cliente, un pool de ingresos, una cuenta de liquidación de comerciante o una reserva interna. Cada cuenta está vinculada a un único activo y sigue las reglas de contabilidad de partida doble. Necesita al menos dos cuentas para procesar una transacción: una para debitar (origen) y otra para acreditar (destino). Cree una cuenta de origen:
Paso 9 — Procesar su primera transacción
Esta es la acción principal: mover valor entre cuentas con trazabilidad completa. Midaz registra cada transacción como una operación balanceada, debitando el origen y acreditando el destino para que sus libros se mantengan consistentes por diseño.
Esta transacción envía R$ 10,00 de
@revenue a @customer-001. El valor "1000" representa 10,00 en la unidad más pequeña del BRL, centavos.Midaz utiliza valores enteros para evitar problemas de precisión de punto flotante, lo cual es una práctica estándar en sistemas financieros.Paso 10 — Verificar el saldo
Confirme que la transacción fue procesada verificando el saldo de la cuenta de destino.
Explorar la API
Midaz incluye documentación Swagger integrada. Una vez que los servicios estén en ejecución, acceda en:
- Modo unificado:
http://localhost:3002/swagger/index.html - Onboarding:
http://localhost:3000/swagger/index.html - Transaction:
http://localhost:3001/swagger/index.html
Observabilidad
Midaz incluye una instancia preconfigurada de Grafana integrada con OpenTelemetry.
- Panel de Grafana:
http://localhost:3100 - Credenciales predeterminadas:
midaz/lerian
Detener Midaz
Para detener todos los servicios:
Próximos pasos
Creando transacciones
Aprenda las diferentes formas de crear transacciones, incluyendo JSON, inflow y outflow, y cuándo usar cada una.
Desplegar en producción
Despliegue Midaz en Kubernetes usando el chart oficial de Helm.
Configuración de CRM
Gestione titulares y cuentas alias para conectar identidades del mundo real a sus cuentas de Midaz.
Extender con plugins
Agregue Fees Engine, Pix y otras capacidades a su despliegue de Midaz.

