WATS Wallet logoWATS Wallet
Técnico8 min de lectura

Mensajes de error de wallets de cripto explicados: Execution Reverted, Nonce Too Low, Blockhash Not Found (EVM, Solana, TON)

Busca "execution reverted", "nonce too low", "Blockhash not found", AA21 y el código de salida 37 de TON: qué significa cada error de EVM, Solana y TON, si el intento gastó una comisión de red y cómo solucionarlo.

Por Alltoscan LLC, la empresa detrás de WATS Wallet Política editorial

Publicado Actualizado

A fecha de octubre de 2026, la mayoría de los errores de wallet caen en dos grupos. Los errores que se producen antes de que una transacción se incluya en un bloque, como "nonce too low", "replacement transaction underpriced", "insufficient funds for gas * price + value" o el "Transaction simulation failed: Blockhash not found" de Solana, significan que no se registró nada onchain y no se gastó ninguna comisión de red. Los fallos posteriores a la inclusión, como una transacción EVM que se revirtió o se quedó sin gas, una transacción de Solana que se registró con un error, o un fallo en la fase de cómputo de TON, siguen consumiendo la comisión por el trabajo realizado. Busca tu texto de error exacto en las tablas de abajo para ver su significado y la solución.

¿Te costó una comisión una transacción fallida? La regla que debes comprobar primero

Una transacción fallida cuesta una comisión de red solo si se incluyó en un bloque antes de fallar.

Una transacción puede fallar en dos momentos:

  • Antes de la inclusión: la simulación de la wallet, el nodo RPC o la mempool la rechaza. No llega a ningún bloque, así que no se gasta ninguna comisión de red.
  • Después de la inclusión: la transacción llega a un bloque, su código se ejecuta y falla. Se gasta la comisión por el trabajo realizado. Etherscan dice que el gas se descuenta igualmente en las transacciones fallidas por el cómputo utilizado, y la documentación de comisiones de Solana dice que, si la transacción falla, la comisión se cobra de todos modos.

Para saber en qué caso estás, busca el hash o la firma de la transacción en un explorador de bloques. Si pasados unos minutos no hay ningún registro, normalmente nunca se registró y no costó nada; un estado Pending significa que aún no se ha incluido. Un registro marcado como Failed o Reverted, o con un código de salida distinto de cero, significa que se registró y la comisión se gastó.

¿Qué errores de EVM significan "nonce too low", "underpriced" u "out of gas"?

Estos son los textos exactos del código fuente del cliente go-ethereum, y la mayoría significa que la transacción fue rechazada antes de llegar a un bloque.

Error exactoQué significa¿Se gastó comisión de red?Qué hacer
"nonce too low"Ya se confirmó una transacción con este número; el estado de la wallet está desactualizadoNoResincroniza la wallet y revisa el explorador; reenvía solo si la acción que querías no se realizó ya
"replacement transaction underpriced"La aceleración o cancelación usó un aumento de comisión demasiado pequeñoNoSube más la comisión; el valor predeterminado de Geth exige un 10%
"max fee per gas less than block base fee"Tu comisión máxima está por debajo de la comisión base actualNoSube la comisión máxima
"insufficient funds for gas * price + value"La moneda nativa no cubre el importe más el gas máximoNoRecarga la moneda nativa; consulta tokens pero sin token de gas
"already known"La misma transacción ya está en la mempoolNoEspera; es inofensivo
"out of gas"La ejecución superó su límite de gas; los cambios se deshacenSíReintenta con un límite de gas más alto

¿Qué significa "execution reverted"?

"Execution reverted" significa que un smart contract rechazó la acción y deshizo todos los cambios que había hecho. Aparece en dos momentos, y la comisión es distinta en cada uno.

Si aparece en la estimación previa al envío de la wallet, no se envió nada y no se gastó ninguna comisión. Si la transacción se registró, Etherscan la muestra como Fail o Reverted y, según Alchemy, el remitente paga igualmente el gas usado. El texto después de los dos puntos es el motivo real. Algunos de los más comunes:

  • "UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT": el precio se movió más allá de tu límite de slippage entre la firma y la inclusión.
  • "ERC20: insufficient allowance": la aprobación del token es menor que el importe que se gasta. Su par, "ERC20: transfer amount exceeds balance", significa que tienes menos de ese token del que intentaste mover.

Los dos textos de ERC-20 provienen de contratos de OpenZeppelin v4; las versiones más recientes usan errores personalizados con nombres distintos.

¿Qué significan los códigos AA de ERC-4337 y los errores de EIP-7702?

Las cuentas de smart contract envían una UserOperation a través de un bundler en lugar de una transacción normal, y la especificación EIP-4337 dice que los mensajes de error del EntryPoint empiezan con un código de la forma AA##.

CódigoQué significa¿Se gastó comisión de red?
AA21 didn't pay prefundNo se usó ningún paymaster y el depósito de la cuenta en el EntryPoint no cubre el gas máximoNo
AA23 revertedEl código de validación de la cuenta rechazó la operaciónNo
AA33 revertedLa validación del paymaster rechazó la operaciónNo
AA95 out of gasEl límite de gas del bundle era demasiado bajo para la operación o una subllamadaNormalmente no; handleOps se revierte

La especificación EIP-4337 dice que un bundler debe descartar una operación cuya simulación se revierte, por lo que los fallos de validación (AA2x y AA3x) normalmente no dejan nada onchain. Si una operación se incluye y su llamada principal se revierte, el gas se paga igualmente onchain por la cuenta o por el paymaster que la patrocinó. Alchemy señala que AA95 suele significar que los límites de gas se fijaron demasiado bajos; handleOps se revierte, así que reintenta con límites de gas más altos (un ajuste del bundler o del SDK).

EIP-7702 añade un error que puedes ver desde un nodo: "in-flight transaction limit reached for delegated accounts" (el pool de Geth acepta una sola transacción ejecutable pendiente para una cuenta así, así que espera a que termine). Una autorización con el ID de cadena o el nonce incorrectos se omite en silencio, de modo que la transacción puede tener éxito sin que se aplique la delegación. Si no delegaste tu cuenta a sabiendas, comprueba y revoca la delegación: una inesperada es una señal de drainer.

¿Qué significan "Blockhash not found" y "block height exceeded" en Solana?

"Block height exceeded" significa que el blockhash expiró, y "Blockhash not found" significa que el nodo no reconoció el blockhash (normalmente expiró; a veces es un nodo retrasado). En ambos casos la transacción normalmente no se procesó. Un blockhash sigue siendo válido unos 151 bloques, aproximadamente de 60 a 90 segundos, según la guía de confirmación de Solana, y una transacción expirada ya no puede procesarse.

Error exactoQué significa¿Se gastó comisión de red?Qué hacer
"Transaction simulation failed: Blockhash not found"Blockhash demasiado antiguo, o el nodo que simulaba aún no lo había vistoNoReintenta para obtener un blockhash nuevo
"block height exceeded" (el error TransactionExpiredBlockheightExceededError)No se registró antes de que el blockhash expiraraNo, salvo que se registrara justo antes de expirar; comprueba la firmaComprueba la firma en un explorador y luego reintenta
"Transaction simulation failed: Error processing Instruction N: custom program error: 0x..."El programa predijo un fallo, como el slippage de un swapNo, cuando se detecta en la simulación antes de enviar; si una wallet o app omite la simulación, la transacción puede registrarse como Failed y la comisión se gastaLee el motivo; ajusta el slippage o el importe
"Attempt to debit an account but found no record of a prior credit."La cuenta que paga no tiene nada de SOLNoAñádele SOL
"Transaction results in an account (0) with insufficient funds for rent"El envío dejaría una cuenta por debajo del mínimo exento de rentaNo, cuando se detecta en la simulación; si se omite la simulación puede registrarse como Failed y costar la comisiónEnvía un poco menos; consulta la renta de Solana
El explorador muestra "Failed"Se registró y el programa devolvió un errorSíLee el log del explorador, corrige y reenvía

Las comisiones de Solana se pagan siempre en SOL, así que "Insufficient funds for fee" e "insufficient funds for rent" significan que necesitas SOL. Un "insufficient funds" a secas o un "custom program error: 0x1" en una transferencia de token significa que tienes menos de ese token del que intentaste enviar.

¿Debes subir la priority fee en Solana?

Sube la priority fee (comisión de prioridad) solo cuando una transacción siga expirando durante una congestión, no cuando aparezca un error de simulación.

Según la documentación de comisiones de solana.com, una comisión de Solana es una comisión base de 5.000 lamports por firma (50% se quema, 50% va al validador) más una priority fee opcional: el precio por unidad de cómputo (en micro-lamports) por el límite de unidades de cómputo, dividido entre 1.000.000 y redondeado hacia arriba a lamports enteros, y todo ello va al validador. Una priority fee más alta mejora las probabilidades de que un líder ocupado programe tu transacción. No arregla errores de slippage, de renta ni de falta de SOL, y se cobra igualmente si la transacción se registra y falla. Si aparece un error de simulación, corrige la causa.

¿Qué significan los códigos de salida de TON y los mensajes rebotados?

Una transacción de TON se ejecuta en fases (almacenamiento, crédito, cómputo, acción, rebote) y, según docs.ton.org, los códigos de salida 0 y 1 significan éxito mientras que cualquier otro significa fallo. Si falla el cómputo, se omite la fase de acción y, para un mensaje entrante con rebote habilitado (bounceable), se forma un mensaje de rebote; las comisiones se descuentan fase por fase, así que las anteriores quedan gastadas. Las comisiones se pagan en GRAM (antes Toncoin; consulta qué cambió con el cambio de nombre).

SeñalQué significa¿Se gastó comisión de red?Qué hacer
Código de salida 13 o -14Sin gas en la fase de cómputoSí, por el gas usadoAdjunta más GRAM
Código de salida 9Cell underflow: el contrato intentó leer más datos de los que contiene una celda, a menudo porque la carga útil no coincide con lo que el contrato esperaSíComprueba que la carga útil o el comentario sean los que espera ese contrato
Código de salida 37Fase de acción: "Not enough GRAMs" para enviar el mensaje salienteSíAdjunta más GRAM
Fase de cómputo omitidaEl mensaje llevaba demasiado poco GRAM para pagar la ejecuciónSin gas; la fase de almacenamiento sí se ejecutaEnvía con más GRAM adjunto
Mensaje rebotadoEl destino falló o no existeSí, se descuentan comisionesSe devuelve el valor menos las comisiones de mensaje y de gas

Cómo se relaciona WATS Wallet con estos errores

WATS Wallet, de Alltoscan LLC, es una wallet no custodial (extensión de Chrome y app para iOS/Android) para redes EVM, Solana y TON, en la que tú tienes tus propias claves y tu frase de recuperación. Los mensajes de esta guía son errores a nivel de red definidos por esas cadenas, no códigos específicos de WATS.

En Solana las comisiones de red se pagan en SOL, así que la fila de "insufficient funds" de Solana se aplica directamente: mantener un pequeño saldo de SOL la evita. Las filas de TON describen errores a nivel de protocolo; en WATS Wallet, las comisiones en TON se pagan en ATS. En redes EVM, WATS Wallet cobra las comisiones de red en ATS mediante un paymaster ERC-4337, desde un solo saldo de ATS en BNB Chain; cómo funciona la comisión en ATS se explica aparte.

Preguntas frecuentes

¿Pierdo dinero cuando falla una transacción de cripto?

Depende de cuándo falló. Si fue rechazada antes de la inclusión (errores de simulación, de nodo o de mempool como "nonce too low", "replacement transaction underpriced" o "Blockhash not found"), no se registró nada y no se gastó ninguna comisión de red. Si se registró y falló (una reversión o un out of gas en EVM, un "Failed" en el explorador de Solana, un código de salida distinto de cero en TON), se gastó la comisión por el trabajo realizado, pero el importe que intentaste enviar sigue en tu cuenta, y los rebotes de TON devuelven el valor menos las comisiones. Comprueba el hash o la firma en un explorador para ver qué caso se aplica.

¿Por qué mi wallet dice "nonce too low" si no tengo ninguna transacción pendiente?

El nonce es el contador de transacciones de la cuenta, y "nonce too low" significa que ya se confirmó una transacción con ese número. Las causas habituales son usar la misma cuenta desde otra app de wallet u otro dispositivo, una transacción "atascada" que en realidad se confirmó, o un estado de wallet en caché desactualizado. Comprueba en un explorador si el pago o la acción que querías ya se realizó; si es así, no reenvíes; si no, resincroniza la wallet y envía de nuevo. El intento rechazado en sí no gastó comisión. Si de verdad hay una transacción pendiente, consulta <a href="/blog/speed-up-or-cancel-stuck-transaction">cómo acelerar o cancelar una transacción pendiente</a>.

¿Es seguro reintentar tras "block height exceeded" o "Blockhash not found" en Solana?

En general sí. "Block height exceeded" significa que el blockhash expiró (unos 151 bloques, aproximadamente de 60 a 90 segundos), y "Blockhash not found" significa que el nodo no lo reconoció, normalmente porque expiró. Una transacción expirada ya no puede procesarse, así que no puede registrarse más tarde y duplicar la nueva; aun así, busca primero la firma en un explorador de Solana y luego reintenta con un blockhash nuevo. El intento expirado no pagó comisión salvo que se registrara antes de expirar, algo que la búsqueda en el explorador muestra, y una priority fee algo más alta puede ayudar si sigue expirando durante una congestión.