Documento técnico / MOTOR DE MERCADO
Documento técnico de Dexter

MOTOR DE MERCADO

El motor de mercado ejecuta cada orden en Dexter — la misma ruta de código sirve a los intentos de challenge de $49, a las cuentas financiadas con reparto 90 / 10 y al flujo público no firmado. Un único vAMM, un único esquema de funding, una única rutina de liquidación, una única tabla de comisiones al 0,020% maker / 0,060% taker sobre el nocional. No hay una capa de matching exclusiva de prop, no hay cola preferencial para los traders financiados y no hay forma de que un operador amplíe el spread de un usuario público para subsidiar una finalización en el podio. Esa simetría es lo que hace auditable un pass de Dexter: el +10% que produjiste en un intento de $99 es el mismo +10% que una cuenta pública de $50K habría producido sobre el flujo idéntico de órdenes.

Última actualización: 24 de mayo de 2026
Secciones 2 Lectura 2 min Capítulo del documento

El motor decide si una orden puede entrar, el precio al que se ejecuta, cómo se liquidan el tamaño de la posición y el efectivo, y cuándo un mercado debe cambiar del trading en vivo a una postura defensiva. Cada una de esas decisiones es propiedad de un único dominio de ejecución, de modo que un fill, un devengo de funding y una liquidación no pueden discrepar sobre el estado. La tabla siguiente mapea las cinco responsabilidades — cada una se cubre en profundidad en su propia página en este capítulo.

Responsabilidad del motor Lo que cubre
Control de la puerta de entrada Autorización de agentes, validez de la firma EIP-712, seq monotónico, guardas createdAtTs / goodTilTs y el anclaje on-chain OrderCommitRegistry
Pricing Skew del vAMM sin liquidez, controles de spread, topes de inventario y presión del open interest por mercado
Actualizaciones del libro mayor Tamaño de posición, base de entrada, PnL realizado, comisiones 0,020% maker / 0,060% taker, fundingAccrued y efectivo de la cuenta
Postura del mercado Live, reducida, close-only, session-closed y halted — los mismos cinco estados en cada plataforma
Rutinas forzadas Liquidación por margen de mantenimiento, flujo de seguros, selección ADL y rebalance tras un evento de estrés

#Cómo funciona la ruta de trading en vivo

La producción nunca acepta una orden cruda desde un RPC público. Cada petición llega como un payload IOC firmado en EIP-712 que lleva un seq monotónico, createdAtTs y goodTilTs. Antes de que el runtime fije precio a nada, confirma que el firmante está registrado mediante autorización de agente, que el seq no se ha reutilizado, que los timestamps están dentro de la ventana de validez y — cuando la guarda de commit está activa — que el hash de la orden ya se ha registrado en el OrderCommitRegistry on-chain en Base mediante commitOrder. Que cualquiera de esas comprobaciones falle aborta la petición antes de que llegue a la ruta de matching.

El pricing corre contra un vAMM sin liquidez. No hay un libro de makers en reposo en el que apoyarse, así que el motor cotiza el flujo a través de curvas sensibles al skew, topes duros de inventario y presión del open interest por mercado. Un taker que compra en un libro ya cargado en largos paga una tasa efectiva más alta que un taker que compra en un libro equilibrado, y el tope sobre el nocional direccional pendiente se aplica en el límite de admisión en lugar de en el momento del fill.

Cuando se acepta un fill, el motor mueve el tamaño de la posición, la base de entrada, el PnL realizado, el componente de comisión del 0,020%/0,060% y cualquier liquidación en efectivo en una única transición ordenada. El funding se devenga a partir del mismo avance de estado, por lo que un trader no puede observar una posición cuyo carry se ha actualizado pero cuyo PnL realizado no. El resto sin ejecutar de un IOC se cancela inmediatamente — no hay una orden en activo que rastrear.

TEXTO
 agente autorizado
   -> commitOrder(...) registrado en OrderCommitRegistry
   -> IOC firmado EIP-712 entra en el runtime
   -> comprobaciones de firmante / seq / createdAtTs / goodTilTs
   -> comprobaciones de admisión y postura
   -> cotización de precio del vAMM contra skew e inventario
   -> fill o cancelación del resto
   -> posición, comisión, fundingAccrued, efectivo avanzan en una transición
   -> la pipeline de publicación emite el nuevo estado de mercado

#Postura del mercado, carry y rutinas forzadas

Cada mercado corre dentro de una máquina de estados explícita con cinco posturas: live, reducida, close-only, session-closed, halted. No son etiquetas de UI — son reglas de admisión que rigen si una nueva orden puede añadir riesgo, si la reducción sigue abierta, y si la plataforma está honrando una pausa de sesión subyacente o esperando una referencia de precio más limpia. Las transiciones son impulsadas por la freshness de la referencia, los calendarios de sesión, la presión del skew, la utilización, la exposición a deuda incobrable y las comprobaciones de recuperación tras un período degradado.

El open interest, el desequilibrio direccional y el crowding se miden continuamente, y alimentan el mismo bucle que fija el índice de funding, la tasa taker ajustada por skew y los topes de inventario. El funding en Dexter es parte del modelo de carry del motor — devengándose cada 8 horas en fundingAccrued — no un número reconstruido a partir de reporting a posteriori. Las páginas que siguen en este capítulo desglosan cada superficie en detalle.

La reducción forzada vive en el mismo dominio de ejecución. Los escaneos de liquidación, el manejo de deuda incobrable consciente del seguro, la selección ADL y el rebalance posterior al estrés comparten todos el estado y el orden con el procesamiento ordinario de órdenes. Eso es lo que mantiene determinista el comportamiento en situaciones de estrés: cuando el margen de mantenimiento rompe el mínimo y se liquida una posición, se ejecuta la misma transición de comisión, funding y libro mayor que se ejecutaría para un cierre voluntario — sólo cambia el disparador.

#Qué significa esto para tu challenge

  • El mismo motor que ejecuta el libro público ejecuta tu challenge. Un intento de $49 o $99 no se enruta a través de un sandbox — se cotiza contra el vAMM de producción con el mismo skew, el mismo tope de inventario y el mismo esquema 0,020% maker / 0,060% taker. Un objetivo del +10% producido aquí es el +10% que una cuenta pública de $50K habría producido sobre el flujo idéntico, por lo que los pagos a financiados en Base son reproducibles contra la cadena.
  • Los costes de skew son costes reales que cuentan contra el +10%. Cuando el motor sube la tasa efectiva de taker contra una dirección con multitud, ese recargo aterriza en tu equity dentro del mismo fill. Pelear contra el skew es la razón más común por la que un intento agota el mínimo diario del -4% sin tocar nunca la línea de liquidación.
  • El carry de funding es parte de tu PnL. Cada 8 horas el índice de funding se liquida y fundingAccrued mueve tu equity. Mantener una posición en dirección con multitud durante 30 días puede quemar silenciosamente entre el 1% y el 3% antes de cualquier movimiento direccional — comprueba la tasa publicada por mercado antes de dimensionar una posición de varios días.
  • Las rutinas forzadas terminan intentos en la misma barra en la que se disparan. Los flujos de liquidación, ADL y rebalance cierran posiciones en la marca, añaden una comisión de liquidación explícita encima de la pérdida realizada, y casi siempre cruzan el drawdown diario del -4% o el total del -8% en la misma barra. El motor las trata como transiciones ordinarias, por lo que no hay excepción: la pérdida impacta la comprobación de regla de inmediato.
  • Las cuentas financiadas corren la misma ruta de código. Una cuenta de pago 90 / 10 no recibe una capa de matching separada ni un esquema de comisiones privado. Mismo pricing, mismas comisiones, misma cadencia de funding, mismo margen de mantenimiento — por eso una cuenta pasada se comporta exactamente como el intento que la consiguió.