Swap у Solana — це обмін одного токена на інший безпосередньо через децентралізований протокол, без посередника у вигляді централізованої біржі. Ви вказуєте, що хочете віддати і що отримати, а програма протоколу виконує обмін за лічені секунди.
Що таке swap токенів і які бувають типи
Swap токенів — це транзакція, під час якої ваші токени на одному балансі зменшуються, а на іншому — збільшуються. Усі обміни на Solana відбуваються через програми (smart contracts), які керують пулами ліквідності або книгами заявок.
Основні типи swap-ів:
- Прямий обмін через єдиний пул. Ваша транзакція йде через один пул ліквідності, наприклад USDT → SOL. Це найпростіший і найчастіший варіант.
- Маршрутизований обмін (split route). Протокол шукає оптимальний шлях, якщо прямого пулу немає або він недостатньо ліквідний. Наприклад, замість прямого обміну TOKEN-A → TOKEN-B, транзакція може пройти через проміжний актив: TOKEN-A → USDC → TOKEN-B. Це відбувається автоматично — ви бачите лише кінцевий результат.
- Обмін через книгу заявок (order book). Деякі протоколи на Solana використовують модель, де ваш ордер співставляється з конкретними заявками інших користувачів, а не з пулом ліквідності. Механіка транзакції для вас залишається схожою, але під капотом працює інша логіка.
У всіх випадках ви не взаємодієте з іншим користувачем безпосередньо — протокол виступає контрагентом.
Передумови: гаманець, баланс токенів, SOL для комісій
Щоб виконати swap, вам потрібні три речі:
Гаманець, що підтримує підключення до dApps (наприклад, Phantom, Solflare або інший сумісний). Гаманець має бути розблокований і підключеним до застосунку, через який ви робите обмін.
Баланс токена, який ви хочете обміняти. Переконайтеся, що на балансі достатньо коштів з урахуванням того, що сума після списання комісій має залишитися коректною.
SOL на балансі для оплати комісій мережі. Це окремий і критично важливий пункт. Навіть якщо ви обмінюєте USDC на USDT і не чіпаєте SOL, комісія за транзакцію завжди сплачується в SOL. Комісія складається з:
- базової комісії транзакції (протоколом зафіксована величина);
- комісії за обчислення (compute unit price або priority fee) — її розмір залежить від навантаження на мережу, перевірте актуальні значення в налаштуваннях вашого гаманця або застосунку;
- за потреби — разової комісії за створення асоційованого токен-рахунку (associated token account), якщо ви вперше отримуєте певний токен і відповідного рахунку ще не існує.
Якщо на вашому балансі немає хоча б невеликої кількості SOL, транзакція не пройде.
Покрокова інструкція обміну
Крок 1. Відкрийте інтерфейс DEX-застосунку та підключіть гаманець. Зазвичай для цього є кнопка у верхньому куті екрана. Виберіть свій гаманець і підтвердьте підключення.
Крок 2. Виберіть токен, який віддаєте, і токен, який отримуєте. У більшості інтерфейсів це два поля: "Ви віддаєте" та "Ви отримуєте". Вкажіть суму або натисніть кнопку максимального значення.
Крок 3. Перевірте маршрут обміну. Застосунок має показати, через які пули пройде транзакція. Якщо маршрут здається незвичним (зайві проміжні кроки при наявності прямого пулу) — це привід перевірити налаштування або обрати інший протокол.
Крок 4. Перевірте параметри транзакції. Зверніть увагу на:
- суму, яку отримаєте (вона розраховується в реальному часі);
- slippage (допустиме відхилення ціни — детально про цей параметр у відповідному матеріалі);
- комісію протоколу (fee), якщо вона вказана окремо.
Крок 5. Натисніть кнопку обміну (зазвичай "Swap" або аналогічна). З'явиться запит від вашого гаманця — уважно перевірте всі дані у вікні підписання: токени, суми, назву протоколу, який запитує дозвіл на транзакцію.
Крок 6. Підтвердьте транзакцію в гаманці. Після підтвердження зачекайте кілька секунд — зазвичай обмін на Solana займає від 1 до 5 секунд.
Крок 7. Перевірте оновлений баланс у гаманці.
Перевірка результату транзакції в експлорері
Після виконання swap-у варто перевірити транзакцію в блокчейн-експлорері (наприклад, Solscan або SolanaFM). Це дозволяє переконатися, що транзакція пройшла коректно і ви отримали саме те, що очікували.
Як це зробити:
- У гаманці знайдіть останню транзакцію та скопіюйте її підпис (signature) — це довгий рядок символів.
- Вставте цей підпис у пошуковий рядок експлорера.
- У відкритій сторінці транзакції зверніть увагу на:
- статус: "Success" означає успішне виконання;
- розділ "Token Transfers" або "Balance Changes": тут видно, які токени списані та які зараховані, і на які адреси;
- розділ "Account Keys": показує, які програми та рахунки були залучені. Переконайтеся, що серед них є офіційна програма протоколу, через який ви робили обмін.
Якщо статус транзакції "Failed" — основна сума токенів не списалася (крім комісії мережі), і вам потрібно зрозуміти причину відхилення.
Типові помилки та їх вирішення
Недостатньо SOL для комісії (insufficient lamports)
Це найпоширеніша причина невдалих swap-ів. Помилка виглядає як "Insufficient lamports" або подібне повідомлення.
Що робити:
- Перевірте баланс SOL у гаманці. Точна сума, необхідна для однієї транзакції, залежить від поточного навантаження на мережу — орієнтуйтеся на індикатор у вашому гаманці або застосунку.
- Якщо у вас взагалі немає SOL — спочатку отримайте трохи SOL з іншого джерела (переказ з іншого гаманця, зняття з CEX тощо).
- Не намагайтеся зробити swap, поки не переконаєтеся, що на балансі є резерв SOL після урахування всіх планованих операцій.
Транзакція відхилена: основні причини
Крім нестачі SOL, існують інші причини відхилення транзакції:
- Списання більше, ніж є на балансі. Може статися, якщо ви вказали 100% балансу, але протокол додає свою комісію до суми списання. Рішення — вказувати суму трохи меншу за максимальну.
- Транзакція застаріла (transaction expired). На Solana транзакція має часове вікно, що визначається blockhash. Якщо ви підписали її в гаманці, але затримали підтвердження, вона може стати недійсною. Рішення — повторити спробу.
- Занадто низький slippage за умови зміни ціни. Якщо ціна в пулі змінилася між моментом формування транзакції та її виконанням, і відхилення перевищило встановлений slippage, транзакція відхилиться. Детальний розбір цього параметра — в окремому матеріалі про slippage.
- Проблеми з RPC-вузлом. Якщо застосунок або гаманець підключені до повільного або недоступного RPC-вузла, транзакція може не дійти до мережі. Рішення — змінити RPC-вузол у налаштуваннях гаманця або застосунку.
У всіх випадках, коли транзакція відхилена, основна сума токенів залишається на вашому балансі. Втрачається лише комісія мережі за спробу виконання.