# BRIEF GEMMA R21 — Resurrección del Cyclic ARB (auditoría code-level) Operador: Marco | Fecha: 2026-05-02 (madrugada) | Versión: R21 | Modo: REVIVAL URL: https://cuandeoro.com/gemma/R21/lean.txt ## CONTEXTO En R8 diagnosticaste el cyclic como "muerto estructural" (cambio de mercado, no bug). Marco quiere intentar resucitarlo igualmente — su instinto dice que hay edge real ahí porque tuvo profit positivo 28-30 abr (+$202 paper acumulado). Esta vez vamos a NIVEL DE CÓDIGO, no de data. Quiero que audites el código fuente del cyclic ARB y digas: 1. ¿Es bug del código (refactor lo arregla)? 2. ¿Es realmente solo cambio de mercado (refactor no ayuda)? 3. ¿Hay un middle ground (un fix específico recupera el edge)? ## TIMELINE HISTÓRICO (paper sim) ``` | Day | n_ops | %positive | avg_net | sum_net | |------------|-------|-----------|----------|-----------| | 2026-04-28 | 106 | 100.00% | +$0.17 | +$18.25 | ← día 1, todo positivo | 2026-04-29 | 523 | 100.00% | +$0.35 | +$183.87 | ← PICO, gross promedio $0.41 | 2026-04-30 | 511 | 71.82% | +$0.0002 | +$0.10 | ← inflexión | 2026-05-01 | 1595 | 0.13% | -$0.39 | -$624.87 | ← colapso ``` 3 días buenos (+$202 acumulado), luego colapso brutal. DEX MIX: 28-abr: BisonFi=59, AlphaQ=28, Scorch=27, SolFi V2=25, Manifest=23 (diverso) 01-may: BisonFi=362, HumidiFi=348, ZeroFi=251, Scorch=213, SolFi V2=176 (concentrado en exóticos) ## ESTADO ACTUAL DEL BOT - solana-executor-rs.service: STOPPED + DISABLED (compartido con sandwich) - Pool target: Orca↔Raydium SOL/USDC + JUP/USDC (cyclic via Jupiter API) - paperMode: true siempre, jamás se hizo trade real - realizedProfit: $0.00 ## CÓDIGO PARA AUDITAR https://cuandeoro.com/gemma/R21/code/ ← árbol completo (5,300 líneas Rust) https://cuandeoro.com/gemma/R21/code/Cargo.toml https://cuandeoro.com/gemma/R21/code/.env.sanitized ARCHIVOS CLAVE para cyclic (top 5): https://cuandeoro.com/gemma/R21/code/src/jupiter.rs (6 KB) ⭐⭐ HTTP client cyclic — el alma del bot https://cuandeoro.com/gemma/R21/code/src/jup_rate.rs (1 KB) ⭐ rate limiter https://cuandeoro.com/gemma/R21/code/src/opportunity_engine/mod.rs (7 KB) ⭐⭐ cyclic detection logic https://cuandeoro.com/gemma/R21/code/src/pair_list.rs (2 KB) ⭐ qué pares trade https://cuandeoro.com/gemma/R21/code/src/local_quote.rs (3 KB) local price calc (usado o muerto?) DEX modules (más caja negra): https://cuandeoro.com/gemma/R21/code/src/dex/orca_whirlpool.rs (2 KB) https://cuandeoro.com/gemma/R21/code/src/dex/raydium_clmm.rs (2 KB) https://cuandeoro.com/gemma/R21/code/src/dex/clmm_tick_traversal.rs (3 KB) https://cuandeoro.com/gemma/R21/code/src/dex/tickarray_loader.rs (5 KB) DAEMON / coordination: https://cuandeoro.com/gemma/R21/code/src/main.rs (24 KB) daemon entry https://cuandeoro.com/gemma/R21/code/src/state_engine/ Orca/Raydium state monitoring https://cuandeoro.com/gemma/R21/code/src/pool_state.rs (4 KB) https://cuandeoro.com/gemma/R21/code/src/pool_watcher.rs (3 KB) ## ARTEFACTOS https://cuandeoro.com/gemma/R21/data/opportunities_FULL.jsonl ← 2,735 records 28-abr → 1-may https://cuandeoro.com/gemma/R21/data/cyclic_timeline.txt ← agregados diarios + DEX shift https://cuandeoro.com/gemma/R21/data/stats_current.json ← stats últimas https://cuandeoro.com/gemma/R21/data/v2_state.json ← engine state ## LAS PREGUNTAS PARA TI Q1 — **AUDITORÍA DEL JUPITER CLIENT** (jupiter.rs): ¿Hay bugs estructurales en cómo construimos el quote? - ¿Usamos onlyDirectRoutes mal? - ¿Slippage tolerance excessive? - ¿Manejo de api_err insuficiente (el 54% fallaba en R7)? - ¿Caching de quotes que servía data stale? Q2 — **OPPORTUNITY ENGINE** (opportunity_engine/mod.rs): La lógica de detección de gap. ¿Mide el gap correctamente? - ¿Cómputo de gross/net usa fees actualizadas o hardcoded? - ¿La fórmula de profit es correcta para 2-leg cyclic? - ¿Detecta arb genuino o ruido de routing? Q3 — **PAIR_LIST** (pair_list.rs): Qué pares estamos consultando. 28-abr funcionó con BisonFi/AlphaQ/Scorch. 01-may todos pasaron por HumidiFi/ZeroFi/exóticos. ¿El pair_list sigue siendo el correcto o necesita expansión a long-tail tokens (G15)? Q4 — **REFACTOR PATHS posibles**: Path A — Local CLMM math (G14, S9): leer pools Orca+Raydium directamente, sin Jupiter. ¿Cuántas horas? ¿Qué archivos hay que escribir? Path B — Aggressive filtering: skip ops con leg1 o leg2 en exóticos (HumidiFi, ZeroFi, BisonFi tras 30-abr). ~2h dev. Path C — Pivot a long-tail mid-cap pairs ($100K-$1M liquidity). Cambia pair_list.rs + revisa que Jupiter rutee bien. Path D — KILL definitivo. Ya intentamos, no resurrecciona. ¿Cuál recomiendas y por qué con números? Q5 — **¿REGRESIÓN CÍCLICA O ESTRUCTURAL?** Tu R8 dijo "estructural". Con 2 días más de data (1 mes después), ¿se confirma o cambia? ¿Hay alguna ventana horaria o condición de mercado donde cyclic sigue siendo viable? ## VEREDICTO ESPERADO Marca cada bug encontrado: 🔴 CRITICAL — bug que mata profit potencial 🟡 HIGH — ineficiencia que reduce edge 🟢 LOW — mejora menor Y al final: - Recomendación PATH (A/B/C/D) - Estimación horas dev - Probabilidad % de profit positivo en LIVE post-refactor ## MENSAJE AL ANALISTA Marco quiere darle dinero al cyclic. Antes de eso, audita el código. Si encuentras un bug estructural que justifica refactor (Path A/B/C), el refactor se hace. Si confirmas que es muerto definitivo (Path D), también es válido — Marco lo respeta cuando hay datos. Pero su instinto dice que cyclic puede resucitar (porque le pasó con liquidator esta noche — del 0% al 99% en 8h). Si puedes, dale ese mismo nivel de análisis.