VelocityQuant
Evolución V1 → V6+
De recolector a león del territorio
Esta es la historia técnica del bot — versión a versión — explicada
como lo que es: una evolución cazadora. Cada versión cambia
la actitud del bot frente al mercado, no el terreno donde
opera. El nicho ("monedas que otros no quieren") es nuestro siempre.
PASIVOv1 → v4
PREDICTIVOv4.5
ACTIVOv5
DOMINANTEv6+
Capítulo 1 — La era pasiva: V1 → V4
VERSIÓN · 01 · CICLO R59-R64
🌱V1 — El primer recolector
Solo Kamino liquidations · 2026-Q1
Histórico
Un recolector novato. Solo conoce un sendero del bosque (Kamino lending) y solo recoge un tipo de fruta (posiciones undercollateralized).
Componentes técnicos clave
- Kamino-only: suscripción gRPC a obligation accounts, parse on-chain
- SafetyWorker event-driven (R59) para forensic en panic
- Circuit Breaker primera versión — slot lag basic guard
- PythCache push-based (R62 A4) — eliminó HTTP poll
- Wallet aislada hot200 para LIVE blast-radius (R65 C.3)
Limitación principal
- Mercado Kamino estable → muy pocas liquidaciones genuinas → bot dormía 90% del tiempo. Necesitaba más territorio.
↓
VERSIÓN · 02 · CICLO R74
🌳V2 — Recolector con dos canastas
Kamino + Cyclic ARB · pre-Path C · 2026-Q2
Histórico
El recolector aprende un segundo sendero (CLMM pools de Solana). Ahora recoge dos tipos de fruta: liquidaciones Y arbitrajes cíclicos donde el precio difiere entre pools.
Cambios técnicos
- Cyclic ARB añadido como segundo filtro en el mismo stream gRPC (R28 Q2)
- TCP_NODELAY=true (R74 Ventana 1) — sin Nagle, RTT bajado decenas de ms
- tokio worker_threads=8 — paralelismo del runtime async
- Tier-aware depeg gate + Pyth integration para CLMM (R64 A4.1)
Limitación
- Channel
mpsc no tenía backpressure → bajo carga, dispatch se bloqueaba o droppeaba updates impredeciblemente.
↓
VERSIÓN · 02.1 · R74 VENTANA 2 · PATH C
🛡️V2.1 — El recolector que NO se atasca
Bounded mpsc + try_send · 2026-05-03
Histórico
Si el recolector encuentra demasiada fruta a la vez y su canasta está llena, suelta un poco al suelo en lugar de bloquearse o tirar el contenido. El paso es siempre fluido.
Path C — la decisión arquitectural clave
- Bounded mpsc::Sender(1000) — channel con capacidad explícita
- try_send (no-blocking) — si está saturado, log WARN y dropea ese update (mejor un dato perdido que un ingest bloqueado, regla Gemma R74 v3)
- Sender hot path nunca espera el receiver lento
↓
VERSIÓN · 03 · R74 VENTANA 3 · VISIBILITY
🔍V3 — El recolector con linterna
CB visibility + depeg instrumentation · 2026-05-04
Histórico
El recolector ahora lleva una linterna que muestra POR QUÉ no pasa por algunas zonas: "aquí no porque el Circuit Breaker está tripped", "aquí no porque el oráculo está despeggeado". Antes ciego, ahora ve la razón de cada gate.
Instrumentación añadida
- cb_blocked counter — cuántos quotes bloqueados por Circuit Breaker
- depeg_blocked counter — cuántos por Pyth oracle desincronizado
- Slot lag bins visibles en dashboard shadow
- Industrial Health 4 pillars (TTPR/APPO/ODR/LRV)
El gran descubrimiento (smoking gun)
- El bot ve oportunidades pero el CB las mata. 51% de gating es CB+depeg.
cb_blocked > 80% sostenido. Confirmó que el cuello de botella NO era el ingest, era el threshold del CB. → V4 nace de esta evidencia.
↓
VERSIÓN · 03.5 · R75 · ESTABILIDAD
🔁V3.5 — El recolector que se reconecta solo
Reconexión interna gRPC + watchdog · 2026-05-04 LIVE NOW
EN VIVO HOY
Antes: si se cortaba la línea con Chainstack, el recolector se caía y systemd lo levantaba en 10s (gap grande). Ahora: el recolector reconoce el corte, espera 2s, reconecta solo. Continuidad casi sin agujero.
Cambios técnicos
- is_transient(e): función que clasifica errores gRPC (h2 protocol, TCP reset, timeout, "zombie") como transitorios → 2s sleep + retry
- Cap 10 retries / 60s: si no conecta, propaga a systemd (Chainstack outage real)
- Wrapper run() + connect_and_stream() separados — refactor limpio
- Telegram bloqueado por firewall UFW (4 emisores Dallas + 1 listener Newark)
Uptime LIVE
6h+ y subiendo
Reconnects
0 (todo limpio)
↓
VERSIÓN · 04 · R76 · CAPTURA INTELIGENTE
🎯V4-Alpha — El recolector que captura el "amarillo"
CB 5→8 + tip dinámico + slippage modulado + CME guards · Vie 2026-05-08 13:00 UTC
VIERNES
El mismo recolector pasivo pero con MEJOR criterio. Antes ignoraba la "zona amarilla" (lag 5-7) por miedo. Ahora la captura, paga la mitad por intentar (tip ×0.5), y tiene un kill-switch que lo apaga si en esa zona pierde dinero. Para los viernes 19-22 UTC (CME settlement), guardrails extra.
Cambios técnicos
- CB TRIP 5→8: 3 slots más de tolerancia → captura el $4k que V3 dejaba en mesa
- Tip dinámico: lag 0-2 normal, lag 5-7 ×0.5 (zona amarilla), lag ≥8 bloqueado
- Slippage modulado: 50/75/30 bps según bucket (en zona amarilla, prefiere fail antes que loss)
- Kill-switch ring buffer 90×10s: si en lag 5-7 success rate <30% o burn >$5/h → CB TRIP permanente
- CME guards (vie 19-22 UTC): 7 controles (vol cap, TVL drop freeze, oracle freshness 3s, inflight cap, +50% min profit, max trade size cap, kill-switch CME estricto)
- Watchdog Zombie Connection tokio::select! con LIQ_ZOMBIE_TIMEOUT_MS=30000
- Telegram extirpado del binario (ya compilado en backup)
Target Net/día @ $1k LIVE
+$10-35
Capítulo 2 — La transición predictiva: V4.5
VERSIÓN · 04.5 · R77+ · BACKRUN
🐘V4.5 — El cazador que sigue al elefante
Backrun direccional · ~3 semanas post-V4 stable
2-3 SEMANAS
Ya no es solo recolector. Es cazador. Cuando un elefante (whale) cruza el bosque, las plantas se sacuden y caen frutas detrás de él. El bot detecta al elefante, salta inmediatamente detrás del paso, y recoge las frutas que cayeron por la inercia. No inicia el movimiento — capitaliza el de otros.
Cambios técnicos
- Whale-trade detector en cyclic_dispatch.rs (filtro por amount > N tokens)
- Backrun bundle constructor — mismo direction del whale, lag 0-2 acceptable
- Exit timer rolling — sale del trade en 1-3 min (momentum window)
- Capital mínimo $200-$1k — perfectamente viable a nuestra escala
Filosofía
- De PASIVO → PREDICTIVO. No esperas que el precio cambie por casualidad. Predices que VA a seguir moviéndose porque alguien grande YA empezó.
Capítulo 3 — La era institucional: V5
VERSIÓN · 05 · R78+ · JIT LIQUIDITY
🏪V5 — El camarero del oasis
Just-In-Time Liquidity Provider · Q3-Q4 2026
Q3-Q4
Imagina un oasis donde van a llegar caravanas de camellos sedientos. Tú sabes (por inteligencia mempool) cuándo viene una caravana grande. 5 segundos antes, apareces con agua (creas posición LP ultra-concentrada en el rango exacto del swap). La caravana paga (las fees del swap te llegan). Desapareces antes de que se enteren que estabas ahí (withdraw inmediato post-swap).
Cambios técnicos
- Mempool watcher con leader-priority detection (Jito MEV bundle)
- JIT LP constructor — single-tick liquidity en el rango exacto del swap
- Withdraw atómico en el mismo bundle post-swap
- Capital mínimo $5k-$50k — V_opt acumulado tras V4.5 estable
Por qué Gemma lo llama el "estándar oro"
- Es lo que hacen las mesas más limpias (Wintermute, GSR). Percibido como servicio al pool, no manipulación. Riesgo regulatorio bajo bajo MiCA. Filosofía: ACTIVO sin ser depredador.
Capítulo 4 — La era dominante: V6+
VERSIÓN · 06+ · STOP HUNT
🦁V6+ — El león del territorio
Stop Hunt en pools donde dominamos · cuando V_opt > $50k sostenido 30d
FUTURO
Tú eres el depredador. Sabes que en cierta zona hay un grupo de gacelas (stop-loss y posiciones liquidables del retail concentradas en un nivel de precio). Cargas con fuerza para hacerlas correr al precipicio (mueves el precio agresivamente comprando o vendiendo grande). Las que caen al precipicio son tuyas (liquidaciones forzadas que tú capturas).
Condiciones para activar (Gemma BLOQUEANTE)
- V_opt acumulado > $50k SOSTENIDO 30 días — sin esto, no hay capital para mover precio
- Solo en pools donde VelocityQuant ya domine la liquidez — no atacamos océanos rojos
- Stack legal Cuandeoro Ltd revisado — zona gris bajo MiCA, requiere doc
Filosofía final
- DOMINANTE. No esperas (recolector), no surfeas (backrun), no provees (JIT). Tú creas las condiciones. Es lo que hacen las mesas institucionales agresivas.
El modelo descartado
MODELO B · NO IMPLEMENTAR
🥪Sandwich — El ladrón del mostrador
Front-run + back-run de retail trades · NUNCA
DESCARTADO
Ves a alguien comprándote pan. Antes de que pague, te metes en medio: subes el precio del pan, le vendes a precio inflado, y luego compras barato. Está documentado, lo hacen muchos bots cripto, es muy rentable.
Por qué NO
- Bajo MiCA + Cuandeoro Limited Irish = manipulación de mercado
- Riesgo regulatorio inaceptable para una empresa registrada
- Mala fama pública en cripto MEV — "predatory"
- Gemma lo descartó sin discusión. Camino seguro:
JIT → Backrun → Stop Hunt. Sandwich nunca.
Resumen visual del recorrido
Filosofía evolutiva (Gemma 2026-05-04)
- V1 → V4 · PASIVO — recoges lo que cayó al suelo. Nicho "monedas que otros no quieren".
- V4.5 · PREDICTIVO — sigues al elefante por las frutas que sacude.
- V5 · ACTIVO — eres el camarero del oasis cuando llega la caravana.
- V6+ · DOMINANTE — eres el león que mueve a las gacelas al precipicio.
Regla inviolable
- NO cambiar de TERRENO (no irse a pools institucionales grandes). SÍ cambiar de ACTITUD dentro del nicho. Donde otros no entran porque les sale poco rentable, nosotros somos la institución de ese micro-mercado.