BotRadixBotRadixDocumentación

Seguridad y contratos

Direcciones oficiales, poderes de administración, puerta de aviso, pausadores, sellado por partes y alcance de las revisiones.

Ver en Markdown

Esta página explica quién puede cambiar los contratos, cómo se tramitan esos cambios y qué límites tiene la salida del DEX. Consulta también Salir sin la web, Cómo leer los proxies de BotRadix y Compilación reproducible.

Estado de referencia#

Referencia: 11 de octubre de 2026. Los contratos v2.2 están activos; los componentes administrables siguen OPEN, sin sellado. El administrador del router es AvisoPrevio, 0x3a3273Df1c640D2625Bcc0f378Fc571D371f0dEd. Los avisos de código y operaciones y el suelo comprometido son de 0 horas. Existen claves de solo pausa.

Publicación del código: está prevista conjuntamente en BaseScan cerca del cierre, antes del sellado. Los enlaces de direcciones de esta página no implican que el código ya esté verificado.

Fondos, permisos y riesgos#

El colateral se registra en CrossMargin a nombre de tu wallet. Con el código descrito, las retiradas de usuario requieren la autorización correspondiente de la wallet y se pagan a su titular; una clave de trading o de sesión no tiene permiso de retiro. Eso no convierte el sistema en una garantía de custodia absoluta: las direcciones que mantienen el estado pueden conservarse mientras se sustituye la lógica que aplica esos permisos.

Mientras una pieza siga OPEN, su autoridad puede cambiar código, rutas, parámetros o dependencias dentro de sus mecanismos de actualización. Los poderes incluyen configurar mercados y reporters, pausar, declarar una emergencia y retirar liquidez libre del vault bajo las comprobaciones del código vigente. Una dirección estable o una firma de usuario no eliminan el riesgo de administración, de errores, de oráculo, de liquidación o de falta de liquidez.

La puerta de aviso previo#

AvisoPrevio es un contrato sin proxy que tramita llamadas de administración mediante execute(target, data, salt). Su ADMIN() es el coordinador autorizado por la administración de BotRadix. La existencia de la puerta no convierte esa autoridad en una administración descentralizada o multifirma.

La puerta clasifica cada llamada por destino, función y, cuando corresponde, argumentos. classify() permite consultar esa clase; delays() devuelve los avisos vigentes y el suelo mínimo.

ClaseMecanismoEjemplos
FASTNo exige esperaPausas, cancelaciones y determinadas revocaciones; los argumentos deben cumplir las restricciones de la función
OPSExige el aviso de operacionesParámetros, altas de mercados, retiradas del vault, emergencia administrativa y reanudaciones
CODEExige el aviso de códigoCambios de lógica o rutas, punteros, fuentes de precios y destinos no clasificados de otra forma

Con un aviso positivo, la administración programa los datos exactos con schedule(). El identificador vincula destino, datos y sal. execute() comprueba el aviso vigente al ejecutar, por lo que una subida también protege operaciones pendientes. La ventana de ejecución dura 14 días desde que la operación queda lista. operationState() permite consultar sus fechas y estado; los eventos registran programación, ejecución y cancelación. Con aviso cero se puede ejecutar sin una programación previa: no hay un plazo obligatorio para reaccionar.

raiseDelay() solo sube avisos y lo hace inmediatamente. lowerDelay() debe pasar por la propia puerta y esperar el mayor aviso vigente entre los que reduce. commitMinimumDelay() eleva un suelo que ya no se puede bajar. Estas reglas no hacen que toda actualización del sistema tenga que pasar por la puerta.

Lo que la puerta no retiene#

La sustitución de la implementación del proxy de CrossMargin y de las lógicas de negocio dispone de caminos de autoridad propios, ligados al coordinador. Mientras estén abiertos, la puerta no impone por sí sola una espera a esos caminos. Tampoco retrasa la actuación directa de las claves autorizadas exclusivamente para pausar.

announce() deja el evento público CambioAnunciado para un cambio que la puerta no puede retener. No ejecuta el cambio ni bloquea su ejecución antes de una fecha. Un anuncio operativo no equivale a un periodo de espera exigido por el contrato. Para evaluar una protección hay que comprobar la autoridad y el ciclo de vida de cada pieza, además de la puerta.

Pausadores y reanudación#

El mecanismo admite hasta ocho claves de solo pausa. Pueden activar pausa, solo reducir, parada del trading o pausa de retiros; ese permiso no permite reanudar, actualizar contratos ni retirar fondos de usuarios. Reanudar corresponde a la administración y se clasifica como operación en la puerta.

En el mecanismo v2.2, la pausa de retiros de CrossMargin caduca a las 72 horas, requiere 24 horas sin pausa antes de la siguiente y no se aplica durante una emergencia confirmada. Se puede consultar su estado efectivo y vencimiento. La pausa no garantiza un cobro al vencer: siguen contando las posiciones, órdenes, deudas, precios y liquidez. Las restricciones a nuevas aperturas no sustituyen los controles de cierre y liquidación. Mientras el código sea actualizable, también pueden cambiar estas reglas.

Sellado por partes#

Un sellado afecta a una pieza y a sus permisos concretos. Sellar el router no sella automáticamente CrossMargin, el hub del oráculo, sus reporters ni la automatización. Tampoco basta con un indicador sealed: hay que revisar si quedan rutas modulares actualizables, autoridades con aviso y parámetros modificables bajo sus límites.

El plan consiste en comprobar y cerrar por separado las superficies de actualización, publicar el código y su receta de compilación y documentar, para cada pieza, qué queda fijo y qué sigue administrable. Un cierre total y un cierre que conserve cambios mediante una puerta con aviso ofrecen permisos distintos; se deberá indicar el perfil aplicado. Las pausas, los parámetros permitidos y los riesgos externos no desaparecen por sellar código.

Condición pendiente en la referencia indicada: antes de subir el aviso o sellar deben corregirse y volver a probarse dos hallazgos de la revisión interna sobre gobierno. No se presenta ese sellado futuro como una protección ya disponible.

Revisiones realizadas y sus límites#

Se ha realizado revisión interna, no auditoría externa. El trabajo documentado incluye lectura de caminos de fondos y permisos, pruebas de contratos e invariantes, ensayos de actualización y vuelta atrás, revisión de salida y emergencia, y comprobaciones de compilación y de correspondencia entre fuentes y artefactos. Cada comprobación cubre su versión y sus escenarios, no todos los estados posibles.

La revisión final de los caminos del dinero y la revisión de textos para la publicación son trabajos distintos. Revisar comentarios no añade una revisión de seguridad independiente. Los hallazgos pendientes anteriores siguen siendo una condición para el sellado; ni las pruebas ni la verificación de código en un explorador garantizan ausencia de fallos.

Estado de auditoría en la referencia indicada: no se ha publicado una auditoría externa. No se atribuye a estos contratos una certificación de seguridad.

Direcciones oficiales#

Todas las direcciones siguientes corresponden a Base mainnet, chain ID 8453. Se contrastan con el mapa de despliegue v2.2 y el manifiesto público de la referencia indicada. Un inventario es una instantánea: las implementaciones y rutas pueden cambiar mientras estén abiertas. Comprueba la dirección completa y distingue los puntos de entrada de sus implementaciones; no envíes tokens directamente a una faceta o módulo.

Puntos de entrada y control#

Contrato o funciónDirección en BaseScan
Router del DEX (CoreUSDC)0x740E207d90ec9D82fce040F8DA0268dB761F364E
CrossMargin (proxy de colateral)0x79ED1002F842DE2A9E25d353F2627206483b2b3B
PairForge (anfitrión del oráculo)0x55Ec5A8DFEb6ab71BCAE98D833b4E1d96a6c871C
Registry (anfitrión)0x9ad0298331bda8E08034027e7C2b1352f9cEB164
Automation (anfitrión)0x4b9adab771698a52460e5DeC0Ee91955436c68c2
Adaptador de Uniswap V3 (anfitrión)0x52D9bbcE58874272E1359769e643e4327427f4dB
Fábrica de cuentas0x092A0905b357E72bacE1C2e3Fa46A45475FB9e24
Coordinador de administración0xA7509a1581bD718DE319475A0CEB9776bc29c463
BotradixSalida0x43473B3684ccB5d9d57D119f2A6bc7B9B1f5EEe5
AvisoPrevio (administrador del router)0x3a3273Df1c640D2625Bcc0f378Fc571D371f0dEd

Inventario de las 57 piezas de la entrega v2.2#

Son las 54 piezas del mapa v2.2 más Salida, AvisoPrevio y su fábrica. Las direcciones de lógica no son puntos de depósito.

Salida y aviso#

Contrato o funciónDirección en BaseScan
BotradixSalida0x43473B3684ccB5d9d57D119f2A6bc7B9B1f5EEe5
BotradixAvisoPrevio0x3a3273Df1c640D2625Bcc0f378Fc571D371f0dEd
BotradixAvisoPrevioFactory0xD3369F63E6a8Dc60914a428c0d15d98CB9f5Ba12

Despacho y administración modular#

Contrato o funciónDirección en BaseScan
BotradixDispatchKernelV20x95DC9EFbff26Acb8B9509d68dd73E712c4541093
BotradixRouterModuleHub0x1939D6DEA5032Af296888A2b5b379121981807E5
BotradixRouterModuleAdminFacet0xd7Ee406f1309e422Ce215e1257799D595fA3EA02
BotradixBusinessModuleAdmin0x75434e902a3e9538fE9Cdc9606163fCd26073177

Facetas del router#

Componentes del DEX#

Módulos y parámetros del router#

Margen cruzado#

Contrato o funciónDirección en BaseScan
BotradixCrossMargin0xc1030c90C644Df556c5fe311601B55B84387f6d7
BotradixCrossSettlementFacet0xcD9dE1b0f9A7Fc5afE22cF4eb781198FF99FA851
BotradixCrossAutomationFacet0xF18D2E033418DF345473FA696FF5c0aD1d504671
BotradixCrossDexCollateralFacet0x09E04102cE4Af4567F3f6698B23E3213cb723177
BotradixCrossDexBridgeFacet0x3744a1c6a8646a53404D530FF1e007d0c7af1E11
BotradixCrossDexReadFacet0xc1d7ccfCE31873129B08426C115C2B6f5D72eB78
BotradixCrossModuleFacet0xA466E60cAe42E695Fb8f1Fc71d2f6816eE17E3dF

Lógicas, extensión y políticas de negocio#

Contrato o funciónDirección en BaseScan
BotradixPairForgeLogic0x0744e9a3f4ad391414FA2d1443de2259bB1620e6
BotRadixRegistryLogic0xFBD00C93D96EF1a62EA1f017a6736927f5b98c2D
BotRadixAutomationLogic0xDC9604745165a2eA737485dB4232aa8555e0e529
BotRadixAutomationExtension0x5256C7EbC2437F4820439D9754213B7759Db5dF5
BotRadixUniswapV3Logic0xa9Ad93A078aB62830fbC7A4D9B9924bbBca2FAf1
BotradixPairForgeParams0xD114ea201713EA7B9B5ea6244Fb850f0526Cc695
BotradixRegistryPolicyV20x33F96413b548F1d7bbAca66E117424E4609E93b2

Facetas conservadas en el despliegue#

El manifiesto también mantiene estas piezas anteriores, fuera de las 57 de la entrega. Se incluyen para poder seguir las rutas completas.

Contrato o funciónDirección en BaseScan
BotradixCrossCustodyFacet0x4aFd0DeB7647De9d6C5Eb34C58cf28300357E717
BotradixCrossQuantFacet0xC31e4A46C514129983A5086d79D444854e54087b
BotradixLiquidityFacet0x9EaC5c10855d1C494b30Af3e9C28123fe98ef5B9
BotradixPreviewFacet0xEfdCe096526849dc313F0B0581f19aBb1bF1C4bd
BotradixReadAccountFacet0xdD1D8aB402FCED0b2DbD02b9D0D7783f54909B81
BotradixConstantsFacet0xe65314C1ae2FE001d60Ad49d017a4869A30cB4a2
BotradixProviderRegistryFacet0x5B815ef9c353b62Ca1d5885077a8D7C19B5269F8

Contacto y textos relacionados#

Comunica problemas de seguridad a support@botradix.com, con el asunto Security, la red, la dirección afectada y los pasos para reproducir el problema. Incluye solo información necesaria para investigarlo; nunca claves privadas, frases semilla ni credenciales.

Consulta los Términos, secciones 21–26, sobre protocolo, salida, poderes administrativos, pagos diferidos, parámetros y vuelta atrás, y la página de Riesgos. Esta explicación del mecanismo no elimina esos riesgos.

Última actualización: 2026-10-12