BotRadixBotRadixDocumentación

Contratos inteligentes

Direcciones públicas de los contratos, actualizaciones y controles de administración.

Ver en Markdown

El BotRadix DEX funciona como un conjunto de contratos inteligentes en Base mainnet (chain ID 8453). Esta página recoge las direcciones oficiales, explica qué hace cada contrato y describe, sin simplificaciones, los controles que tiene el administrador de BotRadix.

El apartado Direcciones oficiales de los contratos v2.2 detalla qué piezas son fijas, qué lógica se puede sustituir, las funciones de cambio y quién firma. Fase de consolidación, sellado previsto por componentes; hoy sin sellar y con aviso de 0 h: el administrador puede cambiar la lógica en cualquier momento, sin aviso previo.

Direcciones oficiales#

ContratoDirecciónFunción
Router del DEX0x740E207d90ec9D82fce040F8DA0268dB761F364EPunto de entrada para el trading, el margen aislado, las órdenes, el vault y las lecturas en la cadena
Margen cruzado0x79ED1002F842DE2A9E25d353F2627206483b2b3BCuentas de margen cruzado y colateral (USDC y BAQ)
Hub de PairForge0x55Ec5A8DFEb6ab71BCAE98D833b4E1d96a6c871COráculo: precios firmados y tasas de funding
Coordinator0xA7509a1581bD718DE319475A0CEB9776bc29c463Ejecuta los planes de configuración y de actualización firmados por el administrador
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Activo de liquidación (USDC nativo emitido por Circle en Base)
BAQ0x1B9f61483Dd6710E1Ad3b9d0bb92b710F1BA56B5Token de BotRadix; colateral complementario

Precaución

Aprueba tokens y firma transacciones solo para estas direcciones, y solo desde app.botradix.com o, para la salida independiente, desde BaseScan siguiendo Cómo salir sin BotRadix. Una solicitud de la wallet que implique cualquier otro contrato no procede de BotRadix.

Cómo encajan los contratos#

  • Router. Un contrato modular: cada función se delega en un módulo de implementación (una "faceta") para posiciones, órdenes, el vault, la ejecución delegada, los datos de mercado y la administración. El trading, el margen aislado y las órdenes pasan todos por esta única dirección.
  • Margen cruzado. Guarda el colateral cruzado y evalúa la salud de cada cuenta cruzada teniendo en cuenta todas sus posiciones. Es un proxy actualizable: su dirección (la que guarda el colateral) es fija, pero el administrador puede sustituir su lógica al instante mientras dure la fase abierta.
  • Hub de PairForge. Almacena los últimos precios y tasas de funding firmados por los reporters, y comprueba el quórum de 2 de 3 y la antigüedad de cada precio. Consulta Precios y oráculo.
  • Coordinator. Ejecuta los planes de administración. Cada plan se autoriza con una firma EIP-712 que incluye un nonce y una fecha límite, y se compromete con la lista exacta de acciones que ejecutará.
  • Puerta de aviso previo. Un contrato inmutable sin administrador propio, que solo obedece al Coordinator. Desde la versión 2.2 es la administradora del router y aplica un aviso a los cambios de código y a las operaciones. Consulta Seguridad y contratos.
  • Salida. Un contrato inmutable sin dueño. Reenvía al router las acciones de salida de la wallet que lo llama; sus funciones comunitarias (congelar mercados, cerrar posiciones congeladas, completar repartos) pueden actuar sobre otras cuentas cuando se cumplen sus condiciones, y los pagos pertenecen siempre a sus titulares. Consulta Cómo salir sin BotRadix.
  • Ejecutores y keeper del protocolo. Cuentas de BotRadix que envían las acciones que firmas con tu clave de trading o con una sesión, y que ejecutan órdenes en espera, take profit, stop loss, actualizaciones de funding y liquidaciones. Pagan el gas. Solo pueden enviar acciones que tú firmaste o que las reglas del contrato permiten, como la liquidación de una cuenta por debajo de su margen de mantenimiento.

Controles de administración#

Los contratos dan al administrador de BotRadix estos poderes:

ControlEfecto
ActualizaciónSustituir los módulos del router (a través de la puerta de aviso previo) y la implementación del margen cruzado y la lógica de negocio (al instante), lo que cambia la lógica de los contratos
PausaSuspender la actividad del DEX, o solo la apertura de posiciones nuevas. Las claves de solo pausa también pueden hacerlo, pero nunca reanudar
Modo de solo reducciónLas posiciones solo pueden reducirse o cerrarse
Pausa de retirosLos retiros de colateral quedan bloqueados mientras dure la pausa: como mucho 72 horas, y después al menos 24 horas sin pausa
Configuración de mercadosListar mercados y fijar tramos de apalancamiento, límites de interés abierto y sesiones de mercado
ParámetrosAjustar las comisiones, el margen de mantenimiento, el beneficio máximo, el crédito BAQ y otros valores dentro de los límites del código vigente (que el administrador también puede cambiar mientras los contratos estén abiertos)
Gestión del oráculoAñadir, sustituir o revocar reporters y fijar el quórum
Liquidez del vaultRetirar la liquidez libre del vault: la parte no reservada para los posibles beneficios de los traders, y, con el código vigente, solo si tras el retiro la capacidad reservada respeta el techo de admisión y el objetivo del desapalancamiento automático (no basta quedar por debajo del disparo). En una emergencia exige el reparto abierto, todas las reclamaciones abonadas y ningún pago diferido pendiente
EmergenciaDeclarar una emergencia o liquidar un mercado sin precios (cualquiera puede hacerlo tras los plazos descritos en Cómo salir sin BotRadix)
Comisión de servicioActualmente 0,03 % en aperturas y ampliaciones, con un tope de 0,20 % en el código actual; cada wallet debe consentirla en su firma

Propiedades importantes de estos controles:

  • Aviso previo en el router, hoy de 0 horas. Los cambios del router pasan por la puerta de aviso previo. Hoy sus avisos son de 0 horas, así que un cambio todavía puede aplicarse de inmediato; subirlos es inmediato y bajarlos exige esperar el aviso vigente.
  • Sin aviso en el margen cruzado ni en la lógica de negocio. Sus proxies guardan un administrador fijo y un retardo cero en código inmutable, así que las actualizaciones del contrato que custodia el colateral pueden aplicarse al instante mientras los contratos estén abiertos. Se vigilan públicamente.
  • Una única clave de administración. Los planes de administración los firma una clave de administrador custodiada por BotRadix (una cuenta de propiedad externa, no un multisig).
  • Contratos abiertos. Los contratos se mantienen abiertos (sin sellar) a propósito, para poder añadir funciones y corregir problemas. Esto también significa que todas las garantías descritas en esta documentación dependen del código desplegado en cada momento. Es una fase temporal de consolidación: está previsto sellar por componentes tras comprobar la estabilidad, sin un calendario comprometido. Cada paso debe indicar qué vías de actualización y parámetros limita; sellar una pieza no congela todo el sistema.
  • Salida independiente. Cualquier wallet puede cerrar sus posiciones y retirar desde BaseScan a través del contrato de salida, con respaldos a las 24 horas, a los 3 días (un mercado sin precios) y a las 72 horas (ningún precio). Consulta Cómo salir sin BotRadix para ver los pasos y sus límites.

Importante

Con el código actual, el administrador no tiene ninguna función para mover el colateral de un trader a otra dirección, y tu clave de trading no puede retirar. Como el margen cruzado puede actualizarse sin periodo de espera mientras los contratos estén abiertos, en última instancia estas protecciones dependen de que BotRadix gestione correctamente su clave de administración. Lee Seguridad y contratos y Riesgos.

Verificación y auditorías#

  • Todas las transacciones, los eventos y los saldos de tokens son públicos y pueden comprobarse en BaseScan.
  • Comprueba cada dirección en BaseScan: su pestaña Contract indica si el código está verificado. El despliegue por sí solo no demuestra la verificación; la coincidencia del código no equivale a una auditoría.
  • No se ha publicado ningún informe de auditoría de terceros. Antes de la versión 2.2, los contratos pasaron una revisión interna con varios enfoques y pruebas de invariantes, y la actualización se ensayó sobre una copia de Base.

Esta documentación enlazará cualquier informe de auditoría de terceros si se publica.

Cómo verificarlo#

No hace falta fiarse de esta página: los datos clave se leen directamente en la cadena. Estos comandos usan cast, la herramienta de línea de comandos de Foundry, con el RPC público de Base. Son solo lecturas: no firman nada, no envían transacciones y no cuestan gas.

bash
RPC=https://mainnet.base.org
ROUTER=0x740E207d90ec9D82fce040F8DA0268dB761F364E
CROSS=0x79ED1002F842DE2A9E25d353F2627206483b2b3B
HUB=0x55Ec5A8DFEb6ab71BCAE98D833b4E1d96a6c871C
COORD=0xA7509a1581bD718DE319475A0CEB9776bc29c463
BAQ=0x1B9f61483Dd6710E1Ad3b9d0bb92b710F1BA56B5
USDC=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

# Margen cruzado: implementación, revisión y estado abierto
cast call $CROSS "implementation()(address)" --rpc-url $RPC
cast call $CROSS "implementationRevision()(uint64)" --rpc-url $RPC
cast call $CROSS "isSealed()(bool)" --rpc-url $RPC

# BAQ como colateral: reserva
cast call $CROSS "dexBaqReserveState()(uint256,uint256)" --rpc-url $RPC

# Router: administrador (la puerta de aviso previo) y avisos vigentes
cast call $ROUTER "admin()(address)" --rpc-url $RPC

# Coordinator: clave de administración y estado abierto
cast call $COORD "OWNER()(address)" --rpc-url $RPC
cast call $COORD "isSealed()(bool)" --rpc-url $RPC

# Hub de PairForge: quórum y número de reporters
cast call $HUB "QUORUM()(uint8)" --rpc-url $RPC
cast call $HUB "reporterCount()(uint32)" --rpc-url $RPC

# Tokens: suministro de BAQ y USDC en los contratos del DEX
cast call $BAQ "totalSupply()(uint256)" --rpc-url $RPC
cast call $USDC "balanceOf(address)(uint256)" $ROUTER --rpc-url $RPC
cast call $USDC "balanceOf(address)(uint256)" $CROSS --rpc-url $RPC

Resultados con la versión 2.2 (comprobados el 11 de octubre de 2026):

LecturaResultadoQué confirma
implementationRevision24La implementación del margen cruzado incluida en la versión 2.2 (la revisión puede aumentar en actualizaciones posteriores)
isSealed (margen cruzado y Coordinator)falseLos contratos siguen abiertos, como se explica en Controles de administración
dexBaqReserveStateDos importes en USDC (6 decimales)La reserva de BAQ y la parte comprometida en ese momento
admin (router)La dirección de la puertaLos cambios en el router solo llegan a través de la puerta de aviso previo
ADMIN (puerta)La dirección del CoordinatorLa puerta solo obedece al Coordinator
delays0, 0, 0, 2592000, 1209600Aviso de código y de operaciones de 0 horas, sin mínimo comprometido, aviso máximo de 30 días y una ventana de 14 días para ejecutar un cambio programado
OWNER (Coordinator)Una cuenta de propiedad externaLa clave única de administración que firma los planes
QUORUM y reporterCount2 y 3El quórum de 2 de 3 reporters de PairForge
totalSupply (BAQ)50000000000000000000000000005.000.000.000 BAQ (18 decimales)
balanceOf (USDC)Importes con 6 decimalesEl USDC que guarda cada contrato del DEX en ese momento

La reserva de BAQ y los saldos cambian con la actividad, así que verás otras cifras. La dirección de la implementación y su revisión cambian con cada actualización de los contratos. Las comisiones, el beneficio máximo, el crédito BAQ y los demás valores ajustables se pueden leer en las pestañas Read Contract del router y del margen cruzado en BaseScan; el Seguridad y contratos recoge sus valores al lanzar la versión y sus límites.

Para integradores#

  • Los intents firmados usan el dominio EIP-712 BotradixDEX, versión 1, chain ID 8453, con el router del DEX como contrato verificador. Consulta Operar con la API.
  • Para indexar los eventos del DEX desde el principio, empieza en el bloque 51.767.085.
  • USDC usa 6 decimales y BAQ, 18.
  • Desde la versión 2.2, cada cambio de una posición emite DexPositionStateV2 (apalancamiento, tamaño, márgenes, beneficio máximo y funding) y cada cierre emite DexPositionCloseReason con su motivo (tu orden, take profit o stop loss, liquidación, desapalancamiento automático, salida o emergencia).
  • Lecturas útiles del router en BaseScan: dexAdlState (desapalancamiento automático), dexPositionRiskV2 (el límite de beneficio de una posición y el respaldo de su take profit) y dexExitStatus (el contrato de salida y la petición de salida de una cuenta); en el margen cruzado, dexWithdrawPauseState (la pausa de retiros vigente y cuándo termina).
  • PRODUCTION_READY devuelve false a propósito: solo controla el antiguo módulo V1 y no afecta al DEX.
  • Para la mayoría de necesidades, la API es más sencilla y devuelve los mismos datos de la cadena ya indexados.

Versión#

Los contratos actuales son la versión 2.2, en funcionamiento desde el 11 de octubre de 2026 (la versión 2.1.1 entró en funcionamiento el 4 de octubre de 2026). Consulta las Novedades para ver el historial.

Última actualización: 2026-10-12