Три адреса, которые нельзя смешивать
ОбъектЧто хранит или делаетКакой вопрос закрывает
Owner walletУправляет сообщениями и является владельцем Jetton walletКому относится баланс
Jetton masterПараметры выпуска, metadata, admin и код wallet; вычисляет wallet для ownerКакой именно Jetton проверяется
Jetton walletБаланс одного owner для одного master и логику переводовГде находится конкретный token balance
Три адреса, которые нельзя смешивать
Объект
Owner wallet
Что хранит или делает
Управляет сообщениями и является владельцем Jetton wallet
Какой вопрос закрывает
Кому относится баланс
Объект
Jetton master
Что хранит или делает
Параметры выпуска, metadata, admin и код wallet; вычисляет wallet для owner
Какой вопрос закрывает
Какой именно Jetton проверяется
Объект
Jetton wallet
Что хранит или делает
Баланс одного owner для одного master и логику переводов
Какой вопрос закрывает
Где находится конкретный token balance

Проверка начинается с master address, а не с ticker

Название, symbol, decimals и изображение могут находиться в Jetton content и повторяться у постороннего контракта. Возьмите master address из официального сайта проекта, его проверенного объявления или поддерживаемого реестра площадки и зафиксируйте mainnet. Сравнивайте весь адрес после нормальной валидации: форматы адресов TON могут выглядеть по-разному при одном account ID, но ручная замена префикса не является проверкой.

Master вычисляет wallet для конкретного owner

Стандартный master предоставляет get_wallet_address(owner_address). Результат — ожидаемый Jetton wallet для этой пары owner и master. Адрес детерминирован, но contract account может ещё не быть развёрнут, пока не получил соответствующее сообщение или токены. Самостоятельно собирать StateInit по предположению о внутреннем layout опасно: официальная документация предупреждает, что постоянные данные wallet не полностью заданы стандартом. Предпочтительный путь — get-method выбранного master.

Воспроизводимая проверка адреса

  1. 1
    Зафиксируйте сеть

    Используйте TON mainnet endpoint и не смешивайте результат с testnet или кешем другого провайдера.

  2. 2
    Подтвердите master

    Сохраните полный master address и источник, который связывает его с ожидаемым активом.

  3. 3
    Передайте owner

    Вызовите get_wallet_address на этом master с обычным wallet address владельца как аргументом.

  4. 4
    Сравните результат

    Ожидаемый адрес должен совпасть с Jetton wallet, который показывает explorer, индексатор или входящее сообщение.

  5. 5
    Прочитайте wallet data

    Если контракт развёрнут, get_wallet_data должен вернуть ожидаемые owner и master; только затем интерпретируйте balance.

Balance принадлежит wallet-контракту и использует минимальные единицы

get_wallet_data возвращает raw balance, owner, master и код Jetton wallet. Raw value нужно форматировать через Decimals токена из проверенного контекста; десятичная запятая в интерфейсе не записана в balance. Нулевой ответ ожидаемого wallet и отсутствие развёрнутого account — разные наблюдения. Индексатор также может запаздывать, поэтому для спора сохраняют endpoint, block context и полный ответ get-method.

Decision tool: что означает результат сверки
НаблюдениеВыводСледующее действие
Master доверенный; derived wallet совпал; owner/master в data совпалиМаршрут идентифицированФорматировать raw balance и проверить свежесть state
Ticker совпал, но master другойЭто другой JettonНе переводить и не добавлять его как ожидаемый актив
Wallet data указывает другого ownerПроверяется чужой wallet-контрактПовторить derivation с собственным owner
Wallet data указывает другой masterWallet не принадлежит выбранному JettonОстановить обработку и проверить отправителя
Derived address правильный, account ещё не развёрнутБаланс нельзя доказывать metadata карточкиПроверить историю сообщений и не отправлять большой тест
Decision tool: что означает результат сверки
Наблюдение
Master доверенный; derived wallet совпал; owner/master в data совпали
Вывод
Маршрут идентифицирован
Следующее действие
Форматировать raw balance и проверить свежесть state
Наблюдение
Ticker совпал, но master другой
Вывод
Это другой Jetton
Следующее действие
Не переводить и не добавлять его как ожидаемый актив
Наблюдение
Wallet data указывает другого owner
Вывод
Проверяется чужой wallet-контракт
Следующее действие
Повторить derivation с собственным owner
Наблюдение
Wallet data указывает другой master
Вывод
Wallet не принадлежит выбранному Jetton
Следующее действие
Остановить обработку и проверить отправителя
Наблюдение
Derived address правильный, account ещё не развёрнут
Вывод
Баланс нельзя доказывать metadata карточки
Следующее действие
Проверить историю сообщений и не отправлять большой тест

Входящий перевод проверяют по wallet отправителя и master

Для процессинга недостаточно прочитать поле sender из уведомления и название токена. Получив Jetton wallet отправителя, приложение должно определить его master и убедиться, что сам wallet является ожидаемым для указанного owner в рамках этого master. Такая обратная сверка мешает поддельному wallet-контракту притвориться официальным Jetton только за счёт похожего payload. После проверки контракта отдельно проверяют транзакцию: successful execution, amount, destination и отсутствие bounce.

Stop-сигналы

  • источник даёт только ticker или изображение без master address;
  • derived wallet не совпадает с адресом, с которого пришло уведомление;
  • get_wallet_data возвращает другого owner или другой master;
  • интерфейс показывает formatted amount, но не позволяет увидеть raw balance и decimals;
  • сервис просит подписать неизвестное сообщение, чтобы просто показать публичные данные.

При несовпадении ничего не исправляют переводом

Сохраните owner, ожидаемый master, фактический Jetton wallet, transaction hash и ответы обоих get-method. Не отправляйте токен обратно на адрес из payload и не подписывайте approve или transfer для «активации отображения»: сначала локализуйте несовпавшее звено. Экран подписи должен соответствовать отдельному осознанному действию, а публичное чтение master и wallet data подписи не требует.

Источники

Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.

  1. TON Docs — Jetton interface TON Foundation · Проверено 20 августа 2026 г. в 09:25 GMT+5
  2. TON Docs — How to find Jetton wallet TON Foundation · Проверено 20 августа 2026 г. в 09:25 GMT+5
  3. TON Docs — How to get Jetton wallet data TON Foundation · Проверено 20 августа 2026 г. в 09:25 GMT+5
  4. TON Docs — Jettons payments processing TON Foundation · Проверено 20 августа 2026 г. в 09:25 GMT+5
Материал носит информационный характер и не является индивидуальной рекомендацией. Криптоактивы связаны с риском волатильности, технических сбоев, хищения и полной потери средств.