[{"data":1,"prerenderedAt":41},["ShallowReactive",2],{"blog-content-ru-speed-up-or-cancel-stuck-transaction":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"howToSteps":9,"faqItems":25},"speed-up-or-cancel-stuck-transaction","Транзакция зависла в pending? Как её ускорить или отменить","Зависшая транзакция расчищается заменой на том же nonce с более высокой комиссией: ускорение отправляет её заново, отмена гасит её нулевым переводом на ваш же адрес. WATS полностью некастодиален, поэтому замену подписываете вы сами, а её комиссия платится в ATS, а не в нативной газовой монете сети.","Транзакция зависла в pending? Почему так происходит — max fee ниже базовой комиссии или разрыв в nonce, — как работают замены «ускорить» и «отменить» в EVM-сетях и как WATS платит комиссии в ATS.","\u003Cblockquote>\u003Cp>Зависшая в pending транзакция расчищается заменой: разошлите её заново с тем же nonce и более высокой комиссией — либо как \u003Cstrong>ускорение\u003C\u002Fstrong> (та же самая транзакция, но лучше оплаченная), либо как \u003Cstrong>отмену\u003C\u002Fstrong> (перевод нулевой суммы на ваш собственный адрес, чтобы nonce был израсходован чем-то безобидным). Транзакция зависает по одной из двух причин: ваша max fee ниже текущей базовой комиссии сети, либо более ранняя транзакция того же аккаунта стоит на меньшем nonce и замораживает всё, что идёт за ней. Ни один из этих ходов не гарантирован — отмена стоит газа, а более дешёвый оригинал всё равно может пройти первым, — поэтому следите за обозревателем блоков, пока одна из версий не подтвердится на этом nonce, а другая не отобразится как отброшенная или заменённая. Зависание в pending — во многом феномен EVM: в Solana транзакция просто истекает, если её не обработали примерно за минуту, а сообщения TON несут собственный срок действия, так что отменять там нечего. Любая замена — это транзакция, которую подписываете вы сами, потому что WATS полностью некастодиален и никогда не держит ключ, а сетевую комиссию WATS берёт одним токеном, ATS, вместо нативной газовой монеты каждой сети — это меняет то, каким токеном вы платите, а не то, сколько берёт сеть, так что запас в max fee по-прежнему остаётся настоящей профилактикой.\u003C\u002Fp>\u003C\u002Fblockquote>\n\n\u003Ch2>Транзакция, которая отказывается подтверждаться\u003C\u002Fh2>\n\u003Cp>Транзакция висит \u003Cstrong>в pending\u003C\u002Fstrong>, когда ни один валидатор не включает её в блок — обычно потому, что её max fee ниже текущей базовой комиссии сети, либо потому, что впереди застряла более ранняя транзакция того же аккаунта. Лекарство — замена: заново разослать тот же nonce с более высокой комиссией, либо как \u003Cem>ускорение\u003C\u002Fem> (та же транзакция, лучше оплаченная), либо как \u003Cem>отмену\u003C\u002Fem> (перевод нулевой суммы самому себе).\u003C\u002Fp>\n\u003Cp>Пока она ждёт, ничего не теряется — зависшая транзакция пока ничего вам не стоила, и средства не двигались. Но и безобидной её не назовёшь: в сетях со строгим порядком nonce, вроде Ethereum, она молча блокирует всё, что вы пытаетесь отправить после неё. Разобраться, почему, — две минуты; починить — одна.\u003C\u002Fp>\n\n\u003Ch2>Почему моя транзакция зависла в pending?\u003C\u002Fh2>\n\u003Cp>Почти за каждой зависшей транзакцией в EVM-сети стоит одна из двух причин.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Ваша max fee ниже текущей базовой комиссии.\u003C\u002Fstrong> По \u003Ca href=\"\u002Fblog\u002Feip-1559-explained\">EIP-1559\u003C\u002Fa> каждый блок устанавливает базовую комиссию, которую ваша транзакция должна как минимум перекрыть, чтобы попасть в блок. Если после вашей подписи спрос резко вырос — или оценка кошелька была впритык, а рынок сдвинулся, — транзакция ждёт в \u003Ca href=\"\u002Fblog\u002Fwhat-is-a-mempool\">мемпуле\u003C\u002Fa>, пока базовая комиссия не опустится обратно ниже вашего потолка, а это может занять минуты или не случиться вовсе.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Разрыв в nonce.\u003C\u002Fstrong> Каждый EVM-аккаунт нумерует свои транзакции строго последовательным \u003Cstrong>nonce\u003C\u002Fstrong> — 0, 1, 2 и так далее, — и валидаторы обрабатывают их по порядку. Если зависла транзакция 41, то 42-я и 43-я не подтвердятся, как бы щедро вы за них ни заплатили. Именно поэтому одна дешёвая забытая транзакция способна заморозить весь кошелёк: всё, что идёт следом, выстраивается в очередь и выглядит загадочно сломанным. Как устроена ценовая сторона от и до, разобрано в материале \u003Ca href=\"\u002Fblog\u002Fcrypto-gas-fees-explained\">как на самом деле работают комиссии за газ\u003C\u002Fa>.\u003C\u002Fp>\n\n\u003Ch2>Что на самом деле делает кнопка «ускорить»?\u003C\u002Fh2>\n\u003Cp>Ускорение — не какая-то особая функция сети, а \u003Cstrong>заменяющая транзакция\u003C\u002Fstrong>: та же самая транзакция — тот же nonce, тот же получатель, та же сумма, — разосланная заново с более высокой комиссией. Поскольку nonce можно израсходовать лишь однажды, валидаторы оставляют ту версию, которая платит больше, и отбрасывают другую. Большинство нод требует, чтобы замена подняла и max fee, и чаевые за приоритет на заметную величину — обычно порядка 10%, — иначе они игнорируют её как спам. Кнопка «ускорить» в вашем кошельке делает ровно это: подставляет исходную транзакцию, переиспользует её nonce и поднимает за вас комиссию.\u003C\u002Fp>\n\n\u003Ch2>Как работает отмена зависшей транзакции?\u003C\u002Fh2>\n\u003Cp>Отмена — тот же приём с заменой, только нацеленный на другую задачу: кошелёк отправляет \u003Cem>перевод нулевой суммы на ваш собственный адрес\u003C\u002Fem> с тем же nonce и более высокой комиссией. Если он побеждает, nonce расходуется транзакцией, которая ничего не делает, — и оригинал уже никогда не подтвердится. Две вещи обычно удивляют. Во-первых, \u003Cstrong>отмена стоит газа\u003C\u002Fstrong>: отмена — настоящая транзакция, её нужно провести в блок, поэтому вы платите за неё минимальную стоимость перевода. Во-вторых, отмена может \u003Cem>проиграть гонку\u003C\u002Fem>: если валидатор подберёт ваш оригинал раньше, чем отмена разойдётся по сети, оригинал всё равно исполнится, а отмена тихо умрёт.\u003C\u002Fp>\n\n\u003Ch2>Ускорить или отменить — что выбрать?\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\u003Ctr>\u003Cth>&nbsp;\u003C\u002Fth>\u003Cth>Ускорить\u003C\u002Fth>\u003Cth>Отменить\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>Что отправляется\u003C\u002Ftd>\u003Ctd>Та же транзакция, тот же nonce, комиссия выше\u003C\u002Ftd>\u003Ctd>Перевод нулевой суммы самому себе, тот же nonce, комиссия выше\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Когда применять\u003C\u002Ftd>\u003Ctd>Вы по-прежнему хотите, чтобы действие состоялось\u003C\u002Ftd>\u003Ctd>Вы передумали — не та сумма, не тот адрес, ошибочно выданное разрешение\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Стоимость\u003C\u002Ftd>\u003Ctd>Обычный газ транзакции по новой ставке\u003C\u002Ftd>\u003Ctd>Минимальный газ перевода по новой ставке\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>Может ли не сработать?\u003C\u002Ftd>\u003Ctd>Да — более дешёвый оригинал всё равно может пройти первым\u003C\u002Ftd>\u003Ctd>Да — оригинал может выиграть гонку и всё-таки исполниться\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>К обеим применимо одно правило: никогда не считайте замену гарантированной. Пока одна из версий не подтвердилась ончейн, существуют обе, и какая из них пройдёт, решаете не вы, а сеть. Если оригинал был опасен, следите за обозревателем, пока не увидите, какая версия подтвердилась на этом nonce (проигравшая отображается как \u003Cem>отброшенная\u003C\u002Fem> или \u003Cem>заменённая\u003C\u002Fem>), и только потом действуйте исходя из того, что его остановили.\u003C\u002Fp>\n\n\u003Ch2>Бывает ли такое в Solana или TON?\u003C\u002Fh2>\n\u003Cp>Зависание в pending — во многом \u003Cem>феномен EVM\u003C\u002Fem>, рождённый сочетанием долгоживущего публичного мемпула и строгого порядка nonce внутри аккаунта. Solana устроена иначе: каждая транзакция ссылается на недавний blockhash и просто \u003Cstrong>истекает\u003C\u002Fstrong>, если её не обработали в коротком окне — примерно за минуту, — так что отменять нечего: вы переподписываете и отправляете заново. TON отличается ещё сильнее: её сообщения несут собственный срок действия, а общего пула ожидающих транзакций в EVM-смысле там нет, поэтому танца «ускорить\u002Fотменить» тоже не существует. Если вы пришли в EVM из любой из этих сетей, эта статья — недостающая инструкция. Мультичейн-кошелёк вроде WATS охватывает оба мира — Ethereum, Arbitrum, Optimism, Base, Polygon и BNB Chain со стороны EVM, Solana и TON с другой, — поэтому стоит понимать, какой набор правил действует, прежде чем искать кнопку отмены, которой там и не могло быть.\u003C\u002Fp>\n\n\u003Ch2>Как не допускать зависших транзакций?\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Оставляйте запас в max fee.\u003C\u002Fstrong> Max fee — это потолок, а не счёт: вы всё равно платите только базовую комиссию плюс свои чаевые, поэтому щедрый потолок не стоит ничего лишнего и страхует от внезапного скачка базовой комиссии.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Не забрасывайте сеть повторами на новых nonce.\u003C\u002Fstrong> Новые попытки позади зависшей транзакции лишь выстраивают очередь, которая целиком ждёт одну и ту же пробку, — и умножают уборку, когда вы наконец её расчистите.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Чините сначала самый низкий nonce.\u003C\u002Fstrong> Если в pending висит несколько транзакций, значение имеет только самая старая; замените её — и остальные обычно расходятся сами.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Держите комиссионный токен пополненным.\u003C\u002Fstrong> Замена сама по себе транзакция, поэтому для её отправки нужен запас того токена, которым платятся комиссии в этой сети. Остаться без нативной газовой монеты сети — классический способ обнаружить, что чинить собственную зависшую транзакцию нечем; в WATS комиссионный токен — ATS во всех поддерживаемых сетях, так что следить нужно за одним балансом, а не за восемью.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Взгляните на состояние сети перед подписью.\u003C\u002Fstrong> В загруженный день оценка комиссии, которая час назад выглядела нормальной, уже может быть ниже текущей ставки.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch2>Где здесь WATS\u003C\u002Fh2>\n\u003Cp>Ничто в этой статье не привязано к конкретному кошельку так, как обычно думают. Nonce принадлежит вашему аккаунту в сети, а не приложению, которым вы подписываете, поэтому правила замены выше работают из любого кошелька. Что действительно отличается от кошелька к кошельку — это \u003Cem>чем нужно располагать, чтобы оплатить починку\u003C\u002Fem>. WATS берёт сетевые комиссии одним токеном, \u003Cstrong>ATS\u003C\u002Fstrong>, вместо нативной газовой монеты каждой сети, используя абстракцию аккаунта ERC-4337 в EVM-сетях и OFT LayerZero для омничейн-перемещения между Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana и TON. Это не скидка — сеть берёт столько, сколько берёт, и ускорение всё так же обязано перебить ставку оригинала, — но это значит, что один пополняемый баланс покрывает комиссии везде, вместо того чтобы оставить вас без хода именно в той сети, чья газовая монета случайно закончилась. Собранный ATS сжигается, уводя предложение со 100M к полу в 30M; механика описана на \u003Ca href=\"\u002Fats-fee\">странице комиссии ATS\u003C\u002Fa>. WATS — первый и единственный кошелёк, сочетающий ERC-4337 и OFT LayerZero в едином комиссионном токене, который списывается вместо нативного газа, с этим сжиганием.\u003C\u002Fp>\n\u003Cp>Вторая специфика WATS, которую стоит проговорить прямо, — это хранение ключей, потому что именно оно решает, кто вообще может что-то сделать с зависшей транзакцией. WATS полностью некастодиален во всех четырёх продуктах — Chrome Extension, мобильном приложении, Hot Wallet и NFC Metal Card. Ключи держите вы, а WATS не держит ни одного. Прямое следствие здесь такое: никто в WATS не может залезть в вашу ожидающую транзакцию и отредактировать её, и никто не может откатить уже подтверждённую. Каждое ускорение и каждая отмена — это новая транзакция, которую подписываете вы, и именно поэтому чек-лист из этой статьи стоит усвоить самому, а не делегировать.\u003C\u002Fp>\n\n\u003Ch2>Итог\u003C\u002Fh2>\n\u003Cp>Зависшая транзакция — это не потерянные деньги, а неоплаченная или заблокированная инструкция, стоящая на некотором nonce, и единственный ваш рычаг — заменить её на том же nonce лучше оплаченной. Ускоряйте, если действие вам всё ещё нужно; отменяйте нулевым переводом самому себе, если нет; чините сначала самый низкий зависший nonce; и прежде чем что-либо предполагать, убедитесь по обозревателю, какая версия действительно прошла. Если вас раз за разом подводит именно газ — не тот токен, не в той сети, не в тот момент, — установите WATS со \u003Ca href=\"\u002Fdownload\">страницы загрузки\u003C\u002Fa> и держите один баланс ATS для комиссий во всех восьми поддерживаемых сетях, оставаясь при этом единственным владельцем своих ключей.\u003C\u002Fp>",[10,13,16,19,22],{"title":11,"body":12},"Разберитесь в обозревателе блоков","Вставьте свой адрес в обозреватель блоков и откройте зависшую транзакцию. Проверьте две вещи: её nonce и её max fee относительно текущей базовой комиссии сети. Если max fee ниже базовой комиссии, транзакция недоплачена. Если в pending висит и более старая транзакция с меньшим nonce, настоящая пробка — именно она: всегда чините сначала самый низкий зависший nonce, потому что всё, что идёт за ним, стоит в очереди.",{"title":14,"body":15},"Выберите: ускорить или отменить","Решите, чего вы хотите на самом деле. Если действие всё ещё должно состояться — платёж, обмен, — выбирайте ускорение: оно заново рассылает ту же самую транзакцию с более высокой комиссией. Если вы передумали — не тот адрес, не та сумма, ошибочно выданное разрешение — выбирайте отмену: она отправляет перевод нулевой суммы самому себе с тем же nonce. Обе — заменяющие транзакции; различается только намерение.",{"title":17,"body":18},"Проведите замену","Воспользуйтесь встроенной кнопкой «ускорить» или «отменить» на зависшей транзакции — кошелёк автоматически переиспользует тот же nonce, а это та самая деталь, в которой нельзя ошибиться. Согласитесь на комиссию заметно выше исходной: большинство нод игнорирует замены, которые не поднимают и max fee, и чаевые за приоритет примерно на 10%. Задайте новую max fee с хорошим запасом над текущей базовой комиссией, чтобы замена не зависла следом.",{"title":20,"body":21},"Проверьте, какая версия подтвердилась","Следите за обозревателем, пока одна версия не отобразится как подтверждённая, а другая — как отброшенная или заменённая. Не считайте, что отмена победила: если валидатор включил оригинал первым, тот исполнился, и действия в уверенности, что его остановили, только усугубят ошибку. Оригинал окончательно мёртв лишь после того, как замена подтвердилась на этом nonce, потому что nonce нельзя использовать дважды.",{"title":23,"body":24},"Не допустите следующей","Оставляйте запас в max fee вместо голого минимума: по EIP-1559 потолок — это не счёт, ведь платите вы всё равно только базовую комиссию плюс чаевые. Никогда не отправляйте новые транзакции вслед за зависшей: они встанут в очередь по nonce и умножат последующую уборку. А перед подписью в оживлённый день взгляните на текущую базовую комиссию, чтобы ваша оценка отражала тот рынок, в который вы действительно входите.",[26,29,32,35,38],{"q":27,"a":28},"Как долго транзакция может висеть в pending?","В Ethereum нет таймаута на уровне протокола — ожидающая транзакция может ждать сколько угодно, пока её не включат в блок, не заменят на том же nonce или не вытеснят из мемпулов нод, которые отбрасывают залежавшиеся или недоплаченные транзакции, чтобы освободить память. Вытеснение — политика ноды, а не гарантия, и отброшенную транзакцию могут даже позже разослать заново. Если нужна определённость, замените её сами ускорением или отменой, а не ждите, пока она умрёт.",{"q":30,"a":31},"Стоит ли отмена транзакции газа?","Да. Отмена — настоящая транзакция: перевод нулевой суммы на ваш собственный адрес с зависшим nonce, — и комиссию платит та версия, которая подтвердится. За обе вы не платите никогда, потому что nonce расходуется только один раз: победит отмена — заплатите её минимальную стоимость перевода, победит оригинал — заплатите комиссию оригинала. Чего отмена не может вовсе, так это отменить уже подтверждённую транзакцию.",{"q":33,"a":34},"Почему у меня вдруг зависли все транзакции?","Почти наверняка это разрыв в nonce. EVM-аккаунты обрабатывают транзакции строго по порядку nonce, поэтому одна недоплаченная транзакция впереди блокирует всё отправленное после неё, как бы хорошо ни были оплачены последующие. Найдите в обозревателе блоков самый низкий ожидающий nonce и замените именно ту транзакцию ускорением или отменой с более высокой комиссией — как только она подтвердится, очередь за ней обычно расходится сама за блок-другой.",{"q":36,"a":37},"Нужен ли мне ETH, чтобы ускорить зависшую транзакцию в WATS?","WATS берёт сетевые комиссии в ATS вместо нативной газовой монеты каждой сети, поэтому замена оплачивается в ATS, а не в ETH в Ethereum или в нативной монете Polygon, BNB Chain, Solana или TON — в EVM-сетях это проходит через абстракцию аккаунта ERC-4337. Меняется то, каким токеном вы платите, а не то, сколько берёт сеть: ускорение всё так же должно перебить ставку оригинала на заметную величину, а отмена остаётся настоящей транзакцией с настоящей комиссией. Практическая выгода в том, что один пополненный баланс покрывает комиссии во всех поддерживаемых WATS сетях, так что застрять из-за закончившейся конкретной газовой монеты куда менее вероятно.",{"q":39,"a":40},"Может ли WATS отменить или откатить транзакцию за меня?","Нет — и ни один настоящий кошелёк с самостоятельным хранением тоже не может. WATS полностью некастодиален: ключи держите вы, а WATS не держит ни одного, — поэтому со стороны WATS нет никакого рычага, который дотянулся бы до вашей ожидающей транзакции или отозвал уже подтверждённую. Отмена — это не откат: это конкурирующая транзакция нулевой суммы, которую вы сами подписываете на том же nonce, и работает она только пока оригинал ещё висит в pending. Как только транзакция подтвердилась ончейн, она окончательна — из какого бы кошелька вы её ни подписали.",1786059399917]