Кошельки

Как выгрузить историю криптокошелька без передачи seed-фразы

Пошагово собираем историю обычных транзакций, внутренних операций и переводов токенов по публичному адресу, не раскрывая seed-фразу и приватный ключ.

Как выгрузить историю криптокошелька без передачи seed-фразы

История обычного некастодиального криптокошелька доступна по публичным адресам. Для выгрузки не нужны seed-фраза, приватный ключ, пароль приложения или подпись сообщения. Достаточно знать адрес, выбрать правильную сеть и получить записи из обозревателя блокчейна либо его API.

Главная трудность не в доступе, а в полноте. Одна таблица обычных транзакций может не включать внутренние операции, переводы ERC-20, NFT и действия в других сетях. Поэтому безопасная выгрузка начинается с перечня адресов и сетей, а заканчивается сверкой итогов. Если нужен только контроль остатков, проще сначала создать watch-only портфель.

Что подготовить перед выгрузкой

Запишите все публичные адреса, которые относятся к отчёту. Один кошелёк может показывать несколько аккаунтов, а одна seed-фраза способна порождать множество адресов. Кроме того, одинаковый адрес формата 0x может использоваться в Ethereum, Arbitrum, Base и других EVM-сетях, но история в каждой сети отдельная.

Определите период и цель выгрузки. Для личного архива достаточно сохранить полную историю. Для бухгалтерии или налогового расчёта могут потребоваться часовой пояс, стоимость активов на момент операции, классификация переводов между собственными адресами и документы централизованной биржи. Ончейн-выгрузка содержит факты блокчейна, но сама по себе не знает экономический смысл операции.

Создайте отдельную папку и понятную схему имён: сеть, адрес, тип операций и даты. Исходные CSV лучше сохранить без редактирования, а очистку и объединение делать в копиях. Так можно повторить расчёт и доказать, откуда взялась каждая строка.

Как экспортировать историю через обозреватель

Откройте официальный обозреватель нужной сети вручную или через проверенную закладку. Вставьте публичный адрес в поиск и убедитесь, что страница помечена как Address, а не Token или Contract. Проверьте первые и последние знакомые операции, чтобы исключить ошибку в адресе или сети.

В EVM-обозревателях история обычно разделена на вкладки. Transactions содержит внешние транзакции, отправленные аккаунтом или адресованные ему. Internal Transactions отражает перемещения нативной монеты, вызванные исполнением контрактов. Token Transfers показывает события переводов токенов, а отдельные вкладки могут содержать NFT. Для полной картины выгружайте каждый относящийся к адресу тип данных.

Кнопка CSV Export может находиться внизу списка или в меню выгрузки. Выберите диапазон дат и сохраните файл. Ограничения по числу строк и периоду зависят от обозревателя и могут меняться. Если запись обрезана, разбейте период на месяцы или кварталы, не допуская промежутков между диапазонами.

MetaMask в официальной справке также предлагает получать историю через соответствующий обозреватель. Это логично: кошелёк показывает операции, но публичный реестр остаётся первичным источником. Приложение не обязано хранить локальную историю после переустановки, тогда как подтверждённые транзакции продолжают существовать в сети.

Когда использовать API

API удобен для нескольких адресов, длинного периода и повторяемой выгрузки. У Etherscan-подобных сервисов разные методы возвращают обычные транзакции, внутренние операции и переводы токенов. Их результаты нужно получать отдельно, сохранять исходные ответы и объединять по хешу транзакции, адресу контракта, номеру блока и индексу события.

Ключ API не является ключом кошелька. Он даёт доступ к сервису данных и может иметь лимит запросов, но не позволяет подписывать транзакции. Тем не менее такой ключ лучше хранить вне публичных файлов. Запросы должны содержать только публичный адрес, идентификатор сети, диапазон блоков и параметры пагинации.

При постраничной загрузке проверяйте, что страницы не пропущены и последняя запись предыдущего диапазона не дублирует первую запись следующего. Сортировка только по времени бывает недостаточной: несколько событий одной транзакции имеют одинаковую временную метку. Надёжнее сохранять blockNumber, transactionIndex и logIndex, если API их возвращает.

Почему нельзя вводить seed-фразу

Seed-фраза нужна для восстановления полномочий подписи, а не для чтения публичной истории. Сервис, который просит её «для синхронизации», получает возможность вывести активы со всех связанных аккаунтов. Ни CSV-экспорт, ни налоговый отчёт, ни техническая поддержка не требуют такой передачи.

То же правило относится к приватному ключу и файлу хранилища с паролем. Подключение кошелька тоже обычно избыточно: многие портфельные и налоговые сервисы умеют импортировать адрес в режиме просмотра. Если сервис требует подпись, прочитайте точный текст и домен. Подпись может быть безопасной авторизацией, но для простой выгрузки по адресу она не обязательна. Перед любым подтверждением полезно знать, как проверять EIP-712 сообщение.

Как проверить полноту файла

Сверьте диапазон блоков и дат, число строк на вкладке обозревателя и в CSV, а также несколько случайных хешей. Отдельно проверьте операции со смарт-контрактами: строка Transactions может показывать вызов с нулевым переводом нативной монеты, хотя внутри произошёл swap и несколько переводов токенов.

Не считайте входящие токены автоматически доходом. Спам-токены может отправить любой адрес, а перевод между собственными кошельками не является продажей. Не доверяйте и названию токена без адреса контракта. Для анализа сложной операции сначала полезно прочитать события смарт-контракта.

Повторите процесс для каждой сети и каждого адреса, затем зафиксируйте дату выгрузки. Новые блоки продолжают добавляться, а некоторые обозреватели дополняют индексацию с задержкой. Для регулярного архива сохраняйте контрольную точку последнего обработанного блока и при следующем запуске добавляйте записи после неё.

Безопасный итоговый процесс

Правильный маршрут выглядит так: составить список публичных адресов и сетей, выгрузить отдельные типы операций, сохранить оригиналы, объединить копии и сверить результат по хешам и блокам. Всё это выполняется без импорта кошелька на новый сайт и без раскрытия секретов.

Если обнаружена подозрительная операция, сначала проверьте адрес получателя, события и выданные разрешения. Для активного кошелька можно отдельно проверить данные токена по контракту и отозвать опасные approvals через проверенный инструмент. Сама выгрузка остаётся чтением публичных данных и не должна создавать новую угрозу средствам.