Усі статті
7 хв читання

Кросчейн-свапи з TON в Avalanche: як це працює

Кросчейн-своп TON → Avalanche через MCP: атомарний HTLC-ескроу, некастодіально, без зберігання ключів на сервері. 5 інструментів і робочий сценарій.

кросчейн своп TON AvalancheHTLC ескроунекастодіальний MCPTON MCP серверAVAXTonConnect

Навіщо агенту переміщувати цінність із TON в Avalanche

Ваш агент знайшов вигідну ціну на актив в Avalanche, але весь його баланс лежить у GRAM на TON. Далі — знайоме пекло: вивести GRAM на біржу, дочекатися зарахування, пройти KYC, купити потрібний токен, вивести в мережу Avalanche, заплатити за кожен крок комісією і часом. П'ять ручних операцій, три довірені посередники і пів години, за які ціна вже встигла втекти.

Людину це дратує. Для автономного ШІ-агента це несумісно з автономністю: у нього немає акаунта на біржі й немає права проходити верифікацію за вас, а будувати надійний процес поверх кастодіана, який будь-якої миті заморозить виведення, просто не можна. На кожному кроці хтось тримає ваші гроші, і агенту доводиться десь зберігати API-ключ біржі або сід-фразу гарячого гаманця.

Кросчейн-своп TON → Avalanche розв'язує це інакше. Жодної біржі посередині. Кошти рухаються між мережами за математичною гарантією «або обмін відбувся в обох мережах, або ніхто нічого не втратив», а не за обіцянкою посередника. Розберімо, як саме це працює через MCP-інструменти TONNode — без кастодіана і без зберігання ключів на сервері.

Як влаштований атомарний HTLC-ескроу між TON і Avalanche

Ключова механіка — атомарний HTLC-ескроу (hashed timelock contract, ескроу з хеш-таймлоком). Звучить громіздко, але ідея проста, і її зручно пояснити на аналогії з банківською коміркою.

Ви кладете кошти в комірку, яка відкривається лише правильним ключем — секретом. У комірки є таймер: якщо ключ не вставили за відведений час, вміст повертається власнику. А тепер поставте дві такі комірки — одну на TON, другу на Avalanche — і замкніть їх одним і тим самим замком:

  • Генерується випадковий секрет S та його хеш H = hash(S). За хешем неможливо відновити секрет, але легко перевірити, що пред'явлений секрет йому відповідає.
  • На боці TON ви депонуєте GRAM в ескроу з hashlock H.
  • На боці Avalanche зустрічна сторона (маркетмейкер) депонує цільовий актив у свій ескроу з тим самим H.
  • Коли ви розкриваєте секрет S, щоб забрати актив в Avalanche, S стає публічним у блокчейні. Маркетмейкер бачить його і тим самим S забирає ваші GRAM із TON-ескроу.

Звідси й слово атомарний. Розкрити один ескроу, не розкривши другий, неможливо: секрет один на обидві мережі. Або обидві сторони отримують свої кошти, або після закінчення таймауту обидві забирають своє назад через refund. Проміжного стану «гроші пішли з TON, але актив не прийшов» просто не існує.

Гарантію тут дають криптографія і таймаути, а не репутація посередника. І саме тому посередині не потрібна біржа.

П'ять інструментів кросчейну: quote, build, track, disclose, refund

У TONNode кросчейн закрито рівно п'ятьма MCP-інструментами, і кожен відповідає за одну фазу угоди:

  • get_crosschain_quote — котирування: скільки активу в цільовій мережі ви отримаєте за свій GRAM чи жетон, з урахуванням маршруту й таймаутів.
  • build_crosschain_swap_tx — збирає непідписану HTLC-ескроу транзакцію для TON і повертає пов'язаний секрет (та його хеш). Транзакцію підписує гаманець користувача.
  • track_crosschain_swap — показує фази угоди в обох мережах: чи з'явився ваш депозит у TON-ескроу, чи з'явився зустрічний ескроу на Avalanche.
  • disclose_crosschain_secret — розкриває секрет для розрахунку, після перевірки готовності ончейн (зустрічний ескроу на місці, суми і хеш збігаються).
  • build_crosschain_refund — збирає транзакцію повернення коштів з ескроу, якщо угода зависла і таймаут минув.

П'ять інструментів — це не «мало». Це рівно ті п'ять кроків, з яких фізично складається атомарний своп: оцінити, задепонувати, відстежити, розрахуватися, а в разі збою — повернути. Жодного зайвого, жодного пропущеного.

Некастодіальність: сервер не підписує і не зберігає ключі

Це не маркетингове формулювання, а архітектурне обмеження. Кросчейн-, своп- та гаманець-інструменти TONNode суворо некастодіальні:

  • Сервер ніколи не підписує транзакції і ніколи не зберігає кошти чи приватні ключі.
  • build_crosschain_swap_tx віддає непідписане TonConnect-повідомлення. Підпис ставить гаманець користувача — Tonkeeper, MyTonWallet чи будь-який TonConnect-сумісний. Сервер лише зібрав коректний конверт транзакції.
  • Секрет S від HTLC сервер генерує і передає вам разом із зібраною транзакцією — а далі його розкриття залишається під вашим контролем. Навіть виклик disclose_crosschain_secret — усвідомлений крок після ончейн-перевірки, який ініціюєте ви, а не автоматична дія десь на бекенді.

Якщо сервер TONNode раптом зникне посеред угоди, ваші кошти не втрачені: вони лежать в ескроу на блокчейні, і build_crosschain_refund поверне їх після таймауту. Для руху цінності між мережами некастодіальність означає просту річ: на сервері нема чого красти й нема чого заморожувати.

Порівняйте з кастодіальною моделлю, де оператор тримає ключ і підписує сам. Обидві моделі мають право на життя — детальніше цю межу ми розбирали в тексті про кастодіальний і некастодіальний MCP та в розборі некастодіального свопу для агента.

Які мережі підтримуються (і чому TON завжди джерело)

Цільові мережі кросчейну: Ethereum, Arbitrum, Base, BNB Chain, Polygon, Avalanche. TRON поки не підтримується — не закладайте його у свої процеси.

Важливе обмеження напрямку: TON завжди виступає джерелом свопу. Ви депонуєте GRAM або жетон у TON-ескроу, а зустрічний актив забираєте в цільовій EVM-мережі. Це випливає з механіки: HTLC ініціюється депозитом на TON, де живе ваш гаманець і ваш баланс, а зустрічна сторона віддзеркалює його в цільовій мережі.

Практичний висновок: якщо ваш агент живе в TON і йому треба доставити цінність в Avalanche — це рівно той сценарій, під який усе й зроблено. Якщо ж треба затягнути кошти в TON ззовні — такого маршруту зараз немає. Кросчейн із TON в Ethereum влаштований ідентично — змінюється лише параметр цільової мережі; розбір — у свопі TON → Ethereum.

Покроковий сценарій свопу GRAM → Avalanche

Зберемо все докупи. Нижче — реальний порядок викликів; агент проходить його сам, вам достатньо підписати транзакцію в гаманці.

Крок 1. Котирування. Агент запитує ціну:

«Дай кросчейн-котирування: 500 GRAM із TON в USDC на Avalanche.»

Під капотом — get_crosschain_quote. Агент бачить обсяг на виході, маршрут і параметри таймлоків. Якщо ціна влаштовує — рухаємося далі.

Крок 2. Збирання HTLC-ескроу транзакції.

«Влаштовує. Збери транзакцію за цим котируванням на мою Avalanche-адресу 0x… і поверни непідписане TonConnect-повідомлення та хеш секрету.»

Викликається build_crosschain_swap_tx. Повертається непідписана транзакція депозиту в TON-ескроу плюс секрет та його хеш H. Користувач підписує повідомлення гаманцем через TonConnect — саме в цей момент GRAM ідуть в ескроу на TON. Сервер підпису не торкається.

Крок 3. Відстеження зустрічного ескроу.

«Стеж за угодою через track_crosschain_swap, поки на Avalanche не з'явиться зустрічний ескроу з моїм хешем.»

track_crosschain_swap показує фази в обох мережах. Чекаємо, поки маркетмейкер задепонує цільовий актив у свій ескроу на Avalanche під тим самим H. Поки зустрічного ескроу немає — розкривати секрет не можна.

Крок 4. Розкриття секрету і розрахунок. Коли трекінг підтвердив готовність ончейн:

«Зустрічний ескроу на місці. Перевір готовність ончейн і розкрий секрет через disclose_crosschain_secret.»

disclose_crosschain_secret спочатку перевіряє готовність (зустрічний ескроу існує, суми і хеш збігаються), потім розкриває секрет. Він відмикає обидва ескроу: ви отримуєте USDC на Avalanche, контрагент тим самим S забирає GRAM із TON-ескроу. Угоду закрито атомарно.

Крок 5 (лише в разі збою). Повернення. Якщо зустрічний ескроу так і не з'явився і угода зависла — секрет не розкриваємо. Чекаємо таймаут і викликаємо build_crosschain_refund:

«Угода зависла, таймаут минув. Збери повернення через build_crosschain_refund.»

Інструмент збирає транзакцію повернення GRAM із TON-ескроу назад вам; користувач підписує її гаманцем. Втратити кошти через контрагента, що завис, неможливо by design — їх захищає таймлок.

Зверніть увагу на дисципліну: секрет розкривається лише після того, як трекінг підтвердив зустрічний ескроу. Розкрити його передчасно — єдиний спосіб підставитися, і саме тому цей крок винесено в окремий явний інструмент, а не заховано в автоматику.

Підключення MCP-сервера і що далі

Одразу важлива розвилка, щоб не втрачати час. Пакет @tonnode/mcp — open source (MIT, GitHub tonnode/mcp), працює через нативний ADNL-протокол TON, без HTTP-прошарків. Запущений локально за публічним конфігом, він дає повний набір читання (8 read-інструментів: баланс, стан акаунта, транзакції, get-методи тощо) — цього достатньо, щоб читати TON, але свопу, кросчейну і гаманця в ньому немає. Локальний конфіг MCP-клієнта (Claude, Cursor, Codex, будь-який MCP-сумісний):

{
  "mcpServers": {
    "ton": {
      "command": "npx",
      "args": ["-y", "@tonnode/mcp"]
    }
  }
}

П'ять кросчейн-інструментів із цієї статті (як і своп та генерація гаманця) працюють лише через hosted-ендпоінт mcp.tonnode.io за Bearer-ключем. Ключ Hobby безкоштовний і видається одразу після входу, без картки (60 запитів/хв), але це саме hosted-ключ, а не голий локальний npx. Конфіг для кросчейн-конвеєра:

{
  "mcpServers": {
    "ton": {
      "type": "http",
      "url": "https://mcp.tonnode.io/mcp",
      "headers": { "Authorization": "Bearer tn_live_…" }
    }
  }
}

Кілька фактів, які знімають питання:

  • Усього в TONNode 16 інструментів. На всіх тарифах доступні всі 16 — ви платите лише за пропускну здатність, а не за «розблокування фіч». Різниця між конфігами вище — не в наборі, а в точці підключення: локальний npx віддає лише читання, hosted-ендпоінт за ключем відкриває весь набір, включно з п'ятьма кросчейн-інструментами.
  • GRAM — це перейменований у червні 2026 року Toncoin. Мережа, як і раніше, називається TON; змінилася лише назва монети.
  • Безкоштовний ключ Hobby — 60 запитів на хвилину, без картки; цього вистачає, щоб прогнати повний кросчейн-конвеєр.

Що далі

Якщо ваш агент уже живе в TON і вам треба доставляти цінність в Avalanche (або Ethereum, Base, Arbitrum, BNB Chain, Polygon) — зберіть ланцюжок get_crosschain_quote → build_crosschain_swap_tx → track_crosschain_swap → disclose_crosschain_secret і тримайте build_crosschain_refund як страховку. Чому кросчейн із TON взагалі варто закривати через MCP, а не через біржу, ми розбираємо окремо — у цьому тексті.

Отримайте безкоштовний ключ Hobby і підключіть кросчейн-інструменти просто зараз: tonnode.io/dashboard?plan=hobby. Картка не потрібна, 60 запитів/хв вистачає, щоб прогнати повний конвеєр і побачити атомарний HTLC у дії.

Переглянути всі 16 інструментів — сторінка інструментів. Що в роботі далі — роадмап.

Дайте вашому агенту доступ до TON

16 MCP-інструментів: читання, некастодіальні свопи, кросчейн і гаманці. Безкоштовний тариф — 60 зап/хв, картка не потрібна.