Timelock UI: una interfaz open source para operar TimelockController desde el navegador

En muchos protocolos Web3, las decisiones importantes no se ejecutan de forma inmediata. Actualizaciones de contratos, cambios de parámetros, movimientos de tesorería o acciones de gobernanza suelen pasar por un periodo de espera antes de poder ejecutarse en cadena.
Ese retraso no es accidental: es una capa de seguridad.
Los timelocks permiten que una operación quede programada on-chain antes de ejecutarse, dando tiempo a revisar la acción, detectar errores, reaccionar ante cambios inesperados o cancelar una operación si algo no encaja.
Para facilitar este proceso, el equipo de Stakely ha desarrollado Timelock UI, una interfaz minimalista, open source y agnóstica de red para operar cualquier contrato OpenZeppelin TimelockController directamente desde el navegador.
La herramienta está disponible en timelock.stakely.io y su código puede consultarse en el repositorio público de Stakely/timelock-ui.
Qué es Timelock UI
Timelock UI es una aplicación frontend que permite programar, monitorizar, ejecutar y cancelar operaciones timelocked en redes EVM.
La idea es simple: conectar una wallet, introducir la dirección de un contrato TimelockController y operar desde una interfaz clara, sin backend, sin configuración compleja y sin depender de despliegues predefinidos.
La herramienta está pensada para equipos que trabajan con contratos de gobernanza, multisigs, DAOs, protocolos o cualquier sistema que utilice un TimelockController de OpenZeppelin como capa de seguridad para ejecutar operaciones sensibles.
Por qué una interfaz para timelocks es útil
El flujo clásico de un timelock puede parecer sencillo sobre el papel:
schedule -> wait delay -> execute
Pero en la práctica, operar este tipo de contratos suele requerir revisar calldata, controlar estados de operaciones, comprobar tiempos de espera, confirmar roles y coordinar la ejecución con la wallet o multisig correspondiente.
Timelock UI reduce esa fricción al ofrecer una interfaz visual para seguir el ciclo completo de una operación:
-
Schedule: programa una operación enviando una transacción
schedule()con el contrato objetivo, calldata y delay correspondiente. -
Wait: monitoriza el periodo de espera hasta que la operación pasa de
WaitingaReady. -
Execute: ejecuta la operación cuando el delay ha terminado, siempre que la cuenta tenga el rol necesario.
-
Cancel: cancela una operación si la cuenta conectada dispone de
CANCELLER_ROLE.
Esto permite trabajar con timelocks de forma más clara, especialmente cuando varios miembros de un equipo necesitan revisar o coordinar operaciones antes de ejecutarlas.
Una herramienta agnóstica de red y contrato
Uno de los puntos más importantes de Timelock UI es que no está limitado a una red concreta ni a contratos hardcodeados.
La interfaz permite trabajar con:
-
Ethereum mainnet.
-
Sepolia.
-
Hoodi.
-
L2s compatibles con EVM.
-
Redes personalizadas mediante RPC.
-
Cualquier contrato compatible con OpenZeppelin
TimelockController.
Esto la hace útil tanto para equipos que operan en mainnet como para protocolos que trabajan en testnets, entornos de staging o redes EVM menos habituales.
En lugar de depender de una integración cerrada, el usuario puede añadir la red y el contrato que necesita operar.
Sin backend y no custodia
Timelock UI funciona completamente desde el navegador.
No hay backend propio que almacene operaciones ni gestione credenciales. El estado se guarda en localStorage, bajo el namespace tl-ui:*, y todas las interacciones on-chain se realizan desde la wallet conectada.
Esto significa que:
-
La aplicación no custodia claves privadas.
-
Cada transacción debe ser firmada por la wallet del usuario.
-
El estado local puede limpiarse eliminando los datos del sitio.
-
La herramienta puede autoalojarse en una instancia propia.
Este enfoque encaja especialmente bien con equipos que prefieren minimizar dependencias externas al operar infraestructura crítica o contratos de gobernanza.
Sin vendor lock-in: también puedes autoalojarla
Aunque Stakely mantiene una demo pública en timelock.stakely.io, Timelock UI también puede desplegarse en una infraestructura propia.
El proyecto es una aplicación frontend construida con Vite, React, TypeScript, wagmi, viem, RainbowKit y TailwindCSS. No incluye Solidity ni backend, lo que simplifica tanto la revisión técnica como el despliegue.
Un equipo puede clonar el repositorio, instalar dependencias, generar el build de producción y servir la carpeta resultante desde Vercel, Netlify, Nginx, IPFS u otro hosting estático.
Sincronización de operaciones desde la chain
Otra función importante es la posibilidad de sincronizar operaciones que no fueron creadas desde la propia interfaz.
Mediante el botón Sync chain, Timelock UI escanea eventos CallScheduled del contrato para detectar operaciones programadas directamente en cadena o desde otras herramientas.
Esto permite usar la interfaz no solo para crear nuevas operaciones, sino también para monitorizar timelocks existentes aunque el equipo no haya usado Timelock UI desde el inicio.
Para quién está pensada esta herramienta
Timelock UI puede ser útil para:
-
DAOs que ejecutan acciones mediante timelocks.
-
Protocolos con gobernanza on-chain.
-
Equipos técnicos que gestionan upgrades de contratos.
-
Multisigs que necesitan coordinar operaciones sensibles.
-
Infra teams que quieren monitorizar operaciones programadas.
-
Builders que trabajan con OpenZeppelin
TimelockControlleren distintas redes EVM.
En todos estos casos, la herramienta ayuda a hacer más visible y operable un proceso que normalmente queda repartido entre scripts, explorers, calldata y documentación interna.
Una contribución más al tooling open source de Stakely
En Stakely operamos infraestructura blockchain en múltiples redes Proof-of-Stake, pero también creemos que la adopción pasa por construir herramientas prácticas para otros equipos del ecosistema.
Timelock UI nace de esa misma lógica: una herramienta pequeña, específica y abierta para resolver una necesidad real de equipos que trabajan con contratos críticos.
No intenta sustituir los procesos internos de seguridad de un protocolo, pero sí ofrecer una capa visual y accesible para operar timelocks con más claridad.
Puedes probar la herramienta en timelock.stakely.io o revisar el código en GitHub.





