Token-2022 – это расширяемая программа токенов Solana, у которой базовые mint и token account дополняются специальными настройками. Их называют extensions. Они позволяют встроить в актив комиссии за перевод, hook-вызов внешней программы, конфиденциальный баланс, право постоянного делегата и другие функции. Поэтому два токена с одинаковым символом и похожей карточкой в кошельке могут вести себя по-разному.
Главная практическая особенность стандарта – функции нужно оценивать до взаимодействия. Большинство расширений нельзя просто добавить к уже созданному mint, а некоторые сочетания несовместимы. Для держателя это означает проверять не только название и адрес токена, но и его программу, набор расширений, полномочия и поддержку со стороны кошелька, DEX и других приложений.
Чем Token-2022 отличается от базовой программы токенов
В Solana действуют две основные программы для токенов: исходная Token Program и Token Extension Program, которую обычно называют Token-2022. Обе работают с mint, балансами на отдельных token accounts, переводами и полномочиями. Но Token-2022 может хранить дополнительное состояние в специальных полях расширений. Это не отдельная сеть и не новый вид SOL, а другой program ID, который исполняет операции с токенами.
Токеновый mint задаёт общие свойства выпуска: количество знаков после запятой, предложение и некоторые полномочия. Token account хранит баланс конкретного владельца. Часть функций относится именно к mint, часть – к счетам держателей. Если приложение умеет показывать обычный баланс, это ещё не доказывает, что оно корректно обрабатывает любые дополнительные правила.
Базовые понятия mint, token account и программ подробно связаны с материалом об устройстве сети Solana. Для различения полномочий выпуска и заморозки пригодится также разбор mint authority и freeze authority, а адрес счёта владельца поясняет статья про Associated Token Account.
Какие функции добавляют расширения
Набор функций зависит от конкретного mint. Transfer-fee extension удерживает комиссию при переводе и задаёт связанные полномочия: например, кто меняет параметры и кто может извлечь накопленные сборы. Комиссия не является универсальной особенностью всех токенов Token-2022. Её наличие и конкретные настройки нужно проверять у самого актива.
Transfer hook вызывает дополнительную программу при переводе. Это позволяет вводить проверки или логику, заданную эмитентом, однако добавляет зависимость от внешнего кода. Если hook-программа недоступна, настроена неверно или не поддерживается интеграцией, операция может завершиться ошибкой. Поэтому адрес hook и его поведение имеют значение не меньше, чем адрес mint.
Permanent delegate задаёт полномочие уровня mint, способное выполнять разрешённые для делегата операции с токенами на разных счетах без отдельного согласия владельцев этих счетов. Non-transferable запрещает свободную передачу актива. Confidential transfer скрывает определённые данные перевода при соблюдении правил расширения. Pausable mint даёт указанной authority возможность останавливать некоторые операции. Функции меняют модель риска: они могут быть нужны для регулируемого актива, но ограничивают свободу держателя.
Есть также расширения для metadata, группировки токенов, процентов для отображения, закрытия mint и управления состоянием token account. Наличие названия функции не заменяет чтения её полномочий: важно выяснить, кто контролирует настройки, можно ли их менять после выпуска и какие действия остаются доступными администратору.
Почему расширения надо выбирать заранее
Большинство расширений инициализируются вместе с mint или соответствующим token account. В уже созданный mint обычно нельзя произвольно дописать новую функцию. Это заставляет эмитента заранее проектировать требования актива и проверять, какие дополнительные данные потребуются счетам пользователей. Конкретная последовательность создания также важна: некоторые расширения должны быть инициализированы до базового mint.
Некоторые пары несовместимы. Например, Token-2022 не позволяет совместить Non-transferable и Transfer-fee на одном mint: их правила противоречат друг другу. Совместимость зависит от точной комбинации функций, а не от общего утверждения, что «стандарт поддерживает расширения». Разработчику следует проверять список ExtensionType и официальные правила для каждого сценария.
Владельцу токена стоит учитывать и жизненный цикл. Если расширение требует обязательных дополнительных аккаунтов, например для hook-программы, кошелёк или агрегатор должен уметь правильно построить транзакцию. Некоторые приложения могут отображать баланс, но не поддерживать переводы, свопы или выводы для конкретной конфигурации.
Как проверить Token-2022 перед использованием
Сначала найдите точный адрес mint из надёжного источника и откройте его в обозревателе. Сравните адрес посимвольно с адресом, указанным эмитентом или официальным приложением. Название, тикер и изображение не уникальны, а похожий символ можно создать отдельно. Если возникают сомнения в проверке контракта или программы, используйте общий порядок из материала о проверке исходного кода в обозревателе.
Затем выясните, какой Token Program владеет mint: исходная программа или Token-2022. Для второго случая просмотрите список расширений mint и при необходимости соответствующего token account. Зафиксируйте transfer fee, transfer hook, permanent delegate, pause authority, default account state и другие активные поля. Обратите внимание на адреса полномочий и на то, можно ли их сменить или отозвать.
До крупной операции проверьте поддержку именно этой конфигурации на стороне кошелька, биржи, DEX, моста или получателя. Начните с небольшой тестовой операции, если это безопасно и уместно, но помните: успешное отображение токена не гарантирует, что все маршруты перевода будут доступны. Если приложение не показывает расширения, не делайте вывод, что их нет.
Какие ограничения и риски учитывать
Расширения не делают актив автоматически безопасным, децентрализованным или взаимозаменяемым с любым другим SPL-токеном. Административные полномочия могут позволять менять комиссии, останавливать переводы или применять особые правила. Hook-программа создаёт отдельную поверхность отказа. Конфиденциальное расширение не скрывает всю активность кошелька: публичными могут оставаться mint, участники и сам факт транзакции.
Совместимость формируется всей цепочкой: кошельком отправителя, программой токена, hook-логикой, DEX или мостом и кошельком получателя. Перед переводом полезно проверить не только техническую возможность вызова, но и то, как платформа обрабатывает комиссии и дополнительные аккаунты. Если токен является частью регулируемого продукта, отдельно изучите условия эмитента и ограничения на использование.
Практическое правило простое: сначала проверяйте mint и его расширения, затем полномочия, затем поддержку нужного маршрута. Именно эти детали определяют, будет ли Token-2022 для пользователя обычным переводимым активом или токеном с дополнительными условиями, которые влияют на хранение, обмен и перемещение.



