Presiona ESC para cerrar

Automatizar Crypto Trading & Yield Farming con Agentes de IA (2026)

Un agente de IA autónomo se compone de tres módulos aislados: un recolector de datos on-chain (nodos RPC y APIs de indexadores), un núcleo cognitivo (un LLM con baja latencia de respuesta) y una pasarela de ejecución de transacciones (Action Layer). Intentar vincular tu lógica de trading a modelos comerciales con censura estricta como GPT-4o va a terminar con tus API keys bloqueadas en plena época de alta volatilidad; sus filtros de seguridad internos suelen clasificar la transmisión de señales de trading como generación de riesgo financiero. Para una automatización estable, se utilizan modelos open-weights sin censura (Llama 3.3 70B, DeepSeek V3) desplegados en hostings descentralizados o accesibles a través de endpoints especializados como Venice AI.

La capa de ejecución se conecta a una infraestructura con el menor ping posible. En el sector de los contratos de futuros perpetuos (perps), la API de Hyperliquid se ha convertido en el estándar de la industria gracias a que corre en una appchain L1 dedicada con una velocidad de procesamiento de órdenes de hasta 0.1 segundos. El núcleo cognitivo no tiene acceso directo a la wallet: el modelo recibe un array de métricas de mercado y devuelve una recomendación en formato JSON, la cual un script local en Python valida contra límites estrictos (hard limits) antes de mandarla a la red.

Acá tienen el código, y pueden leer la documentación de la API de Hyperliquid aquí: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals

import osimport jsonimport requestsfrom eth_account import Account# Extraemos las llaves del entorno; meter las private keys a fuego en el código es de nivel psiquiátrico
VENICE_URL = "https://api.venice.ai/api/v1/chat/completions"
VENICE_KEY = os.getenv("VENICE_API_KEY", "")
WALLET_KEY = os.getenv("AGENT_PRIVATE_KEY", "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef")def get_market_data(coin="ETH"):
    # Parseamos el order book y el funding actual directo de la appchain de Hyperliquid
    try:
        r = requests.post("https://api.hyperliquid.xyz/info", json={"type": "metaAndAssetCtxs"}, timeout=8)
        res = r.json()
        universe = res[0]["universe"]
        ctxs = res[1]
        idx = next(i for i, a in enumerate(universe) if a["name"] == coin)
        return {
            "ticker": coin,
            "price": float(ctxs[idx]["midPrice"]),
            "funding": float(ctxs[idx]["funding"]),
            "oi": float(ctxs[idx]["openInterest"])
        }
    except Exception:
        return None # Si HL tiene lag, no tocamos las órdenes; la seguridad es lo primerodef ask_brain(context):
    if not VENICE_KEY:
        return {"action": "HOLD", "pct": 0, "leverage": 1}
    headers = {"Authorization": f"Bearer {VENICE_KEY}", "Content-Type": "application/json"}
    
    # Ponemos límites al modelo para que no escupa texto basura. Necesitamos un JSON limpio
    prompt = (
        "You are a trading bot execution engine. Analyze the metrics. "
        "Return JSON ONLY. No markdown blocks, no text explanations. "
        "Format: {\"action\": \"BUY\"|\"SELL\"|\"HOLD\", \"pct\": int, \"leverage\": int}"
    )
    payload = {
        "model": "llama-3.3-70b-instruct",
        "messages": [
            {"role": "system", "content": prompt},
            {"role": "user", "content": f"Data: {json.dumps(context)}"}
        ],
        "temperature": 0.1 # Eliminamos alucinaciones y creatividad para máxima precisión
    }
    try:
        r = requests.post(VENICE_URL, json=payload, headers=headers, timeout=12)
        out = r.json()["choices"][0]["message"]["content"].strip()
        # Volamos los backticks si el modelo se apendejó y metió formato de código
        if "```" in out:
            out = out.split("```")[1].replace("json", "").strip()
        return json.loads(out)
    except Exception:
        return {"action": "HOLD", "pct": 0, "leverage": 1}def filter_limits(decision, current_price):
    # Fusible de seguridad estricto. Si el modelo se vuelve loco, el código lo corta de raíz
    if decision["action"] not in ["BUY", "SELL"]:
        return None
    # Limitamos el apalancamiento a 3x y el volumen al 5% del tamaño de la cuenta (depo)
    leverage = min(int(decision.get("leverage", 1)), 3)
    pct = min(int(decision.get("pct", 0)), 5)
    if pct <= 0:
        return None
    # Calculamos un slippage del 0.3% para asegurar que la orden se ejecute de inmediato
    slip = 1.003 if decision["action"] == "BUY" else 0.997
    return {
        "coin": "ETH",
        "side": decision["action"],
        "px": round(current_price * slip, 2),
        "lev": leverage,
        "size_pct": pct
    }def run_pipeline():
    if WALLET_KEY != "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":
        acc = Account.from_key(WALLET_KEY)
        print(f"[+] Bot ejecutándose para la dirección: {acc.address}")
    ctx = get_market_data("ETH")
    if not ctx:
        print("[-] Sin conexión con HL.")
        return
    raw_decision = ask_brain(ctx)
    final_order = filter_limits(raw_decision, ctx["price"])
    if final_order:
        print(f"[+] Orden generada: {json.dumps(final_order)}")
    else:
        print("[*] Esperando condiciones óptimas, la posición sigue sin cambios.")if __name__ == "__main__":
    run_pipeline()

Automatización de Yield Farming en mercados de préstamo (Lending Markets)

En el sector DeFi spot, a los agentes se les suele entrenar para gestionar posiciones de deuda en pools aislados (estilo Morpho Blue o Fluid) o en el viejo y confiable Aave V3. El mayor dolor de cabeza aquí es calcular constantemente el factor de salud (Health Factor, o sea, el HF), de lo contrario te van a liquidar la posición y dejarla hecha pedazos. El bot consulta el contrato de PoolLens vía RPC y calcula los riesgos por el método clásico:

risk
 

Si el mercado se va al piso y el colateral empieza a devaluarse, el agente tiene que iniciar por sí mismo un desapalancamiento parcial (Self-Deleverage). Para no quemar su propia liquidez, opera con flashloans a través de Balancer o Uniswap V3. Esto es crítico porque en protocolos como Morpho, la penalización por liquidación (liquidation penalty) es enorme; puedes perder el 10-15% de todo tu capital depositado en un segundo.

Si el bot anda saltando entre pools persiguiendo un APY jugoso, necesitas meter en el código de forma obligatoria un cálculo estricto del costo del gas por transacción. El script consulta la API de ParaSwap o 1inch, obtiene las cotizaciones y descuenta del rendimiento las pérdidas por gas y deslizamiento (slippage). Si el puente de las stablecoins, por ejemplo de Arbitrum a Base, va a tardar más de 72 horas en amortizar su costo, mandamos el modelo a volar. La transacción se bloquea al nivel de la lógica base del script, incluso si el LLM está con prioridad máxima y euforia total en sus predicciones.

Matriz de riesgos para sistemas autónomos

Cederle el control total de la wallet a un LLM siempre es un riesgo monumental. Las redes neuronales traen consigo un montón de bugs muy específicos que en el trading algorítmico tradicional jamás han existido.

  • Envenenamiento de datos y feeds (Data Poisoning)
    Los atacantes empiezan a inflar transacciones falsas on-chain o a spamear fake news. La IA procesa esto como el "inicio de una fuerte tendencia alcista" y se lanza a comprar en los máximos históricos (en los hais).
    Solución: Consulta multifuente. El script debe contrastar el delirio textual de las redes sociales con los volúmenes de trading puros (raw volumes) extraídos directo de la blockchain. Si no hay liquidez real en el pool, ignoramos la señal por completo.
  • Errores de formato y rotura de estructura (JSON Break)
    El mercado entra en una volatilidad salvaje, el modelo entra en pánico, se le olvida cerrar una comilla, mete texto de más en el output o rompe el JSON. El script crashea y el bot se queda colgado.
    Solución: Bloques try/except ultra estrictos. Cualquier error sintáctico al parsear la respuesta del LLM debe congelar la lógica de inmediato y pasar a modo HOLD (retención de posiciones). La seguridad de los fondos está por encima de todo.
  • Frontrunning en los rebalanceos
    El bot lanza una transacción para mover liquidez al mempool público, donde los bots de MEV ya lo están cazando. Al final nos comemos un slippage brutal y perdemos pasta en el camino.
    Solución: RPCs privados. Todas las transacciones se envían estrictamente mediante Flashbots Protect o BuilderRPC saltándose el mempool público para que nadie pueda trackear nuestros movimientos.
  • Lag de red en cascada
    En una caída fuerte del mercado, el gas en L1 se dispara a la luna. Las transacciones del bot para aportar más margen se quedan atrapadas en la cola como un lastre muerto, y la posición termina siendo liquidada sin que puedas hacer nada.
    Solución: Reserva estratégica de gas y liquidez. Siempre dejamos un 15-20% del depósito intocable en los tokens nativos (ETH/SOL) en el balance y configuramos en el maxFeePerGas un margen de mínimo un +50% sobre el valor mediano actual de la red.

De todo esto se deduce que dejar la gestión de riesgos en manos de la parte cognitiva es un suicidio financiero. El modelo es excelente únicamente como un analista flexible para detectar correlaciones ocultas y pools rentables. Pero el tamaño de las posiciones, los apalancamientos máximos y los disparadores de salida de emergencia (emergency exits) tienen que estar grabados a fuego (hardcoded) en el código base.


FAQ

Los agentes autónomos de IA previenen las liquidaciones en DeFi ejecutando desapalancamientos automáticos (self-deleveraging) mediante préstamos relámpago (flash loans) tan pronto como el Factor de Salud (Health Factor) de la posición se aproxima a un umbral crítico. El sistema consulta contratos de lectura específicos a través de nodos RPC para calcular en tiempo real la proporción entre el valor del colateral ajustado y la deuda pendiente. Si la volatilidad del mercado reduce el margen de seguridad, el agente extrae liquidez inmediata de protocolos como Uniswap V3 o Balancer, liquida parte del débito de forma atómica y reestablece la posición sin requerir inyección manual de capital por parte del usuario.

Un agente de trading de IA opera mediante un núcleo cognitivo no determinista basado en modelos de lenguaje de pesos abiertos (open-weights LLM) para interpretar datos textuales y métricas on-chain de forma flexible, mientras que los bots tradicionales dependen de lógicas condicionales rígidas y estáticas. Las estructuras clásicas se limitan a activadores matemáticos fijos, como el cruce de medias móviles o intervalos de órdenes en malla (grid). Por el contrario, los sistemas agénticos procesan métricas cuantitativas en paralelo con insumos no estructurados, como actualizaciones de contratos en GitHub y la velocidad de la liquidez de los pools, reconfigurando los parámetros de riesgo en tiempo real.

Los agentes de IA protegen su capa de ejecución contra el frontrunning y los ataques MEV enrutando todas las transacciones a través de redes RPC privadas, como Flashbots Protect o BuilderRPC, eliminando por completo la visibilidad de las órdenes en el mempool público. Para neutralizar el envenenamiento de datos (data poisoning) proveniente de redes sociales manipuladas o volúmenes artificiales on-chain, el agente aplica una fase estricta de validación multi-oracle. El sistema cruza cualquier señal de negociación con parámetros on-chain puros e inmutables, incluyendo la profundidad real de la liquidez, la velocidad del libro de órdenes spot y el volumen real de bloques antes de autorizar el envío de capital a la red.
Astra EXMON

Astra is the official voice of EXMON and the editorial collective dedicated to bringing you the most timely and accurate information from the crypto market. Astra represents the combined expertise of our internal analysts, product managers, and blockchain engineers.

...

Escribe una opinión

Tu correo electrónico no será publicado. Los campos obligatorios están marcados *