Визначення

Withdraw authority — це публічний ключ, який має право вивести делеговані токени SOL зі стейк-рахунку після його деактивації. У структурі стейк-рахунку Solana це одна з двох окремих повноважень (authority), причому withdraw authority не дає права делегувати або зняти стейкінг — лише забрати кошти після завершення деактивації.

Як працює

Кожен стейк-рахунок у Solana містить два незалежні поля повноважень:

  • Stake authority — дозволяє делегувати стейк валідатору та ініціювати деактивацію.
  • Withdraw authority — дозволяє перевести unstaked SOL на інший рахунок після завершення епохи деактивації.

За замовчуванням при створенні стейк-рахунку обидві повноваження встановлюються на один і той самий ключ. Проте Solana дозволяє розділити їх за допомогою інструкції Authorize з параметром WithdrawAuthority. Після цього ключ stake authority зможе керувати делегацією, але не зможе вивести кошти — це може зробити лише ключ withdraw authority.

Розділення повноважень використовується для розподілу ризиків: наприклад, ви можете надати stake authority сервісу для автоматичного управління делегацією, зберігаючи контроль над самими коштами через withdraw authority.

Приклад

Ви створили стейк-рахунок і делегували 100 SOL валідатору. Потім ви розділили повноваження: stake authority передали платформі для автоматичного ребалансування, а withdraw authority залишили на своєму холодному гаманці. Платформа може змінити валідатора або ініціювати деактивацію, але вивести 100 SOL на інший рахунок зможете лише ви, підписавши транзакцію ключем withdraw authority.

Типова помилка

Найпоширеніша помилка — плутанина між stake authority та withdraw authority. Користувач передає обидві повноважності сторонньому сервісу, думаючи, що віддає лише право керувати делегацією. У такому разі сервіс отримує повний контроль над коштами і може вивести SOL після деактивації. Перед передачею будь-якої повноваження перевіряйте, яке саме поле змінюється в інструкції Authorize.

Пов'язані матеріали

Внутрішні переходи

  • Stake authority — повноваження на делегацію та деактивацію стейку.
  • Lockup — тимчасове обмеження на вивід коштів зі стейк-рахунку.