Комісія за транзакцію в мережі Solana складається з кількох компонентів, і її розмір залежить від того, що саме ви робите: пересилаєте токени, створюєте новий акаунт чи взаємодієте зі смарт-контрактом. Щоб уникнути несподіваних втрат, достатньо зрозуміти, де подивитися суму до підтвердження, і вміти перевірити її самостійно.

Передумови

Перед тим як перевіряти комісію, переконайтеся, що у вас є:

  • Гаманець із достатнім балансом SOL для оплати транзакції та самої комісії.
  • Розуміння, що кожна транзакція в Solana складається з підписів (signatures), і базова комісія стягується за кожен підпис окремо.
  • Доступ до гаманця (Phantom, Solflare, Backpack або іншого), через який ви плануєте надіслати транзакцію.

Очікуваний результат: ви зможете побачити точну суму комісії до натискання кнопки підтвердження та зрозумієте, з чого вона формується.

Де побачити комісію до відправки

Найпростіший спосіб — покладатися на інтерфейс вашого гаманця. Усі сучасні гаманці Solana показують комісію на етапі підтвердження, ще до того, як транзакція буде підписана.

У десктопному або мобільному гаманці

Порядок дій:

  1. Заповніть поля відправки: адресу отримувача та суму.
  2. Натисніть кнопку продовження (зазвичай «Review» або «Далі»). Не підтверджуйте транзакцію.
  3. На екрані підтвердження знайдіть рядок із позначкою «Network fee», «Transaction fee» або «Комісія мережі».
  4. Перевірте, що сума вказана в SOL, і порівняйте її з вашим очікуванням.

Якщо гаманець не показує комісію окремо, а лише загальну суму списання — знайдіть різницю між сумою, яку ви ввели, та загальною сумою списання. Ця різниця й є комісія.

У вебзастосунках (dApps)

Коли ви підключаєте гаманець до стороннього застосунку, транзакція формується на стороні dApp, а гаманець лише підписує її. У такому разі:

  1. На екрані застосунку шукайте розділ із деталями транзакції перед підписанням.
  2. Після натискання кнопки дії в гаманці з'явиться спливаюче вікно підтвердження — комісія буде вказана там.
  3. Якщо вікно гаманця не показує комісію явно, перевірте суму «You will pay» або «Списання» та порівняйте з очікуваною сумою переказу.

Ризик: сторонній застосунок може сформувати транзакцію з необґрунтовано високою комісією. Якщо сума виглядає підозріло великою, не підписуйте — спочатку перевірте транзакцію через блок-експлорер.

Як розрахувати очікувану комісію

Загальна комісія транзакції в Solana складається з двох частин:

Базова комісія (base fee) — фіксована сума за кожен підпис у транзакції. Станом на час написання цього матеріалу базова комісія становить 0,000005 SOL за один підпис. Цей параметр встановлюється протоколом і може змінюватися через оновлення мережі. Перевірте актуальне значення в офіційній документації Solana, якщо вам потрібна абсолютна точність.

Комісія за обчислення (compute fee) — залежить від двох параметрів:

  • Compute Unit Limit — максимальна кількість обчислювальних одиниць, яку транзакція може використати. Звичайний переказ SOL зазвичай потребує близько 1 500–3 000 одиниць. Взаємодія зі смарт-контрактами може вимагати значно більше.
  • Compute Unit Price — ціна за одну обчислювальну одиницю, вимірюється в мікролампортів (micro-lamports). 1 мікролампорт = 0,000001 lamport, 1 lamport = 0,000000001 SOL.

Формула:

Загальна комісія = (базова комісія × кількість підписів) + (Compute Unit Limit × Compute Unit Price)

Приклад розрахунку для простого переказу SOL

Припустимо, ви відправляєте SOL з одного акаунта на інший:

  • Кількість підписів: 1
  • Базова комісія: 0,000005 SOL
  • Compute Unit Limit: 1 500
  • Compute Unit Price: 0 мікролампортів (якщо ви не встановлювали пріоритетну комісію)

Загальна комісія = (0,000005 × 1) + (1 500 × 0) = 0,000005 SOL.

Приклад зі смарт-контрактом і пріоритетною комісією

  • Кількість підписів: 3 (ваш підпис + підписи програм)
  • Базова комісія: 0,000005 SOL
  • Compute Unit Limit: 200 000
  • Compute Unit Price: 100 000 мікролампортів (0,0001 lamport)

Загальна комісія = (0,000005 × 3) + (200 000 × 0,0000000001) = 0,000015 + 0,00002 = 0,000035 SOL.

Зверніть увагу: ці розрахунки допомагають зрозуміти порядок величин. Точні значення Compute Unit Limit для конкретної транзакції залежать від логіки програм, з якими вона взаємодіє.

Додаткові витрати: створення акаунтів та оренда (rent)

Якщо транзакція створює новий акаунт (наприклад, асоційований токен-рахунок для отримувача, який ще не має такого), до комісії додається:

  • Мінімальний баланс для оренди (rent-exempt minimum) — сума, яка блокується на акаунті, щоб він не був видалений мережею. Для асоційованого токен-рахунку це зазвичай близько 0,002 SOL. Ця сума не є комісією — вона залишається на балансі акаунта і може бути повернута при закритті акаунта.
  • Комісія за створення акаунта — додаткова базова комісія за підписи, пов'язані зі створенням.

Тому переказ токенів новому отримувачу завжди дорожчий за переказ такої ж суми в SOL між існуючими акаунтами.

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

Плутанина між комісією та депозитом оренди. При переказі токенів новому отримувачу ви побачите списання, значно більше за очікувану комісію. Це не завищена комісія — частина суми йде на створення токен-рахунку. Перевірте деталі транзакції: якщо там вказано створення асоційованого токен-рахунку (Associated Token Account), все коректно.

Ігнорування кількості підписів. Транзакція, яка проходить через кілька програм (наприклад, обмін через DEX), може містити 5–10 підписів. Базова комісія множиться на кожен з них. Перед підписанням перевірте в інтерфейсі гаманця загальну суму, а не лише базову комісію за один підпис.

Довіра до комісії, показаної dApp, без перевірки в гаманці. Застосунок може показати одну суму, а фактична транзакція — іншу. Завжди фіналізуйте перевірку на етапі спливаючого вікна гаманця, де вказана точна сума списання.

Спроба надіслати транзакцію з точним балансом без запасу на комісію. Якщо на вашому рахунку є рівно 0,1 SOL і ви намагаєтеся відправити 0,1 SOL, транзакція не пройде — не вистачить SOL на комісію. Завжди залишайте невеликий запас.

Перевірка комісії після відправки замість до. Після підписання змінити комісію неможливо. Усі перевірки мають відбуватися до натискання кнопки підтвердження.

Безпечний наступний крок

Після того як ви перевірили комісію та переконалися, що сума коректна, підтвердьте транзакцію в гаманці. Після відправки:

  1. Збережіть ідентифікатор транзакції (Signature), який гаманець або експлорер покаже після відправки.
  2. Відкрийте блок-експлорер (наприклад, Solscan) і вставте ідентифікатор у пошук, щоб переконатися, що транзакція підтверджена та комісія збігається з тією, що ви бачили до відправки.
  3. Якщо транзакція не підтверджується довго, не відправляйте повторну — дочекайтеся результату або перевірте статус через експлорер.

Якщо ви помітили, що комісія у підтвердженому транзакції відрізняється від тієї, що була показана до підписання, це може свідчити про проблеми з підключенням до мережі або несумісність версії гаманця. Оновіть гаманець до останньої версії та перевірте налаштування RPC-endpoint.

Для глибшого розуміння того, як впливає пріоритетна комісія на швидкість обробки транзакції, перейдіть до наступного матеріалу: Priority fee на Solana: що це і як налаштувати.

Джерела