Cómo cancelar transacciones pendientes en Metamask | en cualquier red compatible

Si alguna vez has realizado una transacción en Metamask, en cualquiera de sus redes compatibles (recuerda cualquier blockchain compatible con EVM), es bastante probable que al realizarla, ésta se haya quedado en estado “pendiente”, durante varios días o incluso semanas, sin llegar a ejecutarse. El problema que esto no solo provoca que esa transacción que deseas realizar no se ejecute, sino que además te bloquea esa dirección (wallet) para ejecutar cualquier otra nueva transacción, lo que es bastante frustrante. En Jardinfinanciero te vamos a enseñar a solucionar este problema, ¡Así que sigue leyendo!

El problema: las tarifas de transacción (gas fees).

El problema por lo que ocurre esto es porque a la hora de enviar la transacción las tarifas de transacción eran insuficientes para el tráfico o congestión de la red en ese momento.

¿Cómo funcionan los gas fees y transacciones?

Para poder dar respuesta a esto primero debemos saber que son las tarifas de transacción o «gas fee». Aunque tienes una explicación mucho más profunda en nuestro artículo sobre Ethereum, vamos a hacer un pequeño recordatorio por si no quieres perder mucho tiempo leyendo. 

Lo primero que debemos tener claro que el concepto de «gas fee» es un concepto muy asociado con Ethereum. Por ello para el ejemplo de la explicación nos basaremos precisamente en esta red. Aunque, como hemos indicado en la introducción del artículo, esto es común y afecta de un modo similar (depende de la escalabilidad de cada blockchain) a cualquier red compatible con Metamask, precisamente porque todas estas redes son compatibles con EVM, que es la condición que deben cumplir para poder ser usadas en Metamask.

La clave es la escalabilidad

Bien, partimos de la premisa anterior de que en Ethereum solo se pueden hacer un número determinado de transacciones por minuto, debido a cómo funciona su blockchain. Por otro lado, el “gas fee” que se paga por cada transacción, funciona mediante un sistema de subastas en el que el mejor postor (el que más paga), consigue realizar su transacción de manera más rápida. 

De esta manera, los mineros (o validadores) van aceptando pujas y realizando transacciones pendientes hasta que la red se va descongestionando y, en consecuencia, bajando el precio del gas fee. No obstante, si hay demasiadas transacciones pendientes y los usuarios empiezan a subir sus pujas, el gas fee puede llegar a precios astronómicos. En este caso, un gas fee alto desincentivan que la red se siga congestionando a costa de parar el movimiento de ésta.

Es por ese motivo por el que Metamask te da tres opciones distintas para realizar una transacción: Baja, Medio y Alto. Esto se debe a que estás pujando por el límite bajo, la media o el límite alto del rango de precios de transacción. Por eso se recomienda usar la opción Medio o incluso Rápido, dependiendo de la congestión de la red, para no arriesgar tanto.

Sin embargo, hay días en los que debido al alto volumen de transacciones si realizaste una transacción en la que el precio de «gas fee» elegido era bajo, es posible que no puedas realizar una transacción nueva hasta no haber completado la anterior. Pero no te preocupes, ya que tienes dos opciones:

  • Opción A: Agilizar Transacción
  • Opción B: Cancelar la transacción

Pero antes de profundizar en ellas lo primero que debes saber es, llegados a este punto, cómo conocer cual es el gas fee exacto que debo asignar a mi transacción para no volver a tener problemas.

Por supuesto, esto que estamos viendo aquí en este momento es suponiendo que ya hemos tenido el problema de que se nos haya quedado la transacción pendiente. Pero si no queremos llegar a este punto, este sería el primer paso a tener en cuenta a la hora de realizar cualquier transacción en Metamask, para evitar esta situación:

Conocer el gas fee exacto que debo añadir a mi transacción en cada momento

Como hemos visto las tarifas de transacción (gas fee) varían en cada momento del día, según la congestión de las redes. Por ello lo ideal antes de realizar cualquier transacción es asegurarnos exactamente del gas fee que debemos utilizar para evitar situaciones como la que te enseñamos a resolver en este artículo.

Para ello, por lo general, en cada red existen portales web dedicados a esta función, que lo único que deberemos hacer es consultar en el momento previo a validar nuestra transacción, para verificar que el gas fee propuesto por Metamask cumple con lo que se está negociando en la red en ese instante. Algunos ejemplos:

Ethereum

Para el caso de Ethereum yo suelo usar: https://ethgasstation.info/

Polygon

Para el caso de Polygon: https://polygonscan.com/gastracker

Avalanche

Para el caso de Avalanche: https://snowtrace.io/gastracker

Binance Smart Chain

Para el caso de Binance Smart Chain: https://explorer.bitquery.io/bsc/gas

Otras redes

Para otras redes, como por ejemplo Energy Web no existen (que yo conozca) portales específicos para hacer tracking de sus gas fee. En estos casos, por lo general, en los exploradores específicos de cada blockchain, si buscamos bien podemos encontrar estos datos. En el ejemplo de Energy Web lo tenemos en la zona indicada en el recuadro rojo, que se muestra al pasar el ratón sobre la «i» de más info:

Como ves, se trata un poco de buscarse la vida. De todos modos si necesitas esta info para alguna red y no lo consigues localizar con las instrucciones dadas, déjamelo saber en los comentarios y te intentaré ayudar a encontrar los datos correctos.

Bien, ahora sí, pasemos a ver las 2 opciones comentadas anteriormente para poder solventar la situación de bloqueo que nos genera una «pending transaction»:

Opción A: Agilizar Transacción

La opción más sencilla de todas para resolver esta situación es la que te ofrece Metamask por defecto, agilizar la transacción. Lo que hace Metamask es sustituir la transacción pendiente, que tiene un número determinado (por ejemplo, transacción número 35), por otra con el mismo número pero esta vez con una puja mayor.

Si haces esto y consigues solucionarlo, estás de suerte, ya no tendrás que hacer nada más. Sin embargo, si ya ha pasado un tiempo y no se ha solucionado, todavía tienes la opción B, que es la más efectiva.

Opción B: Cancelar la transacción

En esta opción vamos a hacer algo muy similar a la opción A, solo que esta vez de manera manual y cancelando la transacción definitivamente.

Paso 1: Activa la personalización del NONCE

Lo primero de todo que deberemos hacer será activar la personalización del NONCE en la configuración de nuestra billetera de Metamask. El NONCE es el número de posición que tiene una transacción en nuestra wallet. Así, una transacción con un NONCE=1, será la primera que hagamos en la historia de la wallet. Esto generalmente se elige automáticamente por defecto cuando realizas una transacción, pero lo podemos editar manualmente cuando nos interese, para casos como este.

Vamos a nuestro Metamask, hacemos click en el círculo de arriba a la derecha y seleccionamos Configuración. Seguidamente, nos vamos a Avanzado, bajamos y activamos Personalizar NONCE de la transacción.

Paso 2: Busca la transacción pendiente y su nonce

Ahora tendremos que irnos a la transacción que tenemos pendiente en Metamask bajo Actividad y haremos click en ella para ver los detalles.

Lo que nos interesa a nosotros aquí es quedarnos con el número que ponga en NONCE. En nuestro caso sería el 8.

Paso 3: Envíate ETH en una nueva transacción

Una vez se haya activado la personalización de nonce y que ya sabemos el número de nonce que tiene la transacción que tenemos pendiente, haremos click en el botón de Enviar de Metamask en ETH.

Lo que harás a continuación será copiar la dirección de tu propia wallet (la que estás usando para realizar la transacción) y enviarte 0 ETH. En este caso marcaremos la opción de Rápido y haremos click en Siguiente.

Después, en la pantalla de confirmación, pondremos el número de nonce que hemos visto en nuestra transacción pendiente bajo “nonce personalizado” y confirmamos.

Esto hará que se sustituya una transacción con la otra y que se cancele la que se quedó en estado de “pendiente”. Y antes de que te lo preguntes, en esta transacción no tendremos que pagar el gas fee para cancelar la anterior.

Extra: ¿Qué hacer si no encuentro la transacción pendiente?

Hay veces en las cuales no aparece la transacción en Metamask. Pero no te preocupes, ya que gracias a la transparencia de la blockchain todo se puede encontrar.

Lo que deberemos hacer es clickar en los 3 puntitos de arriba a la derecha en Metamask y seleccionar “Ver en Etherscan”, o directamente introducir la dirección de nuestra wallet de Metamask en Etherscan en el caso de que estés operando en la red Ethereum, o en el explorador de la red que corresponda (BSC, Polygon, Avax, Gnosis Chain, Energi, Optimism, Arbitrum, etc). Ahora podremos ver todas las transacciones de nuestra wallet ordenadas cronológicamente de más reciente a más antigua.

En nuestro caso personal no tenemos ninguna transacción pendiente, pero lo único que tendríamos que hacer es buscar la que diga “pending” bajo Method y hacer click en el número de Txn Hash.

Seguidamente, haremos click en Click to see More y finalmente podremos ver el número de nonce que estamos buscando.

¡Y esto sería todo! Esperamos que te haya servido y hayas podido solucionar el problema de tu transacción. Muchas gracias por leernos!

Otras publicaciones que quizás te interesen…

Descargo de responsabilidad: no estoy patrocinado por ninguno de los proyectos/empresas mencionados en este artículo. Este no es un consejo financiero, la información de este artículo es solo para fines informativos, educativos y de entretenimiento. Nunca inviertas lo que no puedas permitirte perder. Renuncio a cualquier responsabilidad o pérdida incurrida por cualquier persona que actúe sobre la información, ideas o estrategias expuestas en mis artículos. Haz tu propia investigación y si inviertes, hazlo bajo tu propio riesgo y responsabilidad.

Hey!, 👋 si te gusta nuestro contenido y quieres colaborar para soportar los gastos del Canal, me puedes invitar a un ☕ café!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *