Кроссчейн-свапы из TON в Polygon: как это работает
Кроссчейн своп TON Polygon через MCP: как атомарный HTLC-эскроу двигает ценность из TON в Polygon некастодиально, без хранения ключей на сервере.
Кошелёк с USDT лежит в TON, а платить нужно в Polygon — там дешёвый газ, там развёрнут ваш DeFi-контракт, там принимает получатель. Обычный маршрут: вывести на биржу, дождаться зачисления, продать, купить, вывести обратно в Polygon. Четыре шага, четыре комиссии, KYC и полное доверие к посреднику, который на эти минуты держит ваши деньги. Для человека это просто раздражает. Для ИИ-агента, который должен сделать это автономно, путь вообще нерабочий: агент не проходит KYC и не должен держать приватный ключ от биржевого аккаунта.
Ниже разбираем, как закрыть эту задачу иначе — атомарным кроссчейн-свопом из TON в Polygon, где ни сервер, ни агент никогда не касаются ваших ключей.
Зачем свапать из TON в Polygon и что делает TONNode
Кроссчейн своп TON Polygon нужен, когда ценность живёт в одной сети, а потратить её надо в другой, и вы не хотите ни ждать биржу, ни доверять посреднику свои средства. Типичные поводы:
- заплатить контрагенту, который принимает только в Polygon;
- пополнить позицию в протоколе, развёрнутом в Polygon, имея баланс в TON;
- дать ИИ-агенту возможность самому перевести ценность между сетями по вашему промпту — но без доступа к вашим ключам.
TONNode — это hosted MCP-сервер для TON (сайт tonnode.io). MCP (Model Context Protocol) — стандарт, по которому ИИ-агенты (Claude, Cursor, ChatGPT/Codex и любой MCP-клиент) вызывают внешние инструменты. Вместо того чтобы учить агента REST-эндпоинтам и подписывать за него транзакции, вы даёте ему набор из 16 TON-инструментов, и он сам решает, какие вызвать. Пять из этих 16 отвечают за кроссчейн — именно они двигают ценность из TON наружу, некастодиально, без хранения ключей на сервере.
Важное ограничение механики: в TONNode TON всегда источник. Маршрут — из TON наружу; Polygon здесь сеть назначения, а не отправная точка.
Деталь про терминологию: GRAM — это переименованный Toncoin (переименование прошло в июне 2026), при этом сама сеть по-прежнему называется TON. Дальше по тексту GRAM = нативная монета TON.
Как работает кроссчейн своп TON → Polygon: атомарный HTLC-эскроу
Проблема любого межсетевого обмена — две сети не видят друг друга. Нет общего судьи, который гарантирует, что если вы отдали средства в TON, то получите их в Polygon. Классическое решение — атомарный HTLC-эскроу (hashed timelock contract). Аналогия — ячейка с двумя замками и таймером.
Работает это на двух примитивах — хэш-замке и таймлоке:
- Секрет и его хэш. Генерируется случайный секрет
S, от него берётся хэшH = hash(S). Эскроу-контракты на обеих сетях блокируют средства «под хэш»H. - Хэш-замок. Разблокировать средства из эскроу может только тот, кто предъявит
S, дающий этотH. Пока секрет не раскрыт, деньги заперты с обеих сторон. - Таймлок. У каждого эскроу есть дедлайн. Если до него секрет так и не раскрыт, средства становятся доступны обратно отправителю — это страховка от зависания.
Соль в том, что раскрытие секрета на одной сети математически позволяет забрать средства на другой: как только S появляется он-чейн, встречная сторона использует его, чтобы завершить свою половину. Отсюда атомарность: сделка либо проходит целиком на обеих сетях, либо не проходит нигде и средства возвращаются. Промежуточного состояния «деньги ушли из TON, но не пришли в Polygon» по дизайну не существует.
TONNode оркестрирует этот протокол через пять инструментов, но — принципиально — секрет отдаётся вам, а не остаётся на сервере, и все транзакции TON вы подписываете своим кошельком.
Пять инструментов кроссчейна: от котировки до расчёта
Все пять доступны на любом тарифе. Вот весь конвейер и что делает каждый инструмент.
1. get_crosschain_quote — котировка
Сколько вы получите в Polygon за отправленную сумму из TON. Агент вызывает его первым, чтобы показать курс и маршрут до того, как что-либо подписано. Возвращает параметры сделки, по которым дальше строится транзакция.
2. build_crosschain_swap_tx — неподписанная HTLC-эскроу транзакция
Собирает неподписанную транзакцию, которая блокирует ваши средства в эскроу на стороне TON, и возвращает секрет. Транзакция — в формате TonConnect-сообщения; подписывает её ваш кошелёк, не сервер. Секрет вы храните у себя — он понадобится на этапе расчёта.
3. track_crosschain_swap — фазы сделки на обеих сетях
Показывает, на каком этапе сделка: заблокирован ли эскроу в TON, встал ли встречный эскроу в Polygon, готово ли всё к расчёту. Ваш «пульт наблюдения» за обеими сетями сразу.
4. disclose_crosschain_secret — раскрыть секрет для расчёта
Раскрывает секрет, чтобы завершить расчёт — но только после того, как он-чейн-проверка подтвердила готовность обеих сторон. Порядок здесь критичен: раскрывать секрет до того, как встречный эскроу реально встал в Polygon, нельзя. Инструмент проверяет состояние обеих сетей и только тогда отдаёт секрет к раскрытию.
5. build_crosschain_refund — вернуть средства из эскроу
Собирает неподписанную транзакцию возврата, если сделка зависла и таймлок позволяет забрать заблокированное обратно. Про этот сценарий — ниже.
Как это выглядит в разговоре с агентом:
Свапни 250 USDT из TON в USDC на Polygon.
Сначала покажи котировку, потом собери транзакцию,
дай мне подписать её кошельком, отслеживай статус
и раскрой секрет только когда обе стороны эскроу готовы.
Полный маршрут под капотом:
1. get_crosschain_quote → курс и маршрут TON → Polygon
2. build_crosschain_swap_tx → неподписанный HTLC-эскроу + секрет S
(пользователь подписывает в кошельке через TonConnect)
3. track_crosschain_swap → ждём готовности обеих сетей
4. disclose_crosschain_secret → раскрыть S после проверки он-чейн → расчёт
5. build_crosschain_refund → только если что-то пошло не так
Логика та же, что в свапе из TON в Ethereum — меняется только сеть назначения.
Почему это некастодиально: сервер не подписывает и не хранит ключи
Здесь проходит главная граница. Некастодиальность — не маркетинговое слово, а свойство архитектуры. Кроссчейн-инструменты TONNode строго некастодиальны: сервер никогда не подписывает и никогда не хранит ваши средства и приватные ключи. Он возвращает неподписанные TonConnect-сообщения, а подпись ставит ваш кошелёк.
Разберём на примере build_crosschain_swap_tx. Инструмент отдаёт заготовку транзакции и секрет — но не совершает перевод. Ничего не двинется, пока вы не подтвердите это в своём кошельке. Приватный ключ не покидает кошелёк и не проходит через сервер ни в каком виде. То же с секретом HTLC: он отдаётся вам, поэтому даже расчётом управляете вы, а не оператор сервера.
Для ИИ-агента это принципиально. Автономный агент, у которого есть доступ к инструментам, не должен иметь возможности потратить ваши деньги без вашей подписи. Некастодиальная модель даёт именно это: агент готовит сделку, вы — единственный, кто её авторизует. Подробнее про разницу подходов — в разборе кастодиальный против некастодиального MCP и в материале о том, как безопасно дать агенту свапать в TON.
Отдельно — про официальный @ton/mcp от TON Foundation. Это сильный и официальный инструмент, но по устройству он другой: это кастодиальный агент-кошелёк (схема split-key — operator-ключ у агента, owner-ключ у пользователя), он подписывает сам и не поддерживает кроссчейн (только TON). У него свои плюсы — автономная трата, работа с NFT и DNS, официальность Foundation. Разница честная: он кастодиальный и только TON; TONNode некастодиальный, с кроссчейном и hosted-опцией. Развёрнутое сравнение — на странице сопоставления с официальным.
Полный список поддерживаемых сетей (и почему TRON пока нет)
Кроссчейн-своп в TONNode идёт из TON в одну из сетей назначения:
- Ethereum
- Arbitrum
- Base
- BNB Chain
- Polygon
- Avalanche
Во всех случаях TON — источник, а перечисленная сеть — назначение. TRON пока не поддерживается. Атомарный HTLC-эскроу требует, чтобы на стороне назначения существовал совместимый механизм hashed-timelock-контракта, встроенный в маршрут сделки. Перечисленные шесть сетей — EVM-совместимое семейство, куда TON умеет строить встречный эскроу. TRON в этот маршрут пока не заведён — не потому, что «нельзя в принципе», а потому что интеграции конкретно этой сети в продукте сейчас нет. Не закладывайтесь на TRON, пока он не появится в списке официально.
Логика Polygon ничем не отличается от Ethereum-маршрута; если нужен общий обзор, есть разбор первого MCP, который двигает кроссчейн-ценность из TON.
Что делать, если сделка зависла: рефанд из эскроу
Кроссчейн — это две независимые сети, и иногда вторая сторона не подтверждается: встречный эскроу не встал, контрагент пропал, сеть назначения затормозила. В кастодиальной модели в такой момент вы зависите от посредника, который держит ваши деньги. В атомарном HTLC-эскроу — нет.
Каждый эскроу-контракт имеет таймлок. Если сделка не завершилась и время истекло, средства не «сгорают» и не остаются у сервера — они возвращаются вам. Секрет вы при этом не раскрывали (и правильно — disclose_crosschain_secret не отдаст его, пока он-чейн не подтверждена готовность обеих сторон).
Механически возврат делает build_crosschain_refund: собирает неподписанную транзакцию, которую вы подписываете своим кошельком, и заблокированные средства возвращаются на ваш адрес в TON. Сервер и здесь ничего не подписывает и не хранит.
Свап в Polygon завис и не рассчитался.
Верни мои средства из эскроу.
Агент вызывает track_crosschain_swap, убеждается, что расчёт не прошёл и таймлок позволяет возврат, затем build_crosschain_refund — а вы подписываете. Худший исход зависшей сделки здесь — вернуть своё обратно, а не потерять.
Как подключить и попробовать: конфиг MCP и бесплатный ключ
Начать можно бесплатно и локально. Пакет @tonnode/mcp — open source (MIT), лежит на npm и GitHub (tonnode/mcp), работает по нативному ADNL-протоколу TON без HTTP-прослоек.
Бесплатно локально. Полный набор чтения на публичном конфиге, без ключа:
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
MCP-клиент сам поднимет сервер через npx.
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 запросов/мин.
Бесплатный ключ Hobby выдаётся сразу после входа, без карты. Оплатить платные тарифы можно GRAM или USDT в сети TON через TonConnect, либо BTC/ETH/SOL и другими монетами через счёт xRocket в Telegram.
Пара честных оговорок, чтобы не было завышенных ожиданий: архивная глубина истории пока в роадмапе (нода синхронизируется), инструментов для NFT и DNS в TONNode сейчас нет, как нет вебхуков, gasless-релеера и письменных гарантий аптайма. Кроссчейн-продукт — это ровно те пять инструментов, что описаны выше, и они честно двигают ценность из TON в Polygon некастодиально.
Попробуйте кроссчейн сами. Получите бесплатный ключ Hobby и соберите первый своп TON → Polygon своим агентом: tonnode.io/dashboard?plan=hobby. Хотите сперва изучить весь набор из 16 инструментов — загляните на страницу про инструменты.
Дайте вашему агенту доступ к TON
16 MCP-инструментов: чтение, некастодиальные свапы, кроссчейн и кошельки. Бесплатный тариф — 60 запр/мин, карта не нужна.