Qué significa una transacción pendiente
Una explicación prudente para evitar firmar repetidamente la misma operación.
Este artículo puede contener enlaces de afiliados. Las relaciones comerciales se detallan en la política de afiliados.
Una transacción pendiente no es una transacción fallida, y la diferencia no es semántica: determina si debes esperar, si debes buscar una solución, o si ya puedes olvidarte del asunto. Cuando tu billetera muestra una operación en curso durante minutos u horas, lo que la red está diciendo es que la transacción es válida pero todavía no ha sido incluida en ningún bloque. Sigue en la lista de espera. No hay problema con tus fondos mientras siga ahí, y no hay forma de recuperarla si la cancelas sin saber lo que haces.
Qué está pasando realmente
Las transacciones se transmiten a una red de nodos y pasan a una zona de espera común llamada mempool. Cada bloque que se construye elige ciertas transacciones de esa lista y las ejecuta. Dos cosas tienen que cumplirse para que tu transacción entre en un bloque.
La primera es que la comisión que ofreciste sea suficiente. Bajo el modelo de comisión introducido en Ethereum, cada bloque tiene un precio base que depende de lo lleno que estuvo el bloque anterior, y encima hay una comisión de prioridad que tú eliges. Si tu prioridad es baja y hay muchas transacciones compitiendo, tu operación puede quedar seleccionada repetidamente y no entrar nunca.
La segunda es que la transacción siga siendo válida. El estado de la cadena cambia constantemente, y una transacción que era correcta hace diez minutos puede haber quedado obsoleta: el precio de un activo cambió, un contrato que ibas a usar cambió sus condiciones, o el número de secuencia que usabas ya no es el siguiente disponible. Las transacciones pendientes pueden quedarse obsoletas sin que nada esté realmente mal.
Cuánto tiempo es normal
No hay un plazo fijo, porque el tiempo depende de la red y de las condiciones del momento. En una red con bloques de unos doce segundos y con espacio disponible, una transacción con una comisión razonable suele aparecer en el siguiente bloque. En una red congestionada, con un pico de actividad, esperar puede significar horas.
La señal que importa no es el reloj sino el estado. Si tu billetera muestra la transacción como pendiente y en el explorador de bloques todavía no aparece, está en la cola. Si el explorador la muestra incluida en un bloque pero el estado es revertida o fallida, entonces ya terminó y falló: la comisión se gastó y la operación no ocurrió. Estas dos situaciones parecen iguales en una notificación y son opuestas en la práctica.
Qué hacer mientras esperas
No envíes la misma operación otra vez por el solo hecho de que no aparece. Si la primera se incluye más tarde, hayas enviado dos veces. Esta es la causa más común de pérdidas múltiples en situaciones de congestión, y es casi siempre evitible con una comprobación previa.
Sustituye en lugar de duplicar. La mayoría de carteras permiten reemplazar una transacción pendiente usando el mismo número de secuencia y una comisión de prioridad más alta. La red ve una sola transacción con la intención original; el aumento de comisión es lo que cambia. Esto es diferente de enviar una segunda transacción nueva.
Aumenta la comisión solo con un motivo concreto. Si sabes que la red está congestionada, una prioridad mayor es una respuesta razonable. Si no lo sabes, subir la comisión solo gasta más dinero sin acelerar nada.
Comprueba los límites de la billetera. Algunas carteras imponen un tope de comisión por defecto que impide firmar cuando la comisión necesaria supera ese tope. En ese caso el problema no es la red, es un ajuste local, y cambiar el tope es lo que desbloquea la operación.
Cuándo sí es un problema
Hay escenarios en los que esperar no tiene sentido. Si la transacción quedó obsoleta porque el estado de la cadena cambió — un precio se movió fuera de tu tolerancia de deslizamiento, o un contrato rechazó la llamada — no se va a resolver esperando, porque las condiciones que la hicieron inválida siguen sin cumplirse. En ese caso la transacción termina revirtiéndose, y la comisión de red que gastaste no se recupera.
También hay un límite prático: si llevas horas esperando y la comisión sigue sin suficiente, el caso más razonable es considerar la operación pérdida en términos de tiempo y decidir si reintentas con condiciones distintas. Lo que nunca conviene es mantener durante días la espera por la misma transacción mientras sigues firmando operaciones nuevas con la misma billetera, porque las comisiones pueden subir y tu transacción antigua puede quedarse atrás para siempre.
La lectura del explorador
Un explorador de bloques te da la respuesta que la interfaz de la billetera esconde. Busca el hash de la transacción. Si no aparece, nunca llegó a la red: no hay nada pendiente y no se gastó comisión, lo cual significa que probablemente la firma no se completó. Si aparece con estado pendiente, sigue en la cola. Si aparece con un estado de fallo, terminó.
Guardar el hash en el momento de firmar convierte cualquiera de estas comprobaciones en una consulta rápida, y es el único dato que permite auditar una operación más adelante.
Lo que esto no significa
Una transacción pendiente no indica que hayas perdido los fondos, que la red esté dañada, ni que tu billetera esté comprometida. En la gran mayoría de los casos es una cuestión de comisión y de tiempo. Pero «en la gran mayoría» no es «siempre», y la única forma de saber en cuál de los dos grupos está tu operación es comprobar su estado en el explorador.
Las transacciones confirmadas en la mayoría de las redes son irreversibles. Este artículo explica el estado de una operación en curso y no sustituye la verificación directa en la red que tú utilizas.