
La expiración consiste en que una acción o permiso pierde validez al cumplirse ciertas condiciones predefinidas, como un límite temporal, un cambio de estado o una variación en el entorno de red. En Web3, la expiración es esencial porque limita permisos y riesgos dentro de márgenes claros de “tiempo y condición”, lo que reduce abusos y ataques de repetición.
La expiración funciona de forma similar a la fecha de caducidad de un cupón: cuando finaliza el periodo de validez, las órdenes ya no pueden ejecutarse, las firmas expiradas no sirven para invocar smart contracts y las aprobaciones caducadas son rechazadas por el contrato. Este mecanismo reduce el mal uso y protege tus fondos.
La expiración de órdenes se rige normalmente por “condiciones de tiempo y ejecución”. Las tres estrategias más frecuentes son: GTC, IOC y FOK.
En las interfaces de trading spot y de derivados de Gate, las estrategias IOC y FOK están disponibles habitualmente. Si eliges IOC, toda parte no ejecutada expira de inmediato; con FOK, evitas ejecuciones parciales y refuerzas la certeza en tu estrategia.
La expiración de firmas y autorizaciones suele gestionarse mediante un “deadline” o “ventana de validez”. Muchas DApps incluyen un campo “deadline” en las solicitudes de firma; tras ese momento, la firma deja de ser válida.
EIP-2612 es un estándar de “permit signature” que permite aprobar el gasto de tokens sin transacción on-chain. Incluye un deadline: después de este, la firma expira y el contrato rechaza su uso.
EIP-712 es un estándar de firma estructurada que integra campos clave como chain ID, dominio del contrato y tiempo de expiración en la propia firma. Así se previenen ataques de repetición entre entornos distintos: aunque se copie una firma, no podrá usarse si ha expirado o el contexto no coincide.
Cuando tu wallet solicite una firma, comprueba si existe un campo de validez o deadline. Cuanto mayor sea la validez, mayor es la ventana de posible mal uso; ventanas más cortas incrementan la seguridad pero exigen actuar rápido.
Los smart contracts suelen controlar la expiración validando los deadlines en los puntos de entrada de las funciones. Es habitual comprobar si el timestamp del bloque actual es menor o igual al deadline: si no lo es, la función falla y se considera expirada.
Los timestamps de bloque los fijan los validadores y admiten pequeñas desviaciones. Por eso, los contratos suelen incluir buffers para evitar expiraciones prematuras y garantizar que no se ejecuten acciones tras la expiración. Los desarrolladores pueden añadir campos como “validUntil” en las estructuras de órdenes o autorizaciones para validar de manera uniforme.
En el modelo UTXO de Bitcoin, los scripts basados en tiempo también delimitan la validez de una transacción. Por ejemplo, un script puede exigir que las monedas no se gasten antes o después de cierto momento, usando restricciones de tiempo para gestionar la validez.
El tiempo on-chain determina “cuándo” expira algo, mientras que el nonce establece “si” una acción puede repetirse.
Un nonce es un contador de transacciones: el nonce de cada cuenta debe incrementarse con cada transacción. Si la red acepta una nueva transacción con el mismo nonce, la anterior se reemplaza y desaparece del mempool, expirando funcionalmente la anterior.
Los timestamps de bloque los proporcionan los productores de bloques y no corresponden a tiempos reales absolutos, pero son decisivos para determinar la expiración. Los contratos dependen del tiempo de bloque para comprobar la expiración y evitar depender de relojes externos.
En Ethereum y cadenas compatibles, la expiración se define sobre todo a nivel de contrato y DApp, usando habitualmente campos “deadline” y “nonce replacement” para reforzar la seguridad. Las aprobaciones de tokens por defecto no expiran, así que muchas aplicaciones emplean EIP-2612 para añadir fechas de expiración.
En Bitcoin, los scripts y mecanismos de bloqueo temporales definen las ventanas de validez de las transacciones a un nivel más básico, determinando si las monedas pueden gastarse antes o después de ciertos momentos.
En Solana, las transacciones pueden especificar una “last valid block height”; después de ese bloque, la transacción queda invalidada y la validez se basa en el tiempo o la altura de bloque. En algunas redes de Layer 2, la lógica es similar a Ethereum, gestionando la expiración principalmente a nivel de contrato y aplicación.
La expiración implica dos riesgos principales: expiración prematura (que ocasiona fallos operativos) y expiración tardía (que amplía la ventana de mal uso).
Gestiona con cautela la seguridad de tus fondos. La expiración no elimina el riesgo por sí sola; las aprobaciones de largo plazo que aún no han expirado requieren una gestión activa.
En la interfaz de trading de Gate, la estrategia de ejecución elegida determina directamente cómo expiran las órdenes:
Para el vencimiento de autorizaciones, si accedes a DApps mediante el portal Web3 o wallet de Gate, revisa si las autorizaciones incluyen deadlines. En caso de aprobaciones ilimitadas sin fecha de expiración, audita y revoca regularmente permisos de DApps no utilizadas desde la página de gestión de autorizaciones.
La obsolescencia de una fuente de datos es otra forma de “expiración”. Los Oracles suelen aportar timestamps; los contratos verifican si los datos recibidos están dentro de una ventana de frescura aceptable. Si no es así, los precios se consideran “obsoletos” y las llamadas se rechazan, equivalente a una expiración a nivel de datos.
A finales de 2025, los principales protocolos DeFi validan la frescura de los datos en feeds de precios e intereses, exigiendo actualizaciones frecuentes para reducir riesgos en mercados volátiles. Para NFT y metadatos alojados en servidores centralizados, los enlaces rotos hacen que las aplicaciones consideren el contenido como expirado, con un resultado funcionalmente idéntico.
A nivel de nodo, los clientes blockchain tienden a no almacenar datos históricos de forma indefinida. Los datos on-chain muy antiguos pueden no estar disponibles en nodos estándar; los desarrolladores deben recurrir a servicios de archivo o indexación personalizada para evitar interrupciones por acceso a datos “expirados”.
La expiración acota la ventana de validez para órdenes, firmas, autorizaciones y datos, y es una herramienta clave de seguridad y gobernanza en Web3. Al comprender los límites de tiempo y estado, aprovechar las comprobaciones de expiración en contratos y el reemplazo de nonce, junto con estrategias de órdenes y gestión de autorizaciones en DApps, puedes equilibrar la eficiencia de ejecución con el control del riesgo de mal uso y repetición. Revoca siempre las aprobaciones de largo plazo que ya no necesites, ajusta la validez de las órdenes según tu estrategia, verifica la frescura de los datos en los contratos y audita tu actividad de forma continua, transformando la “expiración” de una amenaza oculta en una protección activa.
Un modo de expiración describe la forma concreta en que una función, orden o autorización deja de operar. En Web3, los modos de expiración incluyen la expiración por tiempo (por ejemplo, timeout de orden), por parámetros (por ejemplo, variaciones de precio fuera de rango) y por revocación (por ejemplo, cancelación manual de una aprobación). Conocer los distintos modos te ayuda a evitar fallos inesperados o riesgos para tus fondos.
“Stalling” se refiere a operaciones que se ralentizan o quedan atascadas; “expiración” significa que una función ha dejado de ser válida o ha cesado por completo. La expiración tiene un final definido (como una orden que alcanza su fecha límite), mientras que el stalling implica un deterioro del rendimiento. Una orden puede expirar por stalling, pero son conceptos distintos.
La expiración automática de órdenes es una protección integrada que suele activarse por tres motivos: tiempo (fin de la validez), condiciones de mercado (precio supera los límites definidos) o restricciones de bloque (al alcanzar cierta altura de bloque). Así se protege tu operativa ante movimientos extremos de mercado.
No, son conceptos distintos. La expiración de autorizaciones significa que el permiso para que un contrato use tus fondos ha caducado; la expiración de la orden implica que la instrucción de trading ya no es válida. Una transacción puede verse afectada por ambas: si expira la autorización, no se ejecuta la orden aunque siga siendo válida; si expira la orden, no se ejecuta aunque la autorización siga vigente.
Para saber si una orden ha expirado:
Si tu orden ha expirado, tendrás que crear una nueva para seguir operando.


