Figura 1. Midaz y sus dominios interconectados y estructura modular.
Componentes centrales
Midaz
Midaz está en el centro. Coordina todo, desde la persistencia de datos hasta la lógica de negocio.Capa de datos
Todos los datos fluyen hacia la capa de datos persistente. Esta capa le da al sistema durabilidad, consistencia y rendimiento.Dominios y relaciones
Organizaciones
Cada organización es un entorno distinto en Midaz. Puede contener uno o varios ledgers, según cómo estructures tus datos.Ledgers
Un ledger contiene toda la actividad financiera. Rastrea saldos, almacena activos e impulsa transacciones. Cada ledger pertenece a una organización. Desde aquí, el sistema se ramifica en:- Activos: definen el tipo de valor que rastreas.
- Portafolios: agrupan cuentas relacionadas bajo un propósito compartido.
Activos
Los activos definen las unidades de valor, como BRL, USD, puntos o tokens. Cada cuenta usa un activo específico.Portafolios
Los portafolios agrupan cuentas según la lógica de negocio. Puedes crear tantos portafolios como necesites para organizar tu estructura financiera. Cada portafolio contiene una o más cuentas.Cuentas y Segmentos
Una cuenta pertenece a un portafolio y representa un saldo individual. Los Segmentos agrupan cuentas, de modo que puedas aislar datos por cliente, producto, región o cualquier otra dimensión. Los Tipos de cuenta clasifican las cuentas por naturaleza y propósito. Habilitan el enrutamiento de transacciones y la validación operativa entre categorías de cuentas.Saldo
Un Saldo representa el monto neto que una Cuenta mantiene de un Activo determinado en un Ledger específico.- Una cuenta puede tener múltiples saldos. Cada uno tiene una
balanceKey(por ejemplo,default,collateral,operational) para particionar fondos sin dividir la cuenta. - Una cuenta externa tiene un solo saldo (
default). - Si omites
balanceKeyen una transacción, Midaz usa el saldo predeterminado. - Midaz deriva los saldos automáticamente a partir de las operaciones del ledger. Puedes listarlos, consultarlos o (en escenarios de administración o pruebas) ajustarlos manualmente.
- La clave de caché de Valkey incluye
balanceKeyen su formato:balance:{transactions}:<orgId>:<ledgerId>:<alias>#<balanceKey>.
Transacciones
Una transacción mueve valor entre cuentas. Cada transacción contiene operaciones (débitos y créditos). Esto mantiene tu lógica consistente, trazable y alineada con tu modelo de negocio y tus políticas contables.Entidades de Rutas contables
Las entidades de Rutas contables extienden Midaz. Crean un sistema estructurado que garantiza anotaciones correctas y direcciones correctas de flujo financiero. Tiene dos partes:- Rutas de operación: definen comportamientos atómicos de transacción. Cada ruta establece cómo Midaz anota y dirige un movimiento financiero, según tus reglas de negocio y estándares contables.
- Rutas contables: orquestan varias Rutas de operación en eventos financieros balanceados. Cuando la validación de rutas está habilitada en la configuración del ledger, imponen la estructura de transacción configurada. (La API lo llama
transactionRoute.)

