Кросчейн-свапи з TON у Base: як це працює
Кросчейн-своп TON → Base через MCP: HTLC-ескроу, некастодіально, 5 інструментів. Як агент рухає цінність з TON у Base без моста-кастодіана.
Ваш ШІ-агент знайшов вигідну можливість: капітал користувача лежить у TON, а потрібний протокол чи актив — на Base. Класична відповідь — «прожени через міст». Але міст означає, що хтось тримає ваші кошти в момент переходу: bridge-контракт, релеєр, мультисиг із підписантів, яких ви не обирали. За останні роки саме мости-кастодіани вивели понад мільярд доларів користувацьких грошей — не тому, що криптографія погана, а тому, що хтось тримав кошти в проміжку.
Для автономного агента це подвійна проблема. По-перше, агент не повинен підписувати транзакцію, яка віддає кошти третій стороні без гарантії повернення. По-друге, в агента взагалі не має бути ваших приватних ключів. А класичний міст вимагає саме цього — довіри до посередника.
Є інший шлях — атомарний HTLC-ескроу. Нижче розберемо, як виконати кросчейн своп TON → Base так, щоб жоден посередник у жоден момент не міг торкнутися ваших ключів чи коштів, і як увесь цей потік викликається ШІ-агентом через п'ять MCP-інструментів TONNode.
Навіщо свапати з TON у Base і чому це не звичайний міст
Base — це L2 поверх Ethereum від Coinbase на OP Stack. Туди мігрує ліквідність, туди йдуть DeFi-протоколи, і дедалі частіше саме там опиняється контракт, з яким має працювати ваш агент. А вихідний капітал у вас у TON — у GRAM (це перейменований у червні 2026 року Toncoin; мережа, як і раніше, називається TON) або в USDT на TON.
Звичайний міст розв'язує цю задачу через кастодію. Ви віддаєте кошти в bridge-контракт у вихідній мережі, десь осторонь релеєр це бачить і випускає еквівалент на Base. Між «віддав» і «отримав» є вікно, в якому вашими грошима розпоряджаєтеся не ви. Для людини, яка раз на місяць перекидає кошти, це стерпно. Для агента, який робить це в циклі й без нагляду, — неприйнятний ризик.
Альтернатива — атомарний обмін, у якому не існує моменту, коли кошти належать посереднику. Або угода виконується цілком в обох мережах, або цілком відкочується. Саме так влаштований кросчейн у TONNode.
Як працює атомарний HTLC-ескроу між TON і Base
HTLC — hashed timelock contract, ескроу з двома умовами розблокування: хеш секрету і таймлок. Найпростіше уявити два сейфи: один у TON, один у Base. Обидва відчиняються тим самим ключем — секретом. Поки секрет не розкрито, обидва замкнені.
- Хеш-замок. Кошти в обох мережах блокуються під той самий хеш секрету
h = hash(s). Відкрити ескроу можна, лише пред'явивши сам секретs, чий хеш збігається. - Таймлок. У кожного сейфа є термін. Якщо угода не виконалася вчасно, кошти повертаються власнику після спливу таймлока.
Схема на пальцях:
- Генерується випадковий секрет
sі його хешh = hash(s). - На TON ваші кошти блокуються в ескроу під умову: «видати тому, хто пред'явить
s; повернути відправнику, якщо до дедлайнуsтак і не пред'явлено». - На Base контрагент (резолвер, який забезпечує ліквідність призначення) блокує свої кошти під той самий
h— з коротшим таймлоком. - Ви розкриваєте
s, щоб забрати кошти на Base. У цей моментsстає публічним ончейн. - Контрагент бачить розкритий
sі забирає заблоковані кошти на TON.
Ключова властивість: h той самий в обох мережах. Щойно секрет розкрито для розрахунку на одному боці, другий бік математично може завершити угоду. Проміжного стану «мої гроші в чужого дядька» не існує — є лише математика хеша і годинник таймлока. Якщо щось пішло не так і таймлок сплив, кошти повертаються початковим власникам. Атомарно: або обидві ноги виконуються, або обидві відкочуються.
У схемі TONNode TON завжди виступає джерелом угоди, а Base (чи інша підтримувана мережа) — призначенням.
П'ять інструментів кросчейн-свапу в TONNode MCP
TONNode — це hosted MCP-сервер для TON, який має рівно 16 інструментів. MCP (Model Context Protocol) — стандарт, за яким ШІ-агенти (Claude, Cursor, ChatGPT/Codex і будь-який MCP-клієнт) викликають зовнішні інструменти. Кросчейн-набір — це рівно 5 інструментів, і вони доступні на всіх тарифах:
get_crosschain_quote— котирування: скільки отримаєте на Base за ваші кошти з TON, з урахуванням маршруту і таймлоків.build_crosschain_swap_tx— збирає непідписану HTLC-ескроу транзакцію для TON і повертає її разом із секретом. Підписує її гаманець користувача через TonConnect.track_crosschain_swap— показує фази угоди в обох мережах: чи заблоковано на TON, чи заблокував контрагент на Base, чи розкрито секрет, чи завершено.disclose_crosschain_secret— розкриває секрет для розрахунку, але лише після того, як ончейн підтверджено, що зустрічна нога готова.build_crosschain_refund— збирає непідписану транзакцію повернення коштів з ескроу, якщо угода зависла і таймлок сплив.
Зверніть увагу на порядок відповідальності: інструмент, який розкриває секрет, робить це не наосліп, а після перевірки готовності на Base. Це не дасть вам розкрити s у ситуації, коли контрагент ще нічого не заблокував.
Повний потік: котирування → збирання → відстеження → розкриття секрету
Спершу підключіть сервер. Локально і безкоштовно, пакет @tonnode/mcp — open source (MIT), працює через нативний ADNL-протокол TON без HTTP-прошарків:
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
Далі вся робота йде через промпти до агента — він сам розкладає їх на виклики інструментів.
Крок 1. Котирування.
Дай котирування кросчейн-свапу: 200 USDT з TON у USDC на Base.
Використай get_crosschain_quote.
Агент поверне, скільки ви отримаєте на Base і які таймлоки в ескроу, — цифри до будь-яких дій. Якщо влаштовує — рухаємося далі.
Крок 2. Збирання непідписаної транзакції.
Збери HTLC-ескроу транзакцію за цим котируванням через build_crosschain_swap_tx.
Моя TON-адреса EQ…, адреса отримання на Base 0x…
На виході — непідписане TonConnect-повідомлення з HTLC-ескроу і секрет угоди. Секрет ваш, зберігайте його; сервер його не зберігає. Кошти блокуються в ескроу на TON під хеш цього секрету. Підпис ставить ваш гаманець через TonConnect — сервер підпису не торкається.
Крок 3. Відстеження.
Перевір статус угоди через track_crosschain_swap за хешем h….
Чи заблокував контрагент кошти на Base?
Інструмент показує фази в обох мережах. Агент чекає, доки обидві сторони не опиняться замкненими під одним хешем.
Крок 4. Розкриття секрету.
Кошти на Base заблоковано. Розкрий секрет для розрахунку
через disclose_crosschain_secret.
Лише після того, як track_crosschain_swap підтвердить готовність ончейн, агент розкриває секрет. Розкриття виконує обидва ескроу атомарно: ви отримуєте кошти на Base, контрагент за публічним секретом закриває свій бік на TON. Угоду закрито.
Зауважте порядок: секрет розкривається останнім і лише після перевірки, що зустрічний ескроу справді на місці. До розкриття ваші кошти нікуди не подінуться, а після розкриття угода вже атомарна.
Докладний розбір такого самого потоку, але з Ethereum у ролі призначення, — в окремому матеріалі: кросчейн-свап TON → Ethereum, механіка та сама, відрізняється лише мережа призначення. А про те, чому сама можливість рухати цінність з TON руками агента — це новий клас операцій, — у цьому матеріалі.
Некастодіальність: чому сервер ніколи не тримає ваші ключі
Це не маркетингове формулювання, а властивість архітектури. Сервер TONNode ніколи не підписує транзакції і ніколи не зберігає кошти чи приватні ключі. Усе, що він віддає назовні, — непідписані TonConnect-повідомлення і дані (котирування, статуси, секрет для вашої ж угоди).
Розберімо покроково, де що лежить:
- Приватний ключ вашого TON-гаманця — лише у вас, у гаманці.
- Секрет
s— згенерований під час збирання і відданий вам; на сервері не залишається. - Підпис HTLC-транзакції — ставить ваш гаманець через TonConnect.
- Кошти на TON — в ескроу-контракті під криптографічною умовою, а не на рахунку посередника.
Навіть якби сервер захотів, він не зміг би ні підписати за вас, ні вивести кошти з ескроу: в нього немає ні ключа, ні можливості пред'явити умову розблокування на свою користь. Це принципово відрізняється від кастодіального підходу, де оператор тримає ключ і підписує сам. Розгорнуте порівняння двох моделей — у розборі кастодіальні vs некастодіальні MCP, а розбір саме свапу без кастодії — у тексті про некастодіальний своп з агента.
Які мережі підтримуються, крім Base (і чому TRON поки немає)
TON завжди джерело, а мережею призначення може бути будь-яка з:
- Ethereum
- Arbitrum
- Base
- BNB Chain
- Polygon
- Avalanche
TRON поки не підтримується. Причина технічна, а не ідеологічна: атомарний HTLC-ескроу вимагає сумісної семантики хеш-таймлоків і передбачуваної поведінки контрактів на боці призначення. Якщо ваш сценарій зав'язаний на TRON — не будуйте на цьому логіку агента, в поточному кросчейн-наборі його немає. Коли додамо, це буде відображено в роадмапі: tonnode.io/roadmap.
Як підключити і що робити, якщо угода зависне: рефанд
Для продакшену з гарантованою пропускною здатністю використовується hosted-ендпоінт зі своїм ключем:
{
"mcpServers": {
"ton": {
"type": "http",
"url": "https://mcp.tonnode.io/mcp",
"headers": { "Authorization": "Bearer tn_live_…" }
}
}
}
На всіх ключах доступні всі 16 інструментів, включно з повним кросчейн-набором. Платите ви лише за пропускну здатність, а не за доступ до інструментів:
- Hobby — безкоштовно назавжди, 60 запитів/хв. Ключ видається одразу після входу, без картки.
- Pro — $29/міс, 300 запитів/хв.
- Scale — $199/міс, 1200 запитів/хв.
А якщо контрагент не завершив угоду?
Тут і розкривається сенс таймлока. Якщо зустрічна сторона не виконала свою частину і таймлок сплив, ваші кошти не втрачаються — вони заблоковані під умову повернення відправнику після дедлайну. Агент викликає:
Угода зависла, таймлок сплив. Збери транзакцію повернення
коштів з ескроу через build_crosschain_refund.
build_crosschain_refund віддає непідписану транзакцію повернення — ви підписуєте її своїм гаманцем і забираєте кошти назад на TON. Це і є страховка, вбудована в HTLC: угода або виконується атомарно, або відкочується за таймлоком. Зависла угода не означає втрачені гроші — вона означає рефанд. Саме ця гарантія і робить атомарний обмін безпечною заміною мосту-кастодіану.
З чого почати
Кросчейн-свап TON → Base перестає бути актом віри в міст, коли за нього відповідає хеш-замок і таймлок, а не чужий кастодіан. П'ять інструментів, строга некастодіальність, шість мереж призначення — і все це викликається вашим агентом через один MCP-конфіг.
Найшвидший спосіб спробувати — взяти безкоштовний Hobby-ключ (видається одразу після входу, без картки) і прогнати потік TON → Base зі свого агента:
- Безкоштовний ключ Hobby → tonnode.io/dashboard?plan=hobby
- Тарифи → tonnode.io/pricing
- Усі 16 інструментів → tonnode.io/mcp
- Роадмап → tonnode.io/roadmap
Дайте вашому агенту доступ до TON
16 MCP-інструментів: читання, некастодіальні свопи, кросчейн і гаманці. Безкоштовний тариф — 60 зап/хв, картка не потрібна.