Ситуация «TxID не найден в блокчейне» выглядит тревожно, но сама по себе ещё не доказывает ни потерю криптовалюты, ни успешную отправку. Сначала нужно установить, что именно вы ищете: настоящий сетевой идентификатор транзакции, внутренний номер вывода на бирже, ID заявки обменника, номер P2P-ордера или ссылку, которую интерфейс назвал transaction ID. Только сетевой хэш можно независимо проверить в блокчейн-обозревателе. Если сервис ещё не сформировал и не передал транзакцию в сеть, публичного TxID может не существовать.
Правильная диагностика строится в обратном порядке: источник операции → статус у отправителя → выбранная сеть → сетевой хэш → независимый обозреватель или RPC → адреса и сумма → статус получателя. Ошибка большинства пользователей — начинать со случайного обозревателя и вставлять туда любую длинную строку. В результате появляется Not Found, хотя строка относится к другой системе либо транзакция была создана в другой сети.
Эта инструкция посвящена именно случаю, когда хэш не находится. Если TXID уже открывается и нужно прочитать его поля, статус, адреса, токен и подтверждения, используйте отдельный материал о том, как проверить транзакцию по TXID. Здесь задача другая: понять, почему публичная запись отсутствует, где искать правильный идентификатор и какие действия безопасны до повторной отправки.
| Что вы видите | Что это чаще означает | Первое действие |
|---|---|---|
| Биржа показывает Processing, TXID нет | Вывод ещё обрабатывается внутри сервиса | Не отправлять повторно; проверить статус и ограничения вывода |
| TXID есть, explorer пишет Not Found | Неверная сеть, не тот идентификатор, задержка индексации или транзакция не известна этому узлу | Сверить сеть и открыть независимый источник |
| В истории есть Order ID / Withdrawal ID | Внутренний идентификатор сервиса | Найти отдельное поле TxID/Hash/Explorer |
| Хэш раньше открывался, затем исчез | Возможна замена, drop из mempool, reorg или проблема индексатора | Проверить адрес отправителя, nonce/inputs и другой узел |
| Получатель не видит деньги, TXID найден | Сетевой перевод и внутреннее зачисление — разные стадии | Проверить confirmations, minimum, memo/tag и статус депозита |
| Публичного TXID нет у внутреннего перевода | Операция могла пройти внутри базы биржи без on-chain транзакции | Проверить internal transfer record |
Короткий ответ: что означает «TXID не найден»
Сообщение «транзакция не найдена» означает только одно: выбранный обозреватель или узел не смог вернуть запись по переданному идентификатору в той сети и в том состоянии данных, которое он обслуживает. Причин много. Хэш мог быть ошибочным, относиться к другой сети, ещё не быть переданным в публичную сеть, быть известным только локальному кошельку, исчезнуть из mempool после замены или истечения либо временно не индексироваться конкретным обозревателем.
Поэтому нельзя делать два противоположных вывода. Нельзя считать, что деньги потеряны только потому, что один explorer не нашёл TXID. И нельзя считать, что перевод выполнен только потому, что биржа или контрагент показали длинную строку. Доказательством on-chain операции служит независимая запись в правильной сети, где совпадают отправитель, получатель, актив, сумма и статус.
Самый важный практический вопрос — был ли вообще выполнен broadcast. У кастодиальной биржи нажатие «Вывести» сначала создаёт внутреннюю заявку. Сервис может проводить 2FA, risk review, Travel Rule, whitelist delay, AML-проверку, агрегировать выводы или ждать ручного подтверждения. До формирования сетевой транзакции TXID может отсутствовать. Именно поэтому статус Processing нельзя путать с Pending in blockchain.
| Термин | Где существует | Можно ли искать в explorer |
|---|---|---|
| TXID / transaction hash | В блокчейн-транзакции | Да, в правильной сети |
| Withdrawal ID | В базе биржи | Обычно нет |
| Order ID | Биржа, P2P, обменник | Нет |
| Payment ID / Reference | Внутренний платёжный процесс | Не обязательно |
| Explorer URL | Ссылка на публичную запись | Да, но проверьте домен и сеть |
| Nonce / sequence | Параметр аккаунта/транзакции | Не является TXID |
Сначала различите сетевой хэш и внутренний ID
У одного вывода может быть несколько идентификаторов одновременно. Например, биржа создаёт заявку, назначает ей внутренний withdrawal ID, затем после проверки формирует on-chain транзакцию с отдельным hash. Пользователь часто копирует первый попавшийся номер и вставляет его в обозреватель. Если длина и формат похожи на хэш, ошибка не всегда очевидна.
Сетевой TXID создаётся по правилам конкретного блокчейна. В EVM-сетях это обычно 32-байтовый хэш в шестнадцатеричном виде с префиксом 0x. В Bitcoin TXID выглядит иначе и связан с сериализованной транзакцией. В Solana роль идентификатора выполняет первая подпись транзакции в base58. В TON пользователь может столкнуться с message hash, transaction hash, trace и различиями интерфейсов. Универсального визуального формата для всех сетей нет.
Поэтому проверка начинается не с длины строки, а с контекста. Откройте детали вывода у исходного сервиса и найдите подпись поля: TxID, Tx Hash, Transaction Hash, Blockchain Transaction, Explorer или аналог. Если есть только Order ID, Request ID, Reference или Ticket ID, публичная транзакция может ещё не существовать. В спорной ситуации сохраните оба идентификатора, но не называйте внутренний номер TXID.
| Пример подписи поля | Вероятная природа | Что делать |
|---|---|---|
| TxID / Tx Hash | Сетевой идентификатор | Проверить сеть и explorer |
| Withdrawal ID | Запись биржи | Использовать в обращении в поддержку |
| Order ID | Ордер покупки/продажи/P2P | Не искать в блокчейне |
| Transfer ID | Может быть внутренним переводом | Уточнить, on-chain ли операция |
| Explorer | Ссылка на публичный обозреватель | Проверить домен, сеть и данные |
| Status: Processing без hash | Внутренняя стадия | Ждать/проверять правила сервиса |
Когда биржа ещё не отправила транзакцию в блокчейн
Для кастодиального сервиса вывод — это не мгновенный вызов блокчейна. Сначала система проверяет доступность актива, сеть, лимиты, адрес, memo/tag, безопасность аккаунта и внутренние ограничения. После смены пароля, 2FA или адреса вывода может действовать временная блокировка. Для крупных сумм возможна дополнительная проверка. Пока этот процесс не завершён, у пользователя есть заявка на вывод, но нет сетевой транзакции.
Это принципиально отличает статус биржи от статуса блокчейна. Надпись Pending в интерфейсе сервиса может означать «мы ещё не отправили», тогда как Pending в explorer означает «узел знает транзакцию, но она ещё не включена в финальное состояние». Если explorer ничего не находит, а биржа пишет Processing, сначала изучают внутренний статус. Повторный вывод в этот момент опасен: первый может выйти в сеть позже, и пользователь отправит сумму дважды.
После фактической отправки многие сервисы показывают hash и ссылку на explorer. Если статус изменился на Completed, но hash отсутствует, зафиксируйте экран, точное время, актив, сеть, адрес и номер заявки. Это нормальный повод для поддержки. Не соглашайтесь на просьбу «для поиска перевода» передать seed-фразу, private key или коды 2FA: эти данные не нужны для поиска публичной транзакции.
| Статус сервиса | Сетевой TXID может быть? | Риск повторной отправки |
|---|---|---|
| Created / Submitted | Может ещё отсутствовать | Высокий |
| Security review | Часто отсутствует | Высокий |
| Processing | Может отсутствовать или уже формироваться | Высокий |
| Broadcast / Sent | Обычно должен появиться | Средний: сначала проверить сеть |
| Completed | Обычно доступен hash или подтверждение внутреннего перевода | Не повторять без диагностики |
| Canceled / Rejected | Сетевой TXID может не появиться | Проверить возврат внутреннего баланса |
Неправильная сеть — самая частая причина Not Found
Одинаковый актив может существовать в нескольких сетях. USDT встречается в TRON, Ethereum, TON и других инфраструктурах. Адрес 0x может работать сразу в нескольких EVM-сетях, но это не означает, что один explorer видит транзакции другой сети. Если EVM-хэш вставить в обозреватель не той chain, результатом обычно будет отсутствие записи.
Особенно легко ошибиться, когда интерфейс кошелька показывает только название токена, а сеть спрятана глубже. Пользователь видит USDT и автоматически открывает Tronscan, хотя вывод был выполнен через ERC-20, либо открывает Etherscan для BNB Smart Chain. Сначала восстановите маршрут: какая сеть была выбрана при отправке, какой network fee списан, какой формат адреса использован и что указано в деталях операции.
Перед новой отправкой полезно сверить сеть по инструкции как проверить сеть перед переводом USDT. Если перевод уже сделан, используйте сеть как ключ к поиску: один и тот же hash проверяйте только там, где могла существовать транзакция. Не вводите адрес или hash в случайные универсальные сервисы, которые требуют подключить кошелёк.
| Признак | Что проверить |
|---|---|
| Адрес начинается на 0x | Это не доказывает Ethereum: уточните chain ID/название сети |
| Адрес TRON начинается с T | Проверьте, что вывод был именно TRC20 |
| TON-адрес выглядит иначе | Уточните TON mainnet и тип актива/jetton |
| Solana base58-адрес | Ищите signature в Solana-инструментах |
| Биржа показывает network fee | Сопоставьте комиссию и выбранную сеть |
| Explorer ничего не находит | Не меняйте сеть наугад: восстановите параметры отправки |
Ошибка копирования TXID: пробелы, сокращение и подмена
Хэш нужно копировать полностью. Интерфейсы часто сокращают строку: показывают первые и последние символы, а середину заменяют многоточием. Такой визуальный фрагмент годится для сравнения, но не для поиска. Скриншот тоже не заменяет текстовый TXID: распознавание может перепутать символы, а часть значения может быть скрыта.
Проверьте начало и конец строки, отсутствие пробелов и переводов строк, корректный формат и источник копирования. В EVM-хэш должен быть полным 0x-значением нужной длины. В Solana signature длинная и чувствительна к любой замене символа. Если копируете из мессенджера, убедитесь, что приложение не вставило невидимые символы.
Отдельный риск — вредоносная подмена буфера обмена. Поэтому для спорного TXID сравните его хотя бы в двух местах: карточка вывода и официальная ссылка explorer либо локальная история кошелька и независимый обозреватель. Сохраняйте не только hash, но и адреса и время — это позволяет восстановить операцию даже при ошибке в строке.
| Ошибка | Как выглядит | Исправление |
|---|---|---|
| Сокращённый hash | 0x1234…abcd | Открыть детали и скопировать полное значение |
| Лишний пробел | Explorer пишет invalid/not found | Вставить в простой текст и очистить |
| Скопирован Order ID | Формат похож, но сеть не знает | Найти поле TxID/Hash |
| Скриншот вместо текста | Опечатка при ручном вводе | Получить текстовую строку |
| Подмена буфера | Хэш/адрес не совпадает с карточкой | Сверить в независимом источнике |
| Не тот символ | Один знак отличается | Повторно скопировать из первичного интерфейса |
Ethereum и EVM: чем «не найдено» отличается от pending
В EVM-сетях RPC-метод получения транзакции по hash может вернуть объект либо null. Если транзакция известна узлу и находится в ожидании, у неё обычно ещё нет номера блока, но сам объект может быть доступен. Receipt появляется после включения и исполнения; у pending-транзакции receipt отсутствует. Поэтому «transaction exists, receipt null» и «transaction itself null» — разные состояния.
Когда explorer пишет Not Found, возможны четыре базовых сценария. Первый: транзакция ещё не была broadcast. Второй: вы смотрите другую EVM-сеть. Третий: локальный wallet когда-то создал и показал hash, но транзакция не распространилась или была вытеснена из mempool. Четвёртый: конкретный RPC/indexer не видит запись, хотя другой источник её знает. Для диагностики сравнивают минимум два независимых источника.
Если hash найден, но blockNumber отсутствует, проблема уже не «TXID не найден», а pending. Тогда смотрят nonce, fee, замену и состояние предыдущих транзакций аккаунта. Если же hash не найден нигде, сначала проверяют sender address и nonce: возможно, по этому nonce уже существует другая транзакция. Это особенно важно после Speed Up или Cancel.
| EVM-результат | Интерпретация |
|---|---|
| Transaction object есть, blockNumber null | Транзакция известна, но pending |
| Transaction receipt null, transaction object есть | Ожидается включение/исполнение |
| Transaction object null в одном RPC | Проверить другой RPC/explorer |
| Transaction object null везде | Не broadcast, dropped/replaced, wrong chain или неверный hash |
| По sender+nonce найден другой hash | Операция могла быть заменена |
| Hash найден в другом chain | Изначально была выбрана неверная сеть для поиска |
EVM: replacement, speed up, cancel и nonce
EVM-аккаунт использует последовательный nonce. Если пользователь отправил транзакцию, а затем нажал Speed Up, кошелёк как правило формирует заменяющую операцию с тем же nonce, но с повышенной комиссией. При Cancel применяется похожая идея: новая транзакция с тем же nonce конкурирует со старой. После принятия замены старый hash может перестать быть актуальным для результата.
Некоторые обозреватели сохраняют сведения о заменённой транзакции, другие показывают dropped/replaced, а часть RPC-узлов может больше не возвращать её как текущую запись. Поэтому при исчезнувшем hash полезно не искать его бесконечно, а открыть историю адреса отправителя и найти транзакцию с тем же nonce. Сравните время, to, value и новую комиссию.
Не создавайте третью и четвёртую попытку вслепую. Цель диагностики — понять текущее состояние nonce. Если другой hash уже включён в блок, старый не исполнится как отдельная операция с тем же nonce. Если ни одна версия не известна сети, кошелёк может позволить сформировать корректную новую отправку, но только после проверки баланса, nonce и предыдущих операций.
| Сценарий | Что искать |
|---|---|
| Нажали Speed Up | Новый hash с тем же nonce |
| Нажали Cancel | Replacement-транзакцию с тем же nonce |
| Старый hash исчез | Историю sender address по nonce |
| Две транзакции с одним nonce | Какая фактически включена в блок |
| Ни одна не найдена | Состояние nonce у сети и локальную очередь кошелька |
| Предыдущий nonce завис | Он может блокировать последующие отправки |
Bitcoin: TXID, mempool и локально созданная транзакция
В Bitcoin TXID вычисляется из транзакции. Кошелёк способен сформировать подписанную транзакцию и знать её TXID ещё до того, как она успешно разойдётся по сети. Если broadcast не состоялся из-за отсутствия соединения, политики узла, конфликта входов или другой причины, публичные обозреватели могут ничего не найти.
Если транзакция попала в mempool, узлы могут возвращать сведения о ней по TXID. Но mempool не является вечным глобальным реестром: разные узлы имеют собственные пулы, политики и лимиты. Низкооплачиваемая или конфликтующая транзакция может исчезнуть из конкретного mempool. При RBF новая версия, расходующая те же inputs, может заменить старую. Поэтому отсутствие в одном explorer не доказывает отсутствие во всей сети.
Диагностика Bitcoin строится вокруг inputs. Если старый TXID не находится, посмотрите адрес и UTXO и выясните, были ли эти выходы потрачены другой транзакцией. Если да, найдите новый TXID. Если inputs всё ещё свободны и кошелёк считает отправку неуспешной, повторная отправка возможна только после понимания исходной raw transaction и состояния UTXO — особенно если сумма значительная.
| Bitcoin-ситуация | Что означает |
|---|---|
| TXID известен кошельку, explorer не видит | Возможен локальный creation без успешного broadcast |
| TXID есть в mempool | Транзакция известна узлу, но не подтверждена |
| Старый TXID пропал, inputs потрачены | Ищите replacement/conflict |
| Inputs свободны | Старая версия могла не закрепиться в сети |
| Низкая fee | Возможна длительная задержка или eviction по политике узлов |
| Один explorer не видит | Проверьте другой источник или собственный узел |
TRON и USDT TRC20: transaction ID и token transfer
В TRON пользователь обычно работает с transaction ID, а USDT TRC20 является токеном смарт-контракта. Поэтому в explorer важно различать саму транзакцию и событие Token Transfer внутри неё. Если транзакция существует, но пользователь ищет по адресу токена, получателю или неправильному идентификатору, интерфейс может не привести к нужной карточке.
Если биржа говорит, что USDT отправлены по TRC20, проверьте сеть TRON, полный transaction ID и адрес получателя. Затем в карточке смотрят success/failure и token transfer. Если txid не существует в Tronscan и других источниках TRON, а статус биржи ещё Processing, наиболее вероятно, что on-chain отправка не завершена либо скопирован внутренний ID.
Не пытайтесь исправлять ситуацию переводом TRX на неизвестный адрес «для активации» по просьбе сторонней поддержки. Комиссия и ресурсы TRON важны для исходящей транзакции из собственного кошелька, но они не объясняют отсутствие уже заявленного TXID у кастодиальной биржи. Для проверки адреса и сети используйте данные самой операции и проверку USDT-кошелька перед переводом.
| Что проверять в TRON | Почему важно |
|---|---|
| Полный transaction ID | Именно его ищет explorer |
| TRON mainnet | Не путать с другой сетью |
| Contract USDT | Убедиться, что transfer относится к нужному токену |
| To address | Сверить с депозитным адресом |
| Result/status | Успешность транзакции |
| Token Transfer event | Подтверждает фактическое движение TRC20 |
Solana: signature, recent status cache и история
В Solana идентификатором транзакции обычно служит первая подпись. RPC-метод getSignatureStatuses по умолчанию ориентируется на недавний кэш статусов; для поиска в истории используется параметр searchTransactionHistory. Это важная техническая деталь: нулевой результат конкретного RPC-вызова может означать не только отсутствие транзакции, но и ограниченный режим поиска.
Если signature не находится в популярном explorer, проверьте правильность base58-строки, кластер mainnet-beta и другой источник. Затем попробуйте найти операции по адресу отправителя или получателя. Если signature старая, сервис может иметь отличающуюся глубину истории или временные проблемы индексатора. Если транзакция новая и не находится нигде, вероятны failed broadcast, expired blockhash или ошибка отправляющего приложения.
В Solana особенно важно не смешивать «подписано локально» и «принято кластером». Клиент может сформировать и подписать транзакцию, но если valid blockhash уже истёк до успешной отправки, ожидаемой подтверждённой записи не будет. Повторное формирование создаёт новую транзакцию и, как правило, новую signature. Поэтому старый идентификатор не надо использовать как доказательство успешной отправки.
| Solana-проверка | Что учитывать |
|---|---|
| Signature | Должна быть полной base58-строкой |
| getSignatureStatuses | Без history-параметра ищет недавние статусы |
| searchTransactionHistory=true | Позволяет искать дальше в истории RPC |
| getTransaction возвращает null | Не найдено или не подтверждено на выбранном commitment |
| Expired blockhash | Подписанная операция могла не попасть в ledger |
| Повторная отправка | Может иметь другую signature |
TON: message hash, transaction hash и trace — не одно и то же
В TON одна пользовательская операция может порождать цепочку сообщений и транзакций. Интерфейс кошелька, биржи или explorer способен показать message hash, transaction hash либо trace. Пользователь копирует значение из одного интерфейса и пытается найти его в поиске другого, который ожидает другой тип идентификатора. Результат — Not Found, хотя операция существует.
Для TON полезно начинать с адреса и времени. Найдите исходящий перевод по адресу отправителя, затем откройте trace и сопоставьте связанные сообщения. Если перевод USDT в TON, отдельно убедитесь, что смотрите jetton transfer, а не только движение нативного TON. Внутри одной цепочки событий могут быть несколько технических объектов, и один хэш не обязан совпадать с тем, что показывает другой сервис.
При обращении в поддержку укажите, какой именно hash вы передаёте: transaction, message или trace. Не называйте любой идентификатор TXID без контекста. Это ускоряет диагностику и снижает риск, что оператор ищет не тот объект.
| TON-объект | Практический смысл |
|---|---|
| Transaction hash | Идентификатор конкретной транзакции аккаунта |
| Message hash | Идентификатор сообщения между контрактами или аккаунтами |
| Trace | Связанная цепочка действий одного пользовательского сценария |
| Jetton transfer | Токенное действие, которое может включать несколько сообщений |
| Address history | Надёжная точка поиска, если тип hash непонятен |
Внутренний перевод на бирже может не иметь публичного TXID
Многие платформы позволяют переводить активы между пользователями одной системы по UID, email, номеру телефона или внутреннему адресу. Такая операция может вообще не выходить в блокчейн: биржа просто меняет записи в собственной базе. Тогда требование «покажите TXID» неприменимо. Нужен internal transfer ID и подтверждение от сервиса.
Это важный сценарий для споров. Контрагент может утверждать, что «TXID не нужен, потому что перевод внутренний». Такое действительно возможно, но доказательство должно исходить из официального интерфейса площадки: статус операции, получатель или UID, сумма, время и номер transfer. Скриншот из мессенджера или нарисованная квитанция не доказывают движение средств.
Если вы ожидали on-chain перевод на свой внешний адрес, а отправитель говорит об internal transfer, проверьте, совпадает ли получатель. Внешний некастодиальный адрес не может получить внутреннюю запись биржи без сетевой транзакции. Не освобождайте товар, USDT или другие активы только по чужому скриншоту.
| Маршрут | Публичный TXID |
|---|---|
| Биржа → внешний кошелёк | Обычно нужен |
| Внешний кошелёк → биржа | Есть у отправляющей транзакции |
| Биржа → пользователь той же биржи через internal transfer | Может отсутствовать |
| P2P ордер + банковский платёж | Банковская операция не имеет blockchain TXID |
| Обменник → ваш внешний адрес | После отправки должен появиться сетевой hash |
| Кошелёк → кошелёк | Должен быть сетевой идентификатор |
Депозит и вывод: один TXID, две разные системы учёта
Даже если TXID найден и транзакция успешна, это ещё не означает, что биржа зачислила депозит. Блокчейн подтверждает движение к адресу, а биржа применяет собственные правила кредитования: минимальный депозит, количество подтверждений, memo/tag, поддерживаемый контракт токена, внутренний maintenance, Travel Rule или compliance review.
Обратная ситуация — пользователь ищет TXID депозита внутри биржи-получателя. Сетевой хэш создаёт отправляющая сторона. Если отправляли из собственного кошелька, ищите его там или по адресу отправителя. Биржа-получатель может показать deposit record, но отсутствие такой записи не отменяет существование транзакции в сети.
Поэтому диагностика «деньги не пришли» всегда делится на две части. Сначала доказывают сетевую операцию. Затем доказывают право биржи сопоставить её с аккаунтом. Подробный набор доказательств разобран в инструкции какие скрины, TXID и адреса сохранить после перевода.
| Стадия | Что является доказательством |
|---|---|
| Отправитель создал заявку | Internal withdrawal или order ID |
| Транзакция broadcast | Сетевой TXID/hash |
| Транзакция подтверждена | Explorer/RPC status, block/slot |
| Актив пришёл на депозитный адрес | To + token transfer/value |
| Биржа сопоставила депозит | Deposit record в аккаунте |
| Средства доступны | Зачисленный баланс/withdrawable status |
Мост, DEX и swap: почему у одной операции может быть несколько хэшей
Cross-chain bridge и некоторые swap-сценарии состоят из нескольких транзакций. Пользователь отправляет актив в исходной сети, затем мост подтверждает событие, после чего в целевой сети выполняется mint, release или другая операция. Один hash из исходной сети нельзя найти в explorer целевой сети. Это нормальная архитектура.
Аналогично DEX может сначала потребовать approve, затем swap. Пользователь копирует hash approve и пытается доказать им сам обмен. В сложных маршрутах появляются deposit tx, source tx, bridge message, destination tx и claim tx. Для диагностики нужно построить цепочку, а не искать единственный правильный TXID.
Если сервис показывает статус Complete, но целевой asset не появился, сначала выясните, какой этап завершён. Не подписывайте дополнительную транзакцию по ссылке из Telegram только потому, что кто-то назвал её finish bridge. Официальный интерфейс и публичные записи должны объяснять, зачем нужен следующий шаг.
| Операция | Возможные идентификаторы |
|---|---|
| DEX swap | Approve hash + swap hash |
| Bridge | Source tx + message/transfer ID + destination tx |
| Claim | Исходное событие + claim tx |
| CEX batch withdrawal | Internal withdrawal IDs нескольких клиентов + один on-chain tx |
| Aggregator | Route/order ID + одна или несколько on-chain tx |
| Cross-chain swap | Несколько сетевых hashes |
Batch withdrawal: почему биржа может объединять выводы
Кастодиальный сервис не обязан формировать отдельную транзакцию для каждой пользовательской заявки. Он может агрегировать несколько выводов и отправлять их одной сетевой транзакцией, если формат сети и внутренняя логика это позволяют. Тогда один on-chain hash связан с несколькими внутренними withdrawal records.
Для пользователя это означает, что количество выходов и сумма транзакции могут не совпадать с его заявкой один к одному. В Bitcoin batch transaction имеет несколько outputs. В токенных сетях сервис может использовать собственную схему контрактов или последовательность переводов. Главное — найти именно ваш адрес и сумму внутри публичной операции.
Если биржа предоставила hash, но в верхнем поле Value видна другая сумма, не делайте вывод о мошенничестве. Посмотрите token transfer events или outputs. Но если вашего адреса в операции нет, сохраните доказательства и обращайтесь в поддержку с withdrawal ID и hash одновременно.
| Что кажется странным | Нормальное объяснение |
|---|---|
| Сумма tx больше вашей | Batch нескольких клиентов |
| Несколько получателей | Массовая выплата |
| Value = 0 в EVM | Токен перемещается через contract event |
| Один hash у разных пользователей | Они могли входить в batch |
| Ваш адрес отсутствует | Нужна проверка: возможно, предоставлен не тот hash |
Почему транзакция могла сначала находиться, а потом исчезнуть
Если hash раньше открывался, сохраните старую ссылку, скриншот и время. Исчезновение меняет диагностику: строка, скорее всего, была валидной и хотя бы один индексатор её видел. Дальше нужно выяснить, была ли транзакция только pending или уже включалась в подтверждённый блок.
Pending-запись может исчезнуть после replacement, конфликта, eviction из mempool или истечения локальных условий. Подтверждённая транзакция обычно остаётся частью истории цепочки, но при краткой реорганизации может изменить положение или временно исчезнуть из интерфейса индексатора. Глубокие reorg для зрелых сетей редки; прежде чем делать такой вывод, проверьте другой explorer и RPC.
Отдельная причина — сбой самого обозревателя. Explorer является сервисом над блокчейном, а не самим блокчейном. Его индексатор может отставать, обслуживать неполную историю или иметь outage. Поэтому важные операции проверяют минимум двумя независимыми путями.
| Было → стало | Что проверить |
|---|---|
| Pending → Not Found | Replacement, drop, wrong RPC view |
| Confirmed → страница не открывается | Другой explorer/RPC, адрес и блок |
| Hash открывается, данные пустые | Проблема индексатора |
| Один explorer видит, другой нет | Глубина, синхронизация или индексация |
| Старый hash заменён новым | Nonce или UTXO conflict |
| Сервис сменил explorer | Сеть и формат ссылки |
Explorer не равен блокчейну: проблемы индексаторов и RPC
Блокчейн-обозреватель строит собственную базу данных и интерфейс. Он получает данные от узлов, индексирует их и добавляет удобные поля. Если индексатор задержался, поиск может временно не находить запись, хотя другой узел уже знает транзакцию. Аналогично RPC-провайдеры отличаются по глубине истории и настройкам.
Для важной диагностики используйте независимые источники одной и той же сети. В EVM можно проверить несколько explorer или JSON-RPC. В Bitcoin — другой explorer или собственный узел. В Solana — explorer и RPC с поиском истории. Не путайте независимость с количеством вкладок: пять сайтов на одном backend не дают пяти независимых подтверждений.
Если сервис сообщает о технических работах, зафиксируйте время и не создавайте повторную транзакцию только из-за временного Not Found. Сначала проверьте баланс отправителя, nonce или UTXO и официальный статус сети.
| Источник | Сильная сторона | Ограничение |
|---|---|---|
| Explorer | Удобный человекочитаемый поиск | Индексатор может отставать |
| RPC | Прямой программный запрос к узлу | Зависит от конфигурации и истории |
| Wallet history | Знает локально созданные операции | Может показывать не broadcast tx |
| Exchange history | Знает внутренний workflow | Не заменяет публичную сеть |
| Получатель | Подтверждает фактическое зачисление | Может не видеть причину сетевой задержки |
Как искать транзакцию без TXID по адресу, времени и сумме
Если правильный hash потерян, публичную транзакцию часто можно восстановить по адресу. Откройте правильный explorer и найдите адрес отправителя или получателя. Ограничьте поиск временем, активом и приблизительной суммой. Для токенов смотрите отдельную вкладку token transfers, а не только нативные transactions.
Этот метод особенно полезен после подмены внутреннего ID. Допустим, биржа показывает Completed, но пользователь скопировал Withdrawal ID. Адрес получателя известен. В истории адреса можно найти входящий transfer в нужное время и получить реальный hash. Затем его сопоставляют с суммой и отправителем.
Не используйте поиск по одному совпадающему amount как доказательство: популярные адреса получают множество одинаковых переводов. Минимальный набор совпадений — сеть, token contract при необходимости, точный адрес, сумма и временной интервал. Для спорных операций сохраните ссылку на карточку и полный hash текстом.
| Данные для восстановления | Надёжность |
|---|---|
| Только сумма | Низкая |
| Сумма + время | Средняя |
| Получатель + сеть + время | Высокая |
| Получатель + token contract + сумма + время | Очень высокая |
| Отправитель + nonce/inputs | Высокая для технической диагностики |
| Ссылка explorer + полный hash | Оптимально после нахождения |
Почему нельзя просто отправить криптовалюту ещё раз
Повторная отправка — самая дорогая ошибка при неясном TXID. Первая заявка могла ещё находиться на внутренней проверке биржи и выйти в сеть через несколько минут. В EVM старая операция могла быть заменена, но новая уже pending. В Bitcoin кошелёк мог повторно broadcast ту же транзакцию. Внутренний статус сервиса может обновляться с задержкой.
До повторной операции нужно доказать одно из двух: либо первая транзакция точно не будет исполнена, либо новая попытка является официальным replacement с понятным nonce или inputs. Сообщение одного explorer Not Found для этого недостаточно.
Если деньги критически срочны, срочность не отменяет контроль. Сначала проверьте исходный баланс, withdrawal status, правильный network, sender history и поддержку. Если после этого первая заявка отменена и средства вернулись на доступный баланс, можно формировать новую транзакцию.
| Перед повтором | Должно быть подтверждено |
|---|---|
| Биржа | Первая заявка Canceled/Rejected и баланс восстановлен |
| EVM wallet | Понятен nonce и статус replacement |
| Bitcoin wallet | Понятно состояние inputs/UTXO |
| Solana | Старая signature не подтверждена и новый blockhash нужен |
| Bridge | Проверен status всего маршрута, а не одного этапа |
| Обменник | Получено официальное подтверждение по номеру заявки |
Что отправить поддержке, если TXID не находится
Хорошее обращение в поддержку должно позволять оператору воспроизвести маршрут без доступа к вашим секретам. Укажите asset, сеть, сумму, время, адрес назначения, внутренний withdrawal или order ID, скопированный hash, текущий статус и что именно показывает explorer. Если hash не предоставлен сервисом, так и напишите.
Приложите скрин деталей операции, но скрывайте персональные данные, которые не нужны для задачи. Seed-фраза, private key, коды 2FA, пароли и резервные коды никогда не требуются для поиска транзакции. Удалённый доступ к устройству также не нужен. Если «поддержка» просит эти данные, прекратите общение и откройте официальный канал заново.
Если перевод связан с крупной суммой, храните доказательства системно: номер обращения, ответы, даты, ссылки explorer и состояние баланса. Это помогает не только решить текущий инцидент, но и восстановить последовательность событий позже.
| Что приложить | Зачем |
|---|---|
| Withdrawal/Order ID | Найти внутреннюю заявку |
| Asset + network | Выбрать правильную инфраструктуру |
| Amount | Сопоставить операцию |
| Recipient address | Найти on-chain движение |
| Время и часовой пояс | Сузить поиск |
| Hash, если есть | Проверить broadcast |
| Скрин статуса | Зафиксировать состояние интерфейса |
| Никогда не прикладывать seed/private key | Это секреты владения, не диагностические данные |
Фейковый TXID и поддельный explorer
Мошенники используют доверие к слову блокчейн. Они присылают длинную строку, скрин Success или ссылку на сайт, похожий на настоящий explorer. На поддельной странице можно нарисовать любой баланс и любое количество confirmations. Поэтому ссылку не принимают как доказательство автоматически.
Проверяйте домен explorer независимо, лучше открывая его из собственных закладок или официальной документации сети. Затем вставляйте hash вручную. Сверьте адрес получателя, token contract, сумму и время. Если получатель — вы, адрес должен совпадать полностью. Если перевод токена, убедитесь, что речь именно о нужном contract, mint или jetton.
Для P2P и продажи товара не освобождайте актив только по TXID, если ваш сценарий требует фактического получения денег или внутреннего зачисления. TXID может показывать не ту транзакцию, другой токен, другую сеть либо pending или failed операцию. Перед сделкой полезно использовать общий чек-лист проверки рисков криптоперевода.
| Красный флаг | Почему опасно |
|---|---|
| Explorer просит seed | Настоящему обозревателю секрет не нужен |
| Ссылка пришла только от контрагента | Домен может быть поддельным |
| Адрес получателя не совпадает | Это не ваш перевод |
| Токен с тем же тикером, другой contract | Поддельный актив |
| Статус failed, но скрин обрезан | Скрин скрывает результат |
| TXID не ищется в независимом explorer | Доказательство не подтверждено |
Диагностика по шагам: алгоритм от статуса до блокчейна
Шаг 1 — откройте исходный интерфейс отправителя. Зафиксируйте актив, сеть, адрес, сумму, время и статус. Шаг 2 — найдите именно сетевой TxID или Hash. Если его нет, не переходите к explorer: сначала выясните, завершён ли внутренний вывод. Шаг 3 — если hash есть, откройте правильную сеть и независимый explorer.
Шаг 4 — если hash не найден, перепроверьте строку и сеть. Шаг 5 — найдите операции по адресу и времени. Шаг 6 — для EVM проверьте nonce и возможный replacement; для Bitcoin — inputs/UTXO и mempool; для Solana — signature history; для TON — тип hash и trace. Шаг 7 — сравните второй источник.
Шаг 8 — только после этого решайте, нужен ли support. В обращении передавайте внутренний ID и публичные данные. Шаг 9 — не повторяйте отправку, пока первая операция не имеет однозначного исхода. Шаг 10 — после разрешения инцидента сохраните фактический TXID и итоговый статус.
| Шаг | Результат |
|---|---|
| 1. Источник | Понятен маршрут |
| 2. Статус | Понятно, вышла ли операция из сервиса |
| 3. Hash | Есть сетевой идентификатор или доказано его отсутствие |
| 4. Network | Выбран правильный explorer |
| 5. Address search | Можно восстановить потерянный hash |
| 6. Network-specific diagnostics | Проверены replacement, mempool, history или trace |
| 7. Second source | Исключён сбой одного индексатора |
| 8. Support | Передан полный несекретный пакет |
| 9. No blind resend | Исключён двойной перевод |
| 10. Evidence | Сохранён окончательный результат |
Сценарий: биржа пишет Completed, но TXID не находится
Это один из самых сильных поводов для проверки. Сначала убедитесь, что операция действительно on-chain. Если это internal transfer, публичного hash может не быть. Если вывод был на внешний адрес, откройте карточку операции и найдите ссылку на explorer. Скопируйте полный hash, а не внутренний withdrawal ID.
Если hash есть, но правильный explorer его не видит, проверьте другой источник той же сети и историю recipient address. Если адрес не получил никаких операций в нужное время, отправьте поддержке withdrawal ID, hash и скрин Completed. Попросите подтвердить фактический network transaction hash и время broadcast.
Не соглашайтесь на предложение «мы перезапустим транзакцию, пришлите seed для синхронизации». Кастодиальная биржа контролирует свой исходящий кошелёк и не нуждается в вашем private key. Если проблема на стороне биржи, исправление происходит в её системе.
Сценарий: кошелёк показал hash, но explorer ничего не видит
У некастодиального кошелька возможен локальный hash до успешного распространения транзакции. Проверьте соединение, выбранную сеть и историю отправителя. В EVM посмотрите nonce; в Bitcoin — состояние inputs; в Solana — свежесть blockhash и signature status. Если кошелёк предлагает Speed Up или Cancel, не нажимайте автоматически: сначала определите, знает ли сеть исходную операцию.
Если другой узел видит транзакцию, проблема в explorer. Если никто не видит, но локальная история помечает её failed или dropped, кошелёк мог не выполнить broadcast либо операция была отвергнута. Сохраните локальные данные перед очисткой приложения: после сброса часть диагностической информации исчезнет.
Если баланс исходного адреса уже уменьшился on-chain, деньги не «зависели только в приложении»: найдите транзакцию по адресу. Если on-chain состояние не изменилось, а все источники не знают hash, вероятность неуспешного broadcast значительно выше.
Сценарий: обменник дал номер заявки вместо TXID
У обменника заявка проходит несколько этапов: создана, оплачена или получена, подтверждена, обмен выполнен, выплата отправлена. Номер заявки помогает поддержке найти заказ, но не доказывает выплату в блокчейне. После отправки на ваш внешний кошелёк должен появиться сетевой hash.
Если обменник утверждает, что выплата сделана, попросите полный TXID и сеть. Затем проверьте его независимо. Если сервис отвечает только скриншотом или предлагает открыть их explorer по неизвестному домену, это плохой признак. Перед крупными операциями полезна отдельная проверка криптообменника перед обменом USDT.
Если номер заявки есть, а сервис перестал отвечать, сохраните адрес сайта, реквизиты, переписку, время, сумму и on-chain транзакцию, которой вы отправили средства обменнику. Эта информация важнее попыток угадать несуществующий TXID выплаты.
Сценарий: получатель прислал не тот TXID
Иногда ошибка добросовестная: человек копирует hash approve вместо transfer, первую транзакцию из bridge-маршрута, старую операцию похожей суммы либо внутренний ID. Проверка адреса получателя быстро выявляет проблему. Если в найденной карточке нет вашего адреса или нужного token transfer, этот hash не подтверждает расчёт.
При споре просите отправителя открыть исходную операцию и предоставить полный hash текстом. Не просите seed или доступ к кошельку. Публичной информации достаточно. Если отправитель не может найти hash, он может использовать поиск по адресу и времени.
Если речь о покупке товара или P2P, решение должно опираться на фактическое получение средств, а не на убедительность скриншота. TXID — инструмент проверки, а не магический сертификат оплаты.
Сценарий: перевод ушёл не в ту сеть или не на тот адрес
Если выяснилось, что транзакция всё-таки существует, но сеть или адрес неверны, проблема уже не в отсутствии TXID. Не создавайте новый диагностический хаос. Зафиксируйте найденный hash и проверьте, кто контролирует адрес в этой сети. Для биржи важна поддержка конкретной сети; для собственного EVM-адреса возможны иные сценарии.
Подробный разбор ошибок адреса и необратимости есть в материале что делать, если криптовалюта отправлена не на тот адрес. Здесь важно только одно: отсутствие в ожидаемом explorer иногда оказывается первым сигналом, что выбрана другая сеть. После нахождения правильной chain дальнейшие действия зависят от контроля адреса и политики получателя.
Не доверяйте специалистам по возврату, которые обещают отменить подтверждённую транзакцию за предварительную оплату. В публичном блокчейне возврат обычно требует действий контролирующей адрес стороны или специальной процедуры сервиса, а не знания секретной кнопки.
Как выстроить безопасный стандарт для будущих переводов
До отправки сохраните адрес, сеть и ожидаемый формат подтверждения. Для нового маршрута сделайте осмысленный тестовый перевод, но убедитесь, что тест выше минимального депозита получателя и действительно отражает тот же network path. После теста не ограничивайтесь надписью «успешно»: найдите TXID и убедитесь, что получатель зачислил средства.
Для крупных переводов заранее решите, какие доказательства вы сохраните: hash, адреса, скрин заявки, network, memo/tag, время и receipt. Такой журнал занимает минуты, но резко упрощает спор с биржей или обменником. Никогда не храните в нём seed-фразу и private key.
Защита кошелька важна и для диагностики: заражённое устройство способно подменять адреса и копируемые строки. Общий режим безопасности разобран в инструкции как защитить криптокошелёк от взлома и ошибок.
| До перевода | После перевода |
|---|---|
| Сверить сеть | Сохранить полный TXID |
| Проверить адрес | Открыть правильный explorer |
| Проверить memo/tag | Сверить to/from, asset, amount |
| Узнать minimum deposit | Дождаться нужного статуса |
| Понять fee и лимиты | Проверить внутреннее зачисление получателя |
| Сделать рабочий тест | Сохранить доказательства |
Как отличить сетевую ошибку от ошибки сервиса
Сетевой уровень и сервисный уровень нужно разделять даже тогда, когда интерфейс пытается объединить их в одну строку статуса. Если публичный адрес отправителя не показывает исходящего движения, а биржа всё ещё удерживает сумму в статусе обработки, проблема, скорее всего, находится до broadcast. Если транзакция подтверждена on-chain, но баланс аккаунта получателя не изменился, проблема уже после сети — в сопоставлении депозита, правилах credit или внутренней проверке.
Это разделение экономит время. Нет смысла повышать gas fee для вывода, который ещё не создан биржей. Нет смысла писать валидатору сети, если транзакция давно finalized, но exchange account не зачислен из-за missing memo. И наоборот, поддержка биржи не может ускорить чужую pending EVM-транзакцию из вашего собственного кошелька, если она уже находится в публичном mempool.
Практический способ — отметить последнюю доказанную стадию. Есть только заявка? Значит, доказан внутренний запрос. Есть hash, но нет блока? Доказан broadcast или известность узлу. Есть block и success? Доказано исполнение. Есть входящий token transfer на депозитный адрес? Доказано сетевое получение. Есть запись в аккаунте? Доказано внутреннее credit. Каждая следующая стадия требует своего набора данных.
Почему адрес отправителя иногда важнее TXID
Когда хэш неизвестен или спорен, адрес отправителя становится вторым главным ключом поиска. По его истории можно увидеть, была ли вообще исходящая транзакция в нужный момент, какой nonce использовался, какой контракт токена вызывался и куда ушла сумма. В Bitcoin вместо account nonce важнее конкретные UTXO inputs, но логика та же: ищут публичный след, который должен был возникнуть, если перевод действительно вышел в сеть.
Биржи часто отправляют с горячих кошельков, которыми пользуются тысячи клиентов, поэтому адрес отправителя сам по себе не связывает транзакцию с вашим аккаунтом. Но сочетание времени, recipient address и amount помогает найти нужную запись. Для токенов добавьте contract. Для batch withdrawal ищите ваш output или transfer event, а не общую сумму всей транзакции.
Если контрагент скрывает адрес отправителя, но утверждает, что перевод on-chain завершён, это не препятствие: настоящий TXID должен раскрывать публичные данные сам. Если TXID не существует, а отправитель не может показать ни hash, ни запись по адресу, доказательство перевода отсутствует.
Когда отсутствие TXID является нормальным состоянием
Отсутствие TXID нормально до сетевого broadcast, у некоторых внутренних переводов, при отменённой до отправки заявке и в сервисах, где сначала создаётся off-chain ордер. Оно также нормально для банковской части P2P-сделки: перевод рублей не получает blockchain transaction hash. Ошибка возникает, когда пользователь ожидает сетевую запись там, где операция ещё или вообще не должна быть on-chain.
Нормальность состояния не означает, что нужно ждать бесконечно. У сервиса должны быть понятный статус, правила обработки и официальный канал поддержки. Если заявка длительно висит без hash и срок сильно превышает обычный, зафиксируйте данные и запросите причину. Но до официального ответа не считайте деньги потерянными и не создавайте зеркальный вывод.
Для внутреннего перевода попросите официальный receipt или transfer record. Для отменённой заявки убедитесь, что баланс действительно вернулся. Для pending security review проверьте уведомления аккаунта. Каждое из этих доказательств относится к сервисному уровню, а не к блокчейну.
Когда отсутствие TXID уже является тревожным признаком
Тревожная ситуация — сервис утверждает, что внешний вывод полностью выполнен, но не даёт сетевой hash и не может показать транзакцию по адресу. Ещё сильнее сигнал, если предлагается неизвестный explorer, требуется дополнительный платёж «за публикацию транзакции» или поддержка просит seed-фразу. Для обычного on-chain вывода такие требования не нужны.
Другой красный флаг — предоставленный hash открывает транзакцию с другим получателем, активом или временем, а сервис объясняет это «техническими особенностями». Batch может объяснить общую сумму или нескольких получателей, но ваш адрес всё равно должен присутствовать в соответствующем output или token transfer. Если его нет, hash не доказывает ваш вывод.
В сомнительной ситуации прекратите новые платежи, сохраните доказательства и перепроверьте официальный канал сервиса. Не устанавливайте программы удалённого доступа и не подписывайте дополнительные транзакции, смысл которых нельзя объяснить по публичным данным.
Разбор по типу источника: кошелёк, биржа, обменник, bridge
Если источник — личный кошелёк, фокус на network state: broadcast, nonce или inputs, fee, replacement и RPC. Если источник — биржа, сначала внутренний workflow: withdrawal ID, security review, batch, фактическое время broadcast. Если источник — обменник, важны номер заявки и момент, когда сервис обязан был отправить выплату. Если источник — bridge, нужен статус обоих сетевых этапов и связующего сообщения.
Эти различия определяют и правильный вопрос поддержке. Кошельку бессмысленно писать «где мой withdrawal ID», если его модель некастодиальная. Бирже бессмысленно сообщать только hash без номера заявки, если она должна сопоставить его с аккаунтом. Bridge-поддержке недостаточно source tx, если проблема находится на destination chain. Хороший запрос всегда соответствует архитектуре маршрута.
Поэтому перед любым обращением сформулируйте одну строку: «Я отправлял [asset] из [источник] в сети [network] на [recipient], внутренний статус [status], сетевой hash [есть/нет]». Такая формулировка сразу отделяет догадки от фактов.
Чек-лист крупного перевода, если важна доказуемость
Для крупной операции заранее сохраните депозитный адрес получателя и сеть в неизменном виде. Сделайте скрин страницы, где видны minimum deposit, memo/tag и поддерживаемый asset. После отправки сохраните локальный или биржевой ID, а когда появится TXID — скопируйте его текстом. Затем откройте независимый explorer и сохраните карточку после подтверждения.
Если используется обменник, добавьте номер заявки, зафиксированный курс, реквизиты и время. Если bridge — source tx и destination tx. Если P2P — ордер и банковское подтверждение ведутся отдельно от blockchain evidence. В результате получается связная цепочка, где каждый этап можно проверить независимо.
Такой журнал особенно полезен через месяцы, когда интерфейс биржи меняется, ссылка explorer устаревает или требуется подтвердить происхождение средств. Он не должен содержать секреты. Публичные адреса и hashes достаточны для технической доказуемости, а финансовые документы — для экономического контекста.
Что происходит между нажатием Send и появлением TXID в публичной сети
Локальная сборка транзакции
Кошелёк или биржа сначала формирует данные будущей операции. В некастодиальном кошельке это адрес назначения, сумма, комиссия, nonce либо входы UTXO, а также подпись пользователя. На этом этапе приложение уже может показать внутреннюю запись в истории и даже вычислить идентификатор будущей транзакции. Но наличие такой записи ещё не означает, что хотя бы один внешний узел получил данные. Именно здесь возникает важное различие между «транзакция создана» и «транзакция опубликована». Если устройство потеряло сеть, RPC отклонил запрос или сервис остановил операцию своей политикой, локальная история может существовать отдельно от публичного блокчейна. Поэтому при Not Found всегда полезно спросить не только «какой TXID?», но и «кто и когда подтвердил broadcast?». Для биржи таким подтверждением обычно служит изменение статуса и появление explorer-ссылки; для собственного кошелька — видимость операции у независимого узла.
Передача первому узлу и распространение
После подписи клиент отправляет транзакцию одному или нескольким узлам. Первый узел проверяет базовые правила: формат, подписи, достаточность fee, актуальность nonce или входов, отсутствие очевидного конфликта. Если операция проходит локальную политику узла, он может поместить её в mempool или аналогичную очередь и распространить дальше. На этом этапе разные источники иногда видят разные картины. Один RPC уже знает hash, другой ещё нет; один explorer индексировал событие, другой отстаёт. Для пользователя это выглядит как противоречие, хотя сеть ещё не пришла к финальному состоянию. Если вы только что отправили перевод и один explorer ничего не нашёл, не спешите считать broadcast неудачным: проверьте ещё один независимый источник и историю адреса. Но если через разумный интервал никто не знает hash, а отправляющее приложение показывает ошибку, вероятность локального сбоя становится выше.
Включение в блок и финальность
Когда валидатор или майнер включает транзакцию в блок, появляется более сильное доказательство её существования. В EVM к транзакции добавляется block number и затем receipt; в Bitcoin она получает подтверждения; в Solana меняется confirmation status. Однако даже включение в блок и внутреннее зачисление получателя — не одно и то же. Биржа может ждать дополнительные подтверждения, проверять memo, минимальную сумму или риск. Поэтому правильная цепочка доказательств выглядит так: локальная заявка → публичный hash → включение в сеть → нужная глубина подтверждений → внутреннее credit. Если TXID не находится, диагностика должна установить, на каком именно переходе цепочка оборвалась. Такой подход намного точнее, чем повторное нажатие Send или попытка искать деньги по одному скриншоту.
Расширенная диагностика EVM: от nonce до состояния аккаунта
Nonce помогает найти замену даже без старого hash
Для EVM-аккаунта nonce — последовательный номер исходящей транзакции. Если вы знаете адрес отправителя и приблизительный момент операции, nonce часто позволяет восстановить историю даже тогда, когда старый hash потерян или перестал отображаться. Откройте подтверждённые операции аккаунта до и после спорного времени. Если nonce, который должен был принадлежать исчезнувшей транзакции, уже занят другой подтверждённой операцией, вероятен replacement. Если nonce всё ещё не использован, старая версия могла вообще не попасть в сеть или быть удалена из очередей. При этом важно учитывать pending state: некоторые интерфейсы показывают локальную очередь, которая ещё не совпадает с состоянием публичного узла. Сравнивайте данные нескольких RPC и не исправляйте nonce вручную, если не понимаете последствия для всех последующих операций.
Fee и base fee объясняют задержку, но не любой Not Found
Низкая комиссия способна сделать транзакцию неконкурентной и удерживать её pending, но это не универсальное объяснение ситуации, когда hash не известен ни одному узлу. Если операция действительно находится в mempool, хотя бы часть инфраструктуры должна её возвращать. Если же кошелёк показывает «ожидает», а независимые RPC возвращают null, нужно проверить, был ли успешный sendRawTransaction и не произошёл ли локальный сбой. После обновления сети или рестарта приложения некоторые кошельки могут переоценить свою локальную запись и пометить её dropped. Не нужно автоматически повышать fee через сторонний сайт: сначала найдите публичное состояние исходного hash и nonce.
Токеновый перевод может иметь value равный нулю
При переводе ERC-20 токена верхнее поле value у EVM-транзакции может быть нулевым, потому что движение токена происходит внутри вызова смарт-контракта и отражается в logs. Это важно в спорах с ошибочным TXID. Если контрагент присылает hash и показывает нулевой value, это ещё не доказывает отсутствие USDT-перевода. Нужно открыть token transfer events, сверить contract токена, from, to и amount. Но если hash вообще не находится, анализ logs невозможен — сначала надо доказать существование самой транзакции. Такая последовательность защищает от двух ошибок одновременно: не отвергать настоящий токеновый transfer из-за нулевого native value и не принимать выдуманный hash без публичной записи.
Расширенная диагностика Bitcoin: conflicts, RBF и подтверждение входов
Почему TXID может быть известен локально, но не принят сетью
Bitcoin-кошелёк может полностью собрать и подписать raw transaction, вычислить TXID и записать её в локальную историю, но отправка в peer-to-peer сеть — отдельный шаг. Если узел офлайн, политика mempool отклоняет операцию, один из inputs уже потрачен или fee ниже локального порога, транзакция не обязана стать видимой публичным обозревателям. Поэтому TXID из локальной истории — полезная, но не окончательная улика. Сначала проверьте, видит ли её другой узел. Затем посмотрите состояние inputs. Если они по-прежнему unspent, у старой версии нет подтверждённого расхода. Если один из inputs уже потрачен, найдите фактическую транзакцию-расход и сравните получателей.
RBF меняет транзакцию, а не просто «ускоряет старую»
Replace-by-Fee означает, что новая версия конфликтует со старой по входам и предлагает более привлекательные условия для включения. Пользователь воспринимает это как ускорение одной операции, но на уровне идентификаторов речь идёт о разных транзакциях с разными TXID. Старый hash может остаться в истории некоторых explorer как replaced, а может перестать показываться в обычном поиске. Если получатель просит доказательство, нужно передавать TXID фактически подтверждённой версии. Проверка по outputs особенно важна: новая версия должна сохранять ожидаемого получателя и корректную сумму с учётом change. Нельзя считать старый скрин окончательным доказательством после RBF.
CPFP не заменяет родительский TXID
Child Pays for Parent работает иначе: создаётся дочерняя транзакция, которая тратит выход неподтверждённого родителя и повышает совокупную привлекательность пакета. Родительский TXID при этом остаётся отдельным идентификатором. Если пользователь путает child TXID с исходным платежом, получатель может не увидеть ожидаемый адрес в верхнем уровне карточки. При диагностике укажите, что использовался CPFP, и сохраните оба hash. Это хороший пример общего правила статьи: один пользовательский сценарий может порождать несколько сетевых объектов. Поиск только одного «главного номера» иногда и создаёт ощущение, что транзакция исчезла.
Расширенная диагностика Solana: blockhash, signature и commitment
Recent blockhash ограничивает окно жизни транзакции
Solana-транзакция включает recent blockhash, который используется как часть механизма против повторного воспроизведения и задаёт ограниченное окно валидности. Если пользователь подписал транзакцию, но клиент слишком долго пытался отправить её или потерял соединение, blockhash может устареть. В таком случае старая signed transaction уже не станет нормальной подтверждённой операцией, а новая попытка обычно требует свежего blockhash и новой signature. Именно поэтому локально показанная подпись не всегда появляется в истории. При Not Found проверьте, была ли операция действительно accepted, а не только signed. Если приложение показывает явную ошибку expiration, повтор должен создаваться штатным интерфейсом после проверки баланса и назначения, а не копированием старых данных.
Commitment меняет смысл ответа getTransaction
Solana RPC позволяет запрашивать состояние с определённым уровнем commitment. Транзакция, которая ещё не достигла нужного уровня, может не возвращаться так, как ожидает пользователь. В интерфейсах это скрыто, но при технической диагностике важно различать processed, confirmed и finalized. Если один сервис уже показывает операцию, а другой настроен более строго или индексирует с задержкой, кратковременное расхождение возможно. Для старой операции дополнительно нужна полноценная история, потому что недавний status cache ограничен. Поэтому «null» следует интерпретировать вместе с параметрами RPC, а не как абсолютное доказательство, что signature никогда не существовала.
Адресная история помогает восстановить signature
Если signature потеряна, но известен адрес отправителя или получателя, Solana-поиск по истории аккаунта часто позволяет найти нужную операцию. Сверяйте slot, block time, token account, mint и фактическое изменение balances. Для SPL-токенов важно учитывать associated token accounts: пользователь может ожидать движение по основному wallet address, а explorer показывает отдельный token account. Это не делает перевод чужим. Но если ни основной адрес, ни token account не имеют соответствующего события, а отправляющий сервис заявляет Completed, нужно требовать от него корректную signature и объяснение маршрута.
Расширенная диагностика TON: сообщения, bounce и цепочка исполнения
Внешнее действие запускает цепочку внутренних сообщений
TON устроен так, что одна пользовательская отправка может инициировать несколько сообщений и транзакций контрактов. Для jetton transfer пользовательский кошелёк взаимодействует с контрактами, после чего возникают внутренние сообщения к получателю и служебные действия. Поэтому разные интерфейсы способны фокусироваться на разных объектах: кто-то показывает hash исходной транзакции аккаунта, кто-то message hash, кто-то trace всей цепочки. Если вставить одно значение в поиск, рассчитанный на другое, можно получить Not Found. Надёжнее открыть историю исходного адреса и привязать события по времени и сумме.
Bounce и неуспешное исполнение требуют смотреть весь trace
Сообщение в TON может быть bounceable, а неуспешная обработка способна породить возвратное действие. Пользователь видит, что отправка была инициирована, но итоговый jetton balance получателя не изменился. В таком случае одного hash недостаточно для оценки результата. Нужно проследить trace: какой контракт получил сообщение, произошло ли дальнейшее действие, был ли возврат. Если контрагент показывает только первый этап и скрывает финальный результат, доказательство неполное. Для поддержки полезно передавать адреса, время и ссылку на trace, а не спорить о том, какой идентификатор «правильнее» называется TXID.
TON и Telegram-интерфейсы повышают риск путаницы идентификаторов
Пользователь может отправлять TON или USDT через интерфейс, где рядом существуют внутренний номер операции, wallet record и публичные blockchain-ссылки. В мессенджере особенно легко копировать не тот объект или сокращённую строку. Если деньги не пришли, откройте подробности именно blockchain transfer и независимо проверьте адрес в TON explorer. Не переходите по ссылке «поддержки» из случайного чата и не вводите seed. Публичный поиск по адресу и trace не требует доступа к вашему кошельку.
Что меняется, если отправитель — крупная биржа
Hot wallet не равен вашему персональному адресу
Биржа обычно не держит для каждого вывода отдельный исходящий кошелёк. Она использует систему hot wallets, холодного хранения и внутреннего учёта. Поэтому sender address в explorer может быть незнакомым и общим для многих клиентов. Это нормально. Ваше доказательство связывает внутренний withdrawal record с конкретным output или token transfer в публичной транзакции. Если сервис делает batch, один hash может обслуживать много заявок. В поддержке поэтому полезно указывать оба уровня: withdrawal ID и TXID. Один без другого затрудняет сопоставление.
Risk review и whitelist delay происходят до сети
Безопасность биржи может останавливать вывод ещё до формирования транзакции. Новое устройство, смена 2FA, изменение пароля, добавление адреса в whitelist, подозрительная активность, крупная сумма или ручная проверка — всё это способно удерживать заявку во внутреннем состоянии. Пользователь видит уменьшение доступного баланса и считает, что монеты «ушли», хотя это только резервирование под вывод. Пока нет публичного hash, blockchain explorer ничего не обязан находить. При споре проверяйте статус заявки и уведомления аккаунта.
Completed должен интерпретироваться по правилам конкретной площадки
На большинстве платформ Completed для внешнего вывода означает, что сетевой этап выполнен и hash доступен. Но терминология сервисов различается, а internal transfer может считаться completed без публичной сети. Поэтому не полагайтесь только на слово. Откройте детали: network, destination, transaction hash, explorer link. Если внешний вывод отмечен завершённым и сервис не может предоставить публичный hash, это уже предмет предметного обращения в поддержку, а не повод бесконечно обновлять explorer.
Как документировать инцидент так, чтобы его можно было проверить позже
Фиксируйте исходные данные до изменений интерфейса
Скриншот карточки операции полезен только вместе с текстовыми данными. Сохраните withdrawal ID, полный адрес, network, asset, amount, время с часовым поясом и статус. Если hash есть, скопируйте его в текстовый файл. Интерфейс биржи может позже изменить отображение, а старые ссылки на explorer могут перестать работать. Текстовый hash и адреса остаются проверяемыми. Для юридических или комплаенс-задач дополнительно сохраняйте выписку или экспорт истории, если сервис это позволяет.
Разделяйте факты и предположения
В журнале полезно писать: «08:15 — статус Processing, TXID отсутствует» вместо «биржа потеряла перевод». Затем: «08:42 — появился hash X; explorer Y не находит»; «08:45 — второй RPC видит pending». Такая последовательность показывает, как менялось состояние, и помогает поддержке не тратить время на уже исключённые версии. Предположение «возможно wrong network» можно записать отдельно. Такой стиль особенно важен при крупных суммах, где эмоциональная переписка легко скрывает технические факты.
Не сохраняйте секреты рядом с доказательствами
Пакет доказательств часто отправляют в поддержку, бухгалтеру или юристу. Поэтому в нём не должно быть seed-фразы, private key, резервных кодов 2FA, паролей и экспортированного keystore. Эти данные не усиливают доказательство транзакции, но создают новый риск кражи. Для идентификации кошелька достаточно публичного адреса. Для идентификации операции — hash. Для связи с биржей — withdrawal ID и account-side documents. Это принцип минимально необходимого раскрытия.
Как сократить риск повторения проблемы
Проверяйте маршрут до первой крупной суммы
Лучший способ не искать исчезнувший TXID — заранее проверить, как конкретный маршрут показывает доказательства. Сделайте небольшую, но валидную тестовую операцию: сумма должна быть выше minimum deposit и использовать тот же asset, network и тип адреса. После теста найдите hash, откройте explorer и убедитесь, что получатель зачислил средства. Теперь вы знаете, где именно в интерфейсе находится TXID и сколько стадий проходит операция. Для крупной суммы повторяйте тот же маршрут, а не меняйте сеть в последний момент ради более низкой комиссии.
Сохраняйте официальные ссылки, а не ищите explorer через рекламу
Фишинговые сайты могут покупать рекламу по запросам вида «проверить TXID». Пользователь в стрессе переходит на первый результат и видит форму подключения кошелька или даже ввода seed. Настоящая проверка публичной транзакции не требует приватного доступа. Сохраните официальные explorers популярных сетей в закладки или переходите к ним из официальной документации. Для мультисетевых операций сначала определяйте сеть, затем источник данных. Это простая привычка, которая одновременно снижает риск фишинга и ошибочного Not Found.
После перевода проверяйте не только статус, но и содержание
Надпись Success полезна, но она не отвечает на вопрос, кому и что отправлено. Для токена сверяйте contract, recipient и amount. Для batch — ваш output. Для bridge — destination stage. Для биржи — внутреннее credit. Такой контроль занимает меньше минуты и позволяет обнаружить wrong network, wrong token или wrong address до того, как вы начнёте искать объяснение в поддержке. Если операция значимая, сохраните результат сразу, пока все данные под рукой.
Пять стадий одного перевода: created, broadcast, included, finalized и credited
Created: операция существует только в системе отправителя
Статус created означает, что намерение пользователя уже зафиксировано, но публичная сеть ещё может ничего о нём не знать. В бирже это заявка на вывод, в кошельке — локально собранная транзакция, в обменнике — платёжное поручение на выплату. На этой стадии могут быть известны адрес, сумма и внутренний номер, но сетевой hash не является обязательным. Если пользователь видит «создано» и одновременно пытается искать Withdrawal ID в explorer, сообщение Not Found закономерно. Главное действие — понять, завершил ли отправитель собственные проверки и состоялся ли выход операции за пределы его системы. Не нужно интерпретировать резервирование баланса как уже совершившийся блокчейн-перевод: кастодиальный сервис способен временно уменьшить доступный остаток ещё до реального broadcast.
Broadcast: сеть получила транзакцию, но блок ещё не гарантирован
Broadcast — момент, после которого хотя бы один внешний узел принял данные, а сетевой идентификатор становится практически полезным для независимой проверки. В этот момент транзакция может находиться в mempool или аналогичной очереди и ещё не иметь подтверждения. Для диагностики важно получить не просто строку hash от исходного сервиса, а увидеть её у независимого узла. Если отправитель утверждает «broadcast выполнен», но ни один источник правильной сети не знает транзакцию, требуйте уточнить фактический hash и время отправки. Возможна краткая задержка распространения или индексации, но длительное полное отсутствие записи требует объяснения. И наоборот, если второй источник уже видит pending, повторять перевод нельзя: операция существует и может быть включена позже.
Included и finalized: сетевой успех ещё не равен доступному балансу
После включения транзакции в блок, слот или подтверждённое состояние появляется сильное сетевое доказательство. Но разные сети и сервисы используют разные представления финальности. Для получателя важно не запоминать универсальное количество подтверждений, а смотреть правила конкретного депозита. Биржа может дождаться дополнительной глубины, а затем провести внутреннюю проверку. Поэтому стадия finalized должна отделяться от credited. Если перевод подтверждён в сети, адрес назначения и актив совпадают, но баланс биржи не изменился, вопрос уже переносится из слоя broadcast в слой внутреннего зачисления. В обращении нужно указывать найденный TXID и требовать проверить deposit record, а не доказывать повторно, что транзакция существует.
Credited: последняя стадия, которой нет в публичном блокчейне
Credited — решение получающего сервиса отразить актив на пользовательском балансе. Блокчейн не знает логина клиента биржи и не может подтвердить, что внутренний счёт обновлён. Публичная сеть лишь показывает, что определённый адрес получил актив. Если депозит ниже минимального порога, без memo/tag, в неподдерживаемом token contract или поставлен на compliance review, сетевой success может соседствовать с отсутствием credit. Именно поэтому для спора полезно собирать два набора фактов: публичные поля транзакции и внутренний статус аккаунта. Смешение этих уровней порождает неверные советы вроде «если explorer пишет Success, биржа обязана мгновенно показать баланс» или «если баланс ещё не появился, транзакции не было».
Если не находится именно перевод USDT: маршрут TRC20, ERC20 и TON
USDT TRC20: ищите транзакцию и токеновое событие в одной сети
Для USDT в TRON начните с записи вывода: сеть должна быть указана как TRON/TRC20, а адрес назначения — соответствовать тому, который вы дали отправителю. После появления transaction ID найдите его в инфраструктуре TRON и откройте данные о выполнении контракта. Важно убедиться, что внутри операции есть перевод именно нужного USDT, а не другого токена с похожим названием. Если transaction ID не находится вообще, сначала исключите внутренний Withdrawal ID и незавершённый статус биржи. Не пытайтесь «активировать» поиск отправкой TRX или подключением кошелька к стороннему сайту: публичный hash проверяется без приватного доступа и без дополнительных платежей.
USDT ERC20: одинаковый 0x-формат не определяет сеть
В Ethereum и других EVM-сетях адреса и hashes визуально похожи, поэтому пользователь часто ищет ERC20-перевод не там, где он произошёл. Откройте детали вывода и восстановите название network. Если сеть действительно Ethereum, проверяйте hash в Ethereum mainnet; если это Arbitrum, Base, BNB Smart Chain или другая EVM-chain, нужен соответствующий источник. После нахождения транзакции смотрите logs/token transfers: native value может быть равен нулю, хотя ERC-20 transfer состоялся. Если hash не находится ни в одной подтверждённой из деталей операции сети, переходите к sender address и nonce, а не перебирайте десятки chains наугад.
USDT в TON: проверяйте jetton transfer и связанную цепочку сообщений
В TON пользователь может видеть общий результат действия, а технически операция проходит через сообщения и контракты jetton. Если интерфейс показывает один идентификатор, а explorer не принимает его как transaction hash, найдите исходный адрес и нужный временной интервал. Откройте trace и проверьте перевод jetton к адресу получателя. Важно отделять нативный TON, который оплачивает комиссию и взаимодействия, от USDT как jetton. Если сервис заявляет успешный внешний вывод USDT, он должен быть связан с публичной цепочкой действий, которую можно проверить без seed-фразы. Отсутствие такой цепочки при статусе Completed требует обращения в официальный support.
Одинаковый тикер не позволяет искать транзакцию без network
USDT — удобный пример фундаментального правила: название актива не является координатой блокчейна. Для поиска всегда нужна пара «актив + сеть». Даже если пользователь уверен, что отправлял Tether, без network нельзя выбрать правильный explorer, оценить формат адреса и понять комиссию. Поэтому в журнале операции записывайте не «отправил 100 USDT», а «отправил 100 USDT, сеть TRON» или иной фактический маршрут. Это особенно важно при переписке с поддержкой: фраза «TXID не найден» без указания сети заставляет оператора заново задавать базовые вопросы и увеличивает риск неверного поиска.
Dropped, rejected, failed и not broadcast: четыре разных исхода
Rejected: узел или сервис не принял транзакцию
Rejected означает отказ до нормального распространения или включения. Причина может быть в некорректной подписи, уже использованном nonce, конфликтующих inputs, недостаточной комиссии по политике узла, истёкшем blockhash или внутреннем запрете биржи. У такой попытки может оставаться запись в локальной истории, но публичный блокчейн не обязан хранить её как состоявшуюся транзакцию. Для пользователя ключевой вопрос — где возник отказ. Если приложение показывает точный текст ошибки, сохраните его. Он часто информативнее, чем сам локальный hash. Не пытайтесь лечить любой reject повышением комиссии: сначала устраните конкретную причину.
Not broadcast: операция не покинула устройство или сервис
Not broadcast — более раннее состояние. Транзакция могла быть собрана и подписана, но отправка RPC не состоялась из-за отсутствия сети, сбоя провайдера, закрытого приложения или остановки внутреннего workflow. Это один из наиболее правдоподобных случаев, когда кошелёк показывает запись, а все независимые источники возвращают Not Found. Диагностика опирается на состояние адреса и последовательности: баланс, nonce либо UTXO должны показать, что публичного расхода не было. Перед повтором убедитесь, что старая версия не может внезапно быть отправлена автоматически после восстановления соединения. Некоторые приложения повторяют broadcast сохранённой signed transaction.
Dropped: сеть знала транзакцию, но она не стала частью подтверждённой истории
Dropped обычно применяют к транзакции, которая некоторое время была известна mempool или локальной очереди, но затем перестала там находиться без включения. Причины зависят от сети: replacement, конфликт, истечение, лимиты mempool, устаревший blockhash и другие условия. В этом случае фраза «раньше explorer видел, сейчас не видит» имеет значение. Сохранённый скрин или лог подтверждает, что broadcast когда-то был. Дальше ищут фактическую замену и проверяют, расходованы ли средства другим способом. Не рассматривайте dropped как автоматически безопасное разрешение отправить заново до проверки текущего состояния аккаунта.
Failed: транзакция существует в сети, но действие не выполнилось полностью
Failed принципиально отличается от Not Found. У failed-транзакции есть публичный hash, она может быть включена в блок и потребить комиссию, но смарт-контрактное действие завершилось ошибкой. В EVM token transfer при revert не происходит, хотя fee списывается. В других сетях модель ошибок отличается. Если explorer показывает Failed, не нужно продолжать искать «правильный TXID»: он уже найден. Следующая задача — прочитать причину, состояние токена и возможность безопасного повтора. Для поддержки такой hash очень полезен, потому что доказывает попытку и её сетевой результат.
Спор с отправителем или сервисом: какие доказательства считать достаточными
Доказательство должно подтверждать именно ваш маршрут
Хорошее доказательство нельзя заменить красивым скриншотом. Для внешнего блокчейн-перевода нужно показать публичную транзакцию в правильной сети, где видны ваш адрес получателя, нужный актив и сумма либо корректный token event. Если транзакция batch, должен присутствовать ваш output или transfer. Если операция bridge, нужно связать source и destination стадии. Если внутренний перевод, доказательством служит запись самой платформы о получателе и сумме. Один и тот же стандарт полезен и добросовестным сторонам: он быстро снимает спор, потому что не требует доверять словам.
Стоп-условия: когда нельзя освобождать товар, криптовалюту или услугу
Не завершайте встречное исполнение, если присланный TXID не находится независимо, адрес получателя другой, token contract не тот, статус failed, операция только pending при условии окончательного расчёта либо ссылка ведёт на неизвестный домен. Для банковского P2P действует отдельное правило: blockchain hash не доказывает поступление фиата на банковский счёт. Проверяйте фактический баланс в своём банке. Мошенническая схема часто строится на смешении разных доказательств: человеку показывают настоящий hash чужого криптоперевода или фальшивый банковский чек и требуют срочно отпустить актив.
Какие вопросы задать сервису вместо обвинения «вы потеряли деньги»
Предметный запрос ускоряет ответ. Спросите: «Подтвердите, была ли заявка фактически broadcast; укажите network transaction hash; если hash был заменён — дайте replacement; если операция internal — подтвердите тип перевода; если вывод отменён — укажите момент возврата доступного баланса». Эти вопросы привязаны к проверяемым состояниям. Поддержке проще ответить на них, чем на общий вопрос «где мои деньги». Если ответы противоречат публичным данным, приложите ссылки и временную шкалу. Не отправляйте секретные данные, даже если сотрудник просит “верификацию” через recovery phrase.
Когда фиксировать спор как отдельный инцидент
Если сумма значительная, статус менялся неоднократно, сервис дал разные hashes или операция затрагивает несколько сетей, создайте отдельный файл инцидента. В нём перечислите факты по времени, внутренние IDs, адреса и публичные ссылки. Сохраните исходные сообщения поддержки. Такой пакет помогает при эскалации внутри сервиса и не позволяет потерять контекст через несколько дней. Он также предотвращает опасную привычку пересылать всю историю кошелька: вы раскрываете только данные, необходимые для конкретной операции.
Как построить точную временную шкалу, когда TXID появляется с задержкой
Отдельно записывайте время действия пользователя и время broadcast
Время нажатия Withdraw или Send не равно времени появления транзакции в сети. Биржа может обработать заявку через несколько минут или часов; кошелёк может повторно отправить signed transaction после восстановления соединения. Поэтому в журнале должны быть как минимум две отметки: когда пользователь инициировал действие и когда публичный источник впервые увидел hash. Если сервис показывает собственное время Processing/Completed, сохраните и его. Расхождение между этими моментами помогает определить, где была задержка — внутри платформы или в сети.
Учитывайте часовые пояса и формат timestamp
Поддержка, explorer и пользовательский интерфейс могут показывать UTC, локальное время устройства или время аккаунта. Ошибка в два-три часа способна увести поиск по адресу к другой транзакции похожей суммы. Записывайте часовой пояс либо переводите все точки в единый стандарт. Если explorer показывает timestamp блока, помните, что он относится к включению транзакции, а не к моменту клика в приложении. Для спорной операции полезно сохранить и абсолютное время, и понятную локальную отметку.
Сравнивайте изменения баланса до и после каждой стадии
Баланс помогает проверить временную шкалу. У биржи сумма может перейти из available в locked/processing до blockchain broadcast. У собственного кошелька on-chain balance изменяется только после соответствующего сетевого результата, хотя UI может показывать оптимистическое состояние. У получателя внутренний баланс биржи меняется после credit, а не обязательно сразу после включения в блок. Снимки этих состояний дают дополнительную опору, когда один hash временно не индексируется. При этом не делайте вывод по одному интерфейсу: публичный адрес и независимый explorer остаются отдельным источником.
Финальная запись должна отвечать на один вопрос: где закончилась операция
Хорошая временная шкала заканчивается не набором скриншотов, а выводом: «заявка создана, broadcast не состоялся и баланс возвращён»; «hash найден, транзакция подтверждена, биржа ещё не credited»; «старый hash заменён новым с тем же nonce»; «internal transfer завершён без публичной сети». Когда стадия определена, дальнейшее действие становится очевиднее. До этого момента новая отправка только увеличивает число неизвестных. Именно поэтому последовательная фиксация времени — не бюрократия, а способ избежать двойного перевода и спорных трактовок.
Главный вывод
TXID, который не находится в блокчейне, — это не ответ, а точка начала диагностики. Сначала выясните, является ли строка настоящим сетевым хэшем и была ли операция вообще передана в сеть. Затем проверьте правильную chain, независимый источник и историю адреса. Только после этого разбирайте replacement, mempool, RPC, trace или внутренние статусы биржи.
Самое безопасное поведение при неопределённости — не отправлять сумму повторно и не раскрывать секреты. У поддержки достаточно публичных данных и внутреннего ID заявки. Если кто-то требует seed-фразу, private key или удалённый доступ якобы для поиска транзакции, это не техническая необходимость.
Хорошая диагностика заканчивается конкретным результатом: найден правильный network hash; доказано, что вывод ещё не broadcast; найден replacement; выявлен internal transfer; подтверждена ошибка сети; либо сформирован полноценный пакет для официальной поддержки. Именно такой результат позволяет принимать следующее решение без гаданий.