Ir al contenido

Descripción general de la arquitectura

Usuario
|
v
Dashboard (apps/dashboard)
| - Autenticación (Google/GitHub/correo)
| - Configuración de escaneo del wallet LP
| - Configuración de estrategias de bot
| - Gestión de wallets de ejecución (clave API)
|
v
Bot Runtime (apps/bot)
| - Escáner de posiciones LP en la cadena
| - FSM de bot por instancia de estrategia
| - Ejecutor de coberturas
|
+---> DEX / On-chain (Uniswap V3/V4, PancakeSwap V3)
| Escaneo de posiciones LP (solo lectura mediante dirección pública)
|
+---> CEX / Exchange de futuros (Binance Futures, HyperLiquid)
Ejecución de órdenes de futuros (mediante clave API proporcionada por el usuario)

Modelo de autocustodia y custodia automatizada

Sección titulada «Modelo de autocustodia y custodia automatizada»

Wallet LP (autocustodia, solo lectura). El wallet LP se identifica por una dirección pública. Aegis usa esta dirección únicamente para escanear posiciones LP en la cadena. El bot no tiene en custodia fondos LP, no requiere una clave privada ni frase semilla, y no solicita ninguna aprobación o firma del wallet LP. El capital LP permanece en el wallet del usuario en todo momento.

Wallet de ejecución CEX (controlado por el usuario). Las coberturas de futuros se ejecutan usando una clave API que el usuario crea en su cuenta del exchange centralizado. La clave API otorga únicamente permisos de trading. Los fondos permanecen en la cuenta del exchange del usuario. Aegis no tiene custodia sobre los fondos del exchange.

Las claves API se cifran en reposo con AES-256-GCM dentro de la infraestructura de Aegis (apps/bot/src/shared/infrastructure/credentials/). Las claves nunca se muestran de vuelta en el dashboard después de guardarlas. Para conocer el conjunto de permisos requeridos y el modelo de seguridad, consulta API Keys — Descripción general y FAQ — Seguridad.

Uniswap V3/V4 y PancakeSwap V3 utilizan liquidez concentrada: el LP define un rango de precio [P_lower, P_upper]. Cuando el precio de mercado está dentro del rango, la posición genera comisiones proporcionales a la profundidad de liquidez. Cuando el precio sale del rango, la posición queda completamente en un solo lado y deja de generar comisiones.

Aegis modela la exposición delta de la posición LP en función del precio actual relativo al rango. Los bots de cobertura abren y cierran posiciones de futuros perpetuos para compensar esta exposición de acuerdo con la lógica de estrategia de cada bot.

Cada instancia activa de bot ejecuta una máquina de estados finita con los siguientes estados de alto nivel:

  • Inactivo — no se detectó ninguna posición LP activa.
  • Monitoreando — se detectó una posición LP; el bot está observando el precio relativo a las condiciones de disparo configuradas.
  • Cobertura activa — se cumplió la condición de disparo; una o más posiciones de futuros (legs) están abiertas.
  • Cerrando — la posición está siendo cerrada (toma de ganancias, stop-loss o reingreso al rango).
  • Error — fallo en la ejecución; el bot permanece en estado de error hasta que el operador resuelve el problema.

El runtime gestiona múltiples instancias de bot de forma concurrente. Cada instancia de bot está vinculada a exactamente un wallet de ejecución y un par de trading (símbolo perpetuo). Ejecutar múltiples tipos de bot (por ejemplo, Bastion y Vanguard en el mismo exchange) requiere wallets de ejecución separados — uno por tipo de bot.

Bots activos: Bastion (protección corta), Vanguard (long en ruptura), Orbit (media-reversión long/short). Cada bot interactúa con los límites del rango LP de manera diferente. Consulta las páginas individuales de cada bot para ver los detalles de estrategia.