Requisitos previos
Antes de empezar, instala estas herramientas:
Midaz funciona en macOS (Apple Silicon e Intel) y Linux (amd64). En Windows, ejecútalo mediante WSL2.
Paso 1: Clonar el repositorio
Clona el repositorio de Midaz y muévete al directorio del proyecto.
Paso 2: Configurar los archivos de entorno
Midaz usa archivos
.env para configurar cada componente. Genéralos a partir de los ejemplos incluidos:
.env.example a .env en cada directorio de componente. Los valores predeterminados funcionan para el desarrollo local. No necesitas cambiarlos.
Paso 3: Iniciar la infraestructura
Inicia los servicios de soporte que Midaz necesita: PostgreSQL, MongoDB, Valkey, RabbitMQ, Redpanda y OpenTelemetry.
Paso 4: Iniciar Midaz
Midaz se ejecuta como un único servicio de Ledger que incluye los dominios de onboarding y transacciones. Inícialo con:
200 OK.
Paso 5: Crear una organización
Una organización representa la entidad de negocio detrás de la operación financiera: tu empresa, un cliente o una institución regulada. En producción, corresponde a la entidad legal que posee tus ledgers, cuentas y transacciones.
Guarda el
id devuelto en la respuesta. Lo usas en los siguientes pasos como {organization_id}.Paso 6: Crear un ledger
Un ledger es un libro de registros aislado dentro de una organización. Puedes crear ledgers separados para distintos dominios financieros, como pagos, cobro de comisiones o liquidación. Cada ledger tiene sus propias cuentas e historial de transacciones.
id devuelto como {ledger_id}.
Paso 7: Crear un activo
Un activo define la unidad de valor que se registra en el ledger. Puede ser una moneda fiat como BRL o USD. También puede ser puntos de lealtad, tokens cripto, valores, o cualquier unidad personalizada que tu negocio registre. Debes crear al menos un activo antes de crear cuentas.
Paso 8: Crear cuentas
Las cuentas representan los participantes o contenedores en tu flujo financiero: la billetera de un cliente, un fondo de ingresos, la cuenta de un comerciante o una reserva interna. Cada cuenta se vincula a un único activo y sigue las reglas de contabilidad de partida doble. Necesitas al menos dos cuentas para procesar una transacción: una para debitar (origen) y otra para acreditar (destino). Crea una cuenta de origen:
Paso 9: Procesar tu primera transacción
Esta es la acción central: mueve valor entre cuentas con trazabilidad completa. Midaz registra cada transacción como una operación balanceada. Debita el origen y acredita el destino, de modo que tus libros se mantienen consistentes por diseño.
Esta transacción envía
"1000" de @revenue a @customer-001. Midaz almacena los valores monetarios como cadenas decimales y no aplica una escala específica del activo.Tu integración define las reglas de presentación y redondeo para los montos en BRL. No proceses los valores monetarios como punto flotante binario.Paso 10: Verificar el saldo
Verifica el saldo de la cuenta de destino para confirmar la transacción.
Explorar la API
Midaz puede exponer su especificación OpenAPI 3.1 y documentación interactiva de la API. Esta interfaz de documentación está deshabilitada de forma predeterminada. Para habilitarla, define
OPENAPI_DOCS_ENABLED=true en components/ledger/.env y reinicia Midaz. Luego accede a:
- Documentación de la API:
http://localhost:3002/v1/docs - Especificación OpenAPI:
http://localhost:3002/v1/openapi.json(o/v1/openapi.yaml)
Observabilidad
Midaz incluye una instancia de Grafana preconfigurada e integrada con OpenTelemetry.
- Panel de Grafana:
http://localhost:3100 - Credenciales predeterminadas:
midaz/lerian
Detener Midaz
Para detener todos los servicios:
Próximos pasos
Crear transacciones
Conoce las distintas formas de crear transacciones, incluyendo JSON, inflow y outflow, y cuándo usar cada una.
Desplegar en producción
Despliega Midaz en Kubernetes usando el Helm chart oficial.
Configurar CRM
Gestiona holders y cuentas con alias para conectar identidades del mundo real con tus cuentas de Midaz.
Extender con plugins
Agrega Fees Engine, Pix y otras capacidades a tu implementación de Midaz.

