Кальтер / Блог

Зачем в Solana создаётся token account и что означает его rent-exempt balance

Отличаем адрес кошелька от token account, разбираем ATA, rent-exempt минимум и условия закрытия пустого аккаунта.

Материал подготовлен с помощью ИИ. Источники, учебные примеры и расчёты проверены редакцией перед публикацией.

Условная схема token account Solana и его баланса; сумма не фиксируется и не выдаётся за тариф.
Условная схема token account Solana и его баланса; сумма не фиксируется и не выдаётся за тариф.

В Solana адрес кошелька и аккаунт токена — разные вещи. Кошелёк владеет SOL и подписывает операции; отдельный token account хранит баланс конкретного mint для этого владельца. Associated Token Account (ATA) — стандартно вычисляемый адрес такого аккаунта для пары owner + mint. Поэтому первый перевод токена может потребовать создать аккаунт и оплатить его хранение.

Почему SOL выглядит заблокированным

Аккаунт должен поддерживать минимальный баланс, чтобы быть rent-exempt. Это не комиссия за каждое чтение и не обязательная плата, которую автоматически забирает валидатор каждый день. Лампорт остаётся частью состояния аккаунта до закрытия. Размер зависит от данных и сетевых параметров; не используй старую сумму из чужого скриншота.

В официальной инструкции закрытия Solana пишет, что инструкция удаляет token account и переводит его lamports, включая возвращаемый минимум хранения, на выбранный адрес назначения. Баланс токена обычно должен быть нулевым; Wrapped SOL — отдельное исключение. Закрыть может владелец аккаунта или назначенный close authority, а тот, кто когда-то оплатил создание ATA, не получает средства автоматически (инструкция Solana).

Что смотришь Что это означает Что перепроверить
Wallet address Адрес, который контролирует ключ Владелец token account
Mint Идентификатор токена Сеть и подлинный mint
ATA / token account Учётный аккаунт для owner + mint Баланс и authorities
Lamports на аккаунте SOL, удерживаемый состоянием аккаунта Условия закрытия и destination

Учебный сценарий

Предположим, кошелёк A впервые получает условный токен X. Интерфейс создаёт ATA и показывает удержанный минимум 0,002 SOL. Это вымышленные значения: пример объясняет структуру, а не текущую цену. Если позже баланс токена равен нулю и закрытие разрешено, владелец может закрыть аккаунт, указав адрес-получатель lamports. Если токен остался, закрытие обычным путём может быть недоступно.

Попроси ИИ разобрать запись аккаунта только по полям owner, mint, token balance, lamports и close authority. Он должен отдельно назвать, какой адрес получит lamports при закрытии, а если destination неизвестен — так и написать. Не передавай seed phrase, приватный ключ или подпись.

Это не означает, что каждый остаток SOL в интерфейсе можно вернуть или что любое приложение безопасно закроет аккаунт. Проверь mint и адрес назначения в кошельке до подписания. Общие модели хранения описаны в руководстве по криптокошелькам, а комиссии разных сетей — в обзоре сетевых комиссий.