[{"data":1,"prerenderedAt":19},["ShallowReactive",2],{"blog-content-ru-crypto-wallet-error-messages-explained":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"faqItems":9},"crypto-wallet-error-messages-explained","Ошибки криптокошелька: что значат execution reverted, nonce too low и Blockhash not found (EVM, Solana, TON)","Найдите свою ошибку: «execution reverted», «nonce too low», «Blockhash not found», AA21 и код выхода TON 37. Что означает каждая ошибка в EVM, Solana и TON, списалась ли комиссия сети за попытку и как это исправить.","Ошибки криптокошелька: что значат execution reverted, nonce too low, Blockhash not found и AA21, списалась ли комиссия и как это исправить.","\u003Cblockquote>По состоянию на октябрь 2026 года большинство ошибок кошелька делятся на две группы. Ошибки, возникающие до включения транзакции в блок, например «nonce too low», «replacement transaction underpriced», «insufficient funds for gas * price + value» или «Transaction simulation failed: Blockhash not found» в Solana, означают, что в блокчейн ничего не записано и комиссия сети не списана. Сбои после включения, такие как транзакция EVM, завершившаяся откатом или нехваткой газа, транзакция Solana, попавшая в блок с ошибкой, или сбой на этапе вычислений в TON, всё равно расходуют комиссию за выполненную работу. Найдите свою строку в таблицах ниже, чтобы узнать, что она значит и как это исправить.\u003C\u002Fblockquote>\n\n\u003Ch2>Списалась ли комиссия за неудавшуюся транзакцию? Главное правило, которое нужно проверить первым\u003C\u002Fh2>\n\n\u003Cp>Комиссия сети за неудавшуюся транзакцию списывается, только если она была включена в блок до сбоя.\u003C\u002Fp>\n\n\u003Cp>Транзакция может потерпеть неудачу в два момента:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>До включения:\u003C\u002Fstrong> её отклоняют симуляция кошелька, узел RPC или \u003Ca href=\"\u002Fblog\u002Fwhat-is-a-mempool\">мемпул\u003C\u002Fa>. В блок ничего не попадает, поэтому комиссия сети не списывается.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>После включения:\u003C\u002Fstrong> транзакция попадает в блок, её код выполняется и завершается сбоем. Комиссия за выполненную работу списывается. Etherscan сообщает, что газ по неудавшимся транзакциям всё равно списывается из-за затраченных вычислений, а в документации Solana по комиссиям сказано, что при сбое транзакции комиссия всё равно взимается.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>Чтобы понять, какой у вас случай, найдите хеш или подпись транзакции в блокчейн-эксплорере. Если через несколько минут записи нет, обычно это значит, что транзакция так и не попала в блок и ничего не стоила; статус Pending означает, что её ещё не включили. Запись со статусом Failed или Reverted либо с ненулевым кодом выхода означает, что транзакция попала в блок и комиссия списана.\u003C\u002Fp>\n\n\u003Ch2>Какие ошибки EVM означают «nonce too low», «underpriced» или «out of gas»?\u003C\u002Fh2>\n\n\u003Cp>Это точные строки из исходного кода клиента go-ethereum, и большинство из них означает, что транзакцию отклонили до попадания в блок.\u003C\u002Fp>\n\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\u003Cth>Точный текст ошибки\u003C\u002Fth>\u003Cth>Что это значит\u003C\u002Fth>\u003Cth>Списана ли комиссия сети?\u003C\u002Fth>\u003Cth>Что делать\u003C\u002Fth>\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>«nonce too low»\u003C\u002Ftd>\u003Ctd>Транзакция с таким номером уже подтверждена; состояние кошелька устарело\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003Ctd>Синхронизируйте кошелёк заново и проверьте эксплорер; отправляйте повторно, только если нужное действие ещё не выполнено\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«replacement transaction underpriced»\u003C\u002Ftd>\u003Ctd>При ускорении или отмене надбавка к комиссии оказалась слишком маленькой\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003Ctd>Увеличьте надбавку; по умолчанию Geth требует 10%\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«max fee per gas less than block base fee»\u003C\u002Ftd>\u003Ctd>Ваша максимальная комиссия ниже текущей базовой\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003Ctd>Повысьте максимальную комиссию\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«insufficient funds for gas * price + value»\u003C\u002Ftd>\u003Ctd>Нативной монеты не хватает на сумму плюс максимальный газ\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003Ctd>Пополните нативную монету; см. \u003Ca href=\"\u002Fblog\u002Fstuck-tokens-no-gas-token-how-to-fix\">токены есть, а токена для газа нет\u003C\u002Fa>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«already known»\u003C\u002Ftd>\u003Ctd>Та же транзакция уже находится в мемпуле\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003Ctd>Подождите; это безвредно\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«out of gas»\u003C\u002Ftd>\u003Ctd>Выполнение превысило лимит газа; изменения отменены\u003C\u002Ftd>\u003Ctd>Да\u003C\u002Ftd>\u003Ctd>Повторите с более высоким лимитом газа\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003Ch2>Что значит «execution reverted»?\u003C\u002Fh2>\n\n\u003Cp>«Execution reverted» означает, что смарт-контракт отказался выполнять действие и отменил все сделанные им изменения. Ошибка появляется в двух моментах, и от этого зависит комиссия.\u003C\u002Fp>\n\n\u003Cp>Если она появилась в предварительной оценке кошелька перед отправкой, ничего не было отправлено и комиссия не списана. Если транзакция попала в блок, Etherscan показывает её как Fail или Reverted, и, по данным Alchemy, отправитель всё равно платит за использованный газ. Настоящая причина указана в тексте после двоеточия. Частые варианты:\u003C\u002Fp>\n\n\u003Cul>\n\u003Cli>«UniswapV2Router: INSUFFICIENT_OUTPUT_AMOUNT»: цена вышла за ваш предел проскальзывания между подписью и включением в блок.\u003C\u002Fli>\n\u003Cli>«ERC20: insufficient allowance»: разрешение на токен меньше тратимой суммы. Родственная ошибка «ERC20: transfer amount exceeds balance» означает, что у вас меньше этого токена, чем вы пытались переместить.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cp>Эти две строки ERC-20 происходят из контрактов OpenZeppelin v4; в новых версиях используются пользовательские ошибки с другими названиями.\u003C\u002Fp>\n\n\u003Ch2>Что значат коды AA в ERC-4337 и ошибки EIP-7702?\u003C\u002Fh2>\n\n\u003Cp>Аккаунты на смарт-контрактах отправляют UserOperation через \u003Ca href=\"\u002Fblog\u002Fbundler-and-useroperation-explained\">bundler\u003C\u002Fa> вместо обычной транзакции, а спецификация EIP-4337 указывает, что сообщения об ошибках EntryPoint начинаются с кода вида AA##.\u003C\u002Fp>\n\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\u003Cth>Код\u003C\u002Fth>\u003Cth>Что это значит\u003C\u002Fth>\u003Cth>Списана ли комиссия сети?\u003C\u002Fth>\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>AA21 didn't pay prefund\u003C\u002Ftd>\u003Ctd>Пеймастер не использовался, а депозита аккаунта в EntryPoint не хватает на максимальный газ\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>AA23 reverted\u003C\u002Ftd>\u003Ctd>Код валидации аккаунта отклонил операцию\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>AA33 reverted\u003C\u002Ftd>\u003Ctd>Валидация пеймастера отклонила операцию\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>AA95 out of gas\u003C\u002Ftd>\u003Ctd>Лимит газа пакета был слишком низким для операции или вложенного вызова\u003C\u002Ftd>\u003Ctd>Обычно нет; handleOps откатывается\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003Cp>Спецификация EIP-4337 требует, чтобы bundler отбрасывал операцию, симуляция которой завершается откатом, поэтому сбои валидации (AA2x и AA3x) обычно ничего не оставляют в блокчейне. Если операция включена и её основной вызов откатывается, газ всё равно оплачивается ончейн аккаунтом или пеймастером, который её спонсировал. Alchemy отмечает, что AA95 обычно означает слишком низкие лимиты газа; handleOps откатывается, поэтому повторите с более высокими лимитами газа (это параметр bundler или SDK).\u003C\u002Fp>\n\n\u003Cp>EIP-7702 добавляет одну ошибку, которую можно увидеть от узла: «in-flight transaction limit reached for delegated accounts» (пул Geth принимает для такого аккаунта только одну ожидающую исполнимую транзакцию, так что подождите её). Авторизация с неверным идентификатором цепи или nonce молча пропускается, поэтому транзакция может пройти, а делегирование не будет применено. Если вы не делегировали аккаунт осознанно, \u003Ca href=\"\u002Fblog\u002Fcheck-and-revoke-eip-7702-delegation\">проверьте и отзовите делегирование\u003C\u002Fa>: неожиданное делегирование — признак дрейнера.\u003C\u002Fp>\n\n\u003Ch2>Что значат «Blockhash not found» и «block height exceeded» в Solana?\u003C\u002Fh2>\n\n\u003Cp>«Block height exceeded» означает, что blockhash истёк, а «Blockhash not found» — что узел не распознал blockhash (обычно он истёк, иногда узел отстаёт). В обоих случаях транзакция, как правило, не была обработана. Согласно руководству Solana по подтверждению, blockhash остаётся действительным примерно 151 блок, то есть около 60–90 секунд, а истёкшую транзакцию обработать уже нельзя.\u003C\u002Fp>\n\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\u003Cth>Точный текст ошибки\u003C\u002Fth>\u003Cth>Что это значит\u003C\u002Fth>\u003Cth>Списана ли комиссия сети?\u003C\u002Fth>\u003Cth>Что делать\u003C\u002Fth>\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>«Transaction simulation failed: Blockhash not found»\u003C\u002Ftd>\u003Ctd>Blockhash слишком старый, или симулирующий узел ещё его не видел\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003Ctd>Повторите, чтобы получить свежий blockhash\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«block height exceeded» (TransactionExpiredBlockheightExceededError)\u003C\u002Ftd>\u003Ctd>Транзакция не попала в блок до истечения blockhash\u003C\u002Ftd>\u003Ctd>Нет, если только она не попала в блок незадолго до истечения; проверьте подпись\u003C\u002Ftd>\u003Ctd>Проверьте подпись в эксплорере, затем повторите\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«Transaction simulation failed: Error processing Instruction N: custom program error: 0x...»\u003C\u002Ftd>\u003Ctd>Программа предсказала сбой, например из-за проскальзывания при свопе\u003C\u002Ftd>\u003Ctd>Нет, если ошибка поймана в симуляции до отправки; если кошелёк или приложение пропускает симуляцию, транзакция может попасть в блок как Failed, и комиссия будет списана\u003C\u002Ftd>\u003Ctd>Прочитайте причину; измените проскальзывание или сумму\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«Attempt to debit an account but found no record of a prior credit.»\u003C\u002Ftd>\u003Ctd>На платящем аккаунте нет SOL вообще\u003C\u002Ftd>\u003Ctd>Нет\u003C\u002Ftd>\u003Ctd>Пополните его SOL\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>«Transaction results in an account (0) with insufficient funds for rent»\u003C\u002Ftd>\u003Ctd>После отправки на аккаунте останется меньше минимума, освобождающего от ренты\u003C\u002Ftd>\u003Ctd>Нет, если поймано в симуляции; при пропущенной симуляции транзакция может попасть в блок как Failed, и комиссия будет списана\u003C\u002Ftd>\u003Ctd>Отправьте чуть меньше; см. \u003Ca href=\"\u002Fblog\u002Fsolana-rent-reclaim-sol-token-accounts\">рента Solana\u003C\u002Fa>\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Эксплорер показывает «Failed»\u003C\u002Ftd>\u003Ctd>Транзакция попала в блок, и программа вернула ошибку\u003C\u002Ftd>\u003Ctd>Да\u003C\u002Ftd>\u003Ctd>Прочитайте журнал в эксплорере, исправьте и отправьте снова\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003Cp>Комиссии Solana всегда оплачиваются в SOL, поэтому «Insufficient funds for fee» и «insufficient funds for rent» означают, что вам нужны SOL. Простое «insufficient funds» или «custom program error: 0x1» при переводе токена означает, что у вас меньше этого токена, чем вы пытались отправить.\u003C\u002Fp>\n\n\u003Ch2>Нужно ли повышать приоритетную комиссию (priority fee) в Solana?\u003C\u002Fh2>\n\n\u003Cp>Повышайте приоритетную комиссию, только если транзакция постоянно истекает во время перегрузки сети, а не когда появляется ошибка симуляции.\u003C\u002Fp>\n\n\u003Cp>Согласно документации solana.com по комиссиям, комиссия Solana состоит из базовой комиссии 5 000 лампортов за подпись (50% сжигается, 50% достаётся валидатору) и необязательной приоритетной комиссии: цены вычислительной единицы (в микролампортах), умноженной на лимит вычислительных единиц, делённой на 1 000 000 и округлённой вверх до целых лампортов; вся она уходит валидатору. Более высокая приоритетная комиссия повышает шансы, что загруженный лидер запланирует вашу транзакцию. Она не исправляет ошибки проскальзывания, ренты или нехватки SOL, и она всё равно списывается, если транзакция попала в блок и завершилась сбоем. Если появилась ошибка симуляции, устраните причину.\u003C\u002Fp>\n\n\u003Ch2>Что значат коды выхода TON и возвращённые (bounced) сообщения?\u003C\u002Fh2>\n\n\u003Cp>Транзакция TON выполняется по фазам (хранение, зачисление, вычисления, действия, возврат), и, согласно docs.ton.org, коды выхода 0 и 1 означают успех, а любой другой — сбой. Если вычисления завершаются сбоем, фаза действий пропускается, а для входящего сообщения с возможностью возврата формируется bounce-сообщение; комиссии списываются пофазно, поэтому уже списанные ранее остаются потраченными. Комиссии оплачиваются в GRAM (ранее Toncoin; см. \u003Ca href=\"\u002Fblog\u002Ftoncoin-renamed-gram-what-changed\">что изменилось при переименовании\u003C\u002Fa>).\u003C\u002Fp>\n\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\u003Cth>Сигнал\u003C\u002Fth>\u003Cth>Что это значит\u003C\u002Fth>\u003Cth>Списана ли комиссия сети?\u003C\u002Fth>\u003Cth>Что делать\u003C\u002Fth>\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>Код выхода 13 или -14\u003C\u002Ftd>\u003Ctd>Нехватка газа на фазе вычислений\u003C\u002Ftd>\u003Ctd>Да, за использованный газ\u003C\u002Ftd>\u003Ctd>Приложите больше GRAM\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Код выхода 9\u003C\u002Ftd>\u003Ctd>Cell underflow: контракт попытался прочитать больше данных, чем содержит ячейка, часто потому, что данные не соответствуют ожиданиям контракта\u003C\u002Ftd>\u003Ctd>Да\u003C\u002Ftd>\u003Ctd>Проверьте, подходят ли данные или комментарий для этого контракта\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Код выхода 37\u003C\u002Ftd>\u003Ctd>Фаза действий: «Not enough GRAMs» для отправки исходящего сообщения\u003C\u002Ftd>\u003Ctd>Да\u003C\u002Ftd>\u003Ctd>Приложите больше GRAM\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Фаза вычислений пропущена\u003C\u002Ftd>\u003Ctd>В сообщении было слишком мало GRAM для оплаты выполнения\u003C\u002Ftd>\u003Ctd>Газ не списан; фаза хранения всё равно выполняется\u003C\u002Ftd>\u003Ctd>Отправьте с большим количеством GRAM\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Возвращённое сообщение (bounced)\u003C\u002Ftd>\u003Ctd>Получатель не смог обработать сообщение или не существует\u003C\u002Ftd>\u003Ctd>Да, комиссии списаны\u003C\u002Ftd>\u003Ctd>Стоимость возвращается за вычетом комиссий за сообщение и газ\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003Ch2>Как WATS Wallet соотносится с этими ошибками\u003C\u002Fh2>\n\n\u003Cp>WATS Wallet от Alltoscan LLC — некастодиальный кошелёк (расширение для Chrome и приложение для iOS\u002FAndroid) для сетей EVM, Solana и TON, где ключи и seed-фраза хранятся у вас. Сообщения в этом руководстве — ошибки уровня сети, определяемые самими блокчейнами, а не коды, специфичные для WATS.\u003C\u002Fp>\n\n\u003Cp>В Solana комиссии сети оплачиваются в SOL, поэтому строка про «insufficient funds» для Solana применима напрямую: небольшой остаток SOL позволяет её избежать. Строки про TON описывают ошибки на уровне протокола; в WATS Wallet комиссии в TON оплачиваются в ATS. В сетях EVM WATS Wallet взимает комиссии сети в ATS через пеймастер ERC-4337 с единого баланса ATS в BNB Chain; о том, \u003Ca href=\"\u002Fats-fee\">как работает комиссия ATS\u003C\u002Fa>, рассказано отдельно.\u003C\u002Fp>",[10,13,16],{"q":11,"a":12},"Теряю ли я деньги, если криптотранзакция не прошла?","Это зависит от того, когда произошёл сбой. Если транзакцию отклонили до включения в блок (ошибки симуляции, узла или мемпула, такие как «nonce too low», «replacement transaction underpriced» или «Blockhash not found»), она не попала в блок и комиссия сети не списана. Если она попала в блок и завершилась сбоем (откат или нехватка газа в EVM, «Failed» в эксплорере Solana, ненулевой код выхода в TON), комиссия за выполненную работу списана, но сумма, которую вы пытались отправить, остаётся на вашем аккаунте, а при возврате (bounce) в TON стоимость возвращается за вычетом комиссий. Проверьте хеш или подпись в эксплорере, чтобы понять, какой у вас случай.",{"q":14,"a":15},"Почему кошелёк пишет «nonce too low», хотя ожидающих транзакций у меня нет?","Nonce — это счётчик транзакций аккаунта, а «nonce too low» означает, что транзакция с таким номером уже подтверждена. Частые причины: использование того же аккаунта из другого приложения-кошелька или с другого устройства, «зависшая» транзакция, которая на самом деле подтвердилась, либо устаревшее кэшированное состояние кошелька. Проверьте в эксплорере, прошёл ли нужный вам платёж или действие; если прошёл, не отправляйте повторно; если нет, синхронизируйте кошелёк заново и отправьте снова. Сама отклонённая попытка комиссию не стоила. Если транзакция действительно ожидает подтверждения, посмотрите, \u003Ca href=\"\u002Fblog\u002Fspeed-up-or-cancel-stuck-transaction\">как ускорить или отменить ожидающую транзакцию\u003C\u002Fa>.",{"q":17,"a":18},"Безопасно ли повторять отправку после «block height exceeded» или «Blockhash not found» в Solana?","Как правило, да. «Block height exceeded» означает, что blockhash истёк (примерно 151 блок, около 60–90 секунд), а «Blockhash not found» — что узел его не распознал, обычно потому, что он истёк. Истёкшую транзакцию обработать уже нельзя, поэтому она не может позже попасть в блок и продублировать новую; всё же сначала найдите подпись в эксплорере Solana, а затем повторите со свежим blockhash. За истёкшую попытку комиссия не списывалась, если только она не попала в блок до истечения, что покажет поиск в эксплорере, а умеренно более высокая приоритетная комиссия может помочь, если транзакция продолжает истекать во время перегрузки.",1792535151288]