Tendencias del momento
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Cómo perdimos $25k debido a una peculiaridad de la API de un DEX perp
Operamos intensamente en un DEX perp (top 10 en puntos, top 5 por volumen). Resulta que su endpoint de API cancel_order() es... especial. Siempre devuelve 200 OK.
Puedes llamar a cancel_order() con:
• Un ID de orden válido (13295238234991)
• Un ID de orden de cliente válido
• Un ID de orden o ID de cliente inválido
• Un ID de orden que ya fue cancelado
• Un ID de orden de hace 6 meses
• Un sándwich de jamón
• Tu madre
→ Aún así, 200 OK.
Esto está bien si sabes que está sucediendo y codificas en consecuencia. Nosotros no lo hicimos.
El problema real:
• Ocasionalmente, el RTT de create_order() se dispara a más de 50 ms durante los momentos de mayor actividad.
• Lanzábamos una orden, luego la cancelábamos por ID de cliente antes de que la orden realmente se ejecutara.
• Cancelar devuelve 200 OK, así que asumimos que la orden está muerta y la eliminamos de nuestros libros.
• Unos segundos después, se ejecuta.
→ Nos penalizan con 10-20 bps por incidente.
¿La sorpresa? Estas ejecuciones estaban mezcladas con ejecuciones normales, así que era difícil detectarlas.
También teníamos bucles de fondo de órdenes obsoletas en funcionamiento, pero son periódicos y no siempre captaban estas antes de la ejecución.
Solución:
• Para este DEX, ahora *requerimos* confirmaciones de cancelación por websocket o seguimos enviando la cancelación hasta que se agote nuestro límite de reintentos.
Daño:
• Pérdida estimada: $20K-$30K.
Lección:
• Cada API tiene peculiaridades. Generalmente no son lógicas, a veces ni siquiera visibles, y a menudo son costosas.
• Siempre verifica que el éxito realmente signifique éxito, no confíes en un 200.
Sí, también estamos ejecutando estrategias de arb taker en este lugar y probablemente también nos estábamos "sacando". Pero es una carrera contra todos los MM y nuestros umbrales de taker para los DEX de perps son generalmente más altos, así que a menudo fallamos o no alcanzamos el umbral de taker antes de intentar.
lo otro que está un poco jodido es que ahora estoy incentivado a NO decirle al lugar sobre esto ya que se ha convertido en una ventaja para mí
@0xKeef

27 jul 2025
lo otro que está un poco jodido es que ahora estoy incentivado a NO decirle al lugar sobre esto ya que se ha convertido en una ventaja para mí
42,64K
Parte superior
Clasificación
Favoritos