T-Suite es un conjunto de servicios Node.js / TypeScript contenedorizados detrás de tres aplicaciones web de una sola página, respaldados por MongoDB y Redis, conectados mediante Kafka y gRPC, y anclados a smart contracts en varias cadenas EVM y en Cardano. Esta página describe la forma del sistema; para un recorrido menos técnico, véase Arquitectura e Integraciones.
Navegadores (inversionistas, emisores, gestores, admins, transfer agents)
│ HTTPS (REST) ▲ Server-Sent Events
▼ │
┌───────────────────────────────────────────────┴──────────────────────┐
│ App T-Suite (Marketplace) · Consola Admin · App Transfer Agent │
│ aplicaciones de una sola página — React / TypeScript │
└──────────┬──────────────────────────┬─────────────────────┬──────────┘
│ │ │
┌──────────▼─────────┐ ┌────────────▼─────────┐ ┌────────▼───────────┐
│ API Marketplace │◄──┤ API Admin │ │ API Transfer Agent │
│ (API principal, │ │ (proxy firmado HMAC)│ │ │
│ tareas, SSE) │ └──────────────────────┘ └────────────────────┘
└───┬────────┬───────┘ ▲ gRPC (llamadas internas) ▲
│ └──────────────────┴───────────────────────────────┘
│ Kafka (eventos)
│ ┌──────────────────────┬──────────────────────┬─────────────────┐
▼ ▼ ▼ ▼ ▼
┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────┐
│ Servicio de │ │ Servicio de │ │ Servicio de │ │ Servicio │
│ notificación │ │ eventos (indexer)│ │ dividendos │ │ Cardano │
└──────────────┘ └────────┬─────────┘ └──────────────────┘ └──────┬───────┘
│ │
┌───────────────────────────▼──────────────────────────────────────────▼──────┐
│ Cadenas: Base · Ethereum · Polygon · Arbitrum (+ testnets EVM) · Cardano │
└─────────────────────────────────────────────────────────────────────────────┘
Datos: MongoDB · Redis · almacenamiento de blobs en la nube
Terceros: SumSub · Stripe · Bridge.xyz · SendGrid · Gmail · Anthropic · proveedores RPC
| App | Quién la usa | Qué contiene |
|---|---|---|
| App T-Suite (Marketplace) | Inversionistas, emisores, gestores de activos | Plataformas de Inversionista, Emisor y Asset Management, Distribution Hub, Structuring, Trading, Stablecoin Studio, Custodian Wallet. Se sirve bajo el dominio de Libertum y bajo el dominio propio de cada tenant whitelabel. |
| Consola Admin | Administradores de Libertum | Operaciones de SuperAdmin: comisiones, planes, restricciones por país, aprobaciones, configuración de la plataforma |
| App Transfer Agent | Transfer agents | Cap table, decisiones de whitelist de wallets, diario de transferencias, transacciones |
Las tres son aplicaciones de una sola página compiladas de forma estática. Se comunican con el backend por HTTPS (REST con JSON) y, para las actualizaciones en vivo, mediante un stream Server-Sent Events.
| Servicio | Responsabilidad |
|---|---|
| API Marketplace | La API principal. Usuarios y onboarding, ofertas, órdenes y pagos, suscripciones y módulos, acuerdos y firma electrónica, Custodian Wallet, redenciones, gobernanza, Distribution Hub, Structuring, Trading, Stablecoin Studio, tareas programadas y el stream de notificaciones en tiempo real |
| API Admin | Operaciones de SuperAdmin (comisiones, restricciones por país, aprobaciones). Las llamadas de la consola admin hacia la API Marketplace se firman entre servidores |
| Servicio de notificación | Envío de correos y notificaciones dentro de la app |
| Servicio de eventos | Indexador de eventos blockchain: consulta periódicamente cada cadena soportada y publica lo que encuentra en Kafka |
| Servicio de dividendos | Procesamiento de dividendos |
| API Transfer Agent | Backend de la app Transfer Agent |
| Servicio Cardano | Operaciones de tokens CIP-20 y CIP-113 y firma de la custodia en Cardano |
La API Marketplace se organiza en componentes, uno por dominio — por ejemplo structuring, aiUsage, sseNotifications, custodianWallet, gasTreasury, bridge (T-Pay vía Bridge.xyz), governance, p2p, hosting, investorStatements, agreements, redemption, distributionHub, countryRestrictions, feeConfig, y los componentes de infraestructura XRPL xrplPlatform, xrplCredentialIssuer y xrplReserve.
Los servicios usan dos canales complementarios:
Ni Kafka ni gRPC están expuestos fuera de la plataforma. Un integrador solo ve la API HTTPS y el stream SSE.
El trabajo recurrente se ejecuta con node-cron dentro de la API Marketplace — alrededor de dos docenas de tareas, como expirar órdenes impagas, abrir los listados Coming Soon en su fecha de lanzamiento, procesar redenciones, el resumen de notificaciones de la plataforma, la facturación mensual del uso de IA y el vencimiento de suscripciones.
Como la API puede ejecutarse en más de una instancia, cada tarea toma un lock en Redis antes de ejecutarse, de modo que solo una instancia ejecuta una tarea dada a la vez.
La indexación de cadenas es independiente: el servicio de eventos consulta cada cadena con su propio calendario y publica los eventos en Kafka.
El navegador recibe actualizaciones en vivo (notificaciones, decisiones de whitelist, aprobaciones de KYC/KYB y similares) mediante un stream Server-Sent Events servido por la API Marketplace. El stream se abre con un ticket de un solo uso de corta duración, para que el token de acceso nunca aparezca en una URL. Véase Tiempo real y webhooks.
| Almacén | Uso |
|---|---|
| MongoDB | Almacén documental principal — usuarios, ofertas, órdenes, suscripciones, acuerdos, custodian wallets, registros de auditoría y más |
| Redis | Fijación de sesiones, códigos y tickets de corta duración, cachés, y los locks que mantienen las tareas programadas en una sola instancia |
| Almacenamiento de blobs en la nube | Archivos subidos — branding, documentos de ofertas, archivos relacionados con KYC/KYB, PDFs generados |
Las claves privadas de la Custodian Wallet se guardan cifradas (AES-256-GCM).
Las cadenas EVM se acceden mediante proveedores RPC comerciales con failover. Los datos de la cadena Cardano provienen de un proveedor de datos de Cardano, y las transacciones de Cardano se construyen y firman en el servicio Cardano. Véase Smart contracts para ver qué funciona en cada cadena.
| Proveedor | Uso |
|---|---|
| SumSub | KYC (personas) y KYB (entidades) |
| Stripe | Pagos con tarjeta, facturación de suscripciones, Stripe Connect para los pagos a emisores, cobros de gas de transacciones de custodia |
| Bridge.xyz | Rampa fiat de entrada/salida de T-Pay (disponibilidad limitada) |
| SendGrid | Correo transaccional |
| Gmail (OAuth de solo lectura) | Conexión de la bandeja de entrada del Distribution Hub |
| Modelos Claude de Anthropic | Libby AI y Structuring |
| Cloudflare | Dominios propios para tenants whitelabel (Cloudflare for SaaS) |
| Proveedores RPC comerciales | Acceso a cadenas EVM, con failover |
| Sentry | Seguimiento de errores |
Las llamadas entrantes de los proveedores (por ejemplo, resultados de verificación de SumSub y eventos de pago de Stripe) se verifican por firma antes de procesarse.