Кроссчейн-свапы из TON в BNB Chain: как это работает
Кроссчейн своп TON BNB: как атомарный HTLC-эскроу двигает ценность из TON в BNB Chain некастодиально, через MCP-инструменты TONNode.
Агент, которому поручили «обменять GRAM на BNB и заплатить контрагенту в сети BNB Chain», упирается в стену на первом же шаге. У него нет способа безопасно перевести ценность между двумя блокчейнами, которые ничего не знают друг о друге. Классический путь — централизованный мост или биржа: закинь монеты, доверься, жди и надейся, что средства не застрянут между сетями. Для автономного ИИ-агента это неприемлемо: он не может «доверять» кастодиану, не имеет права отдавать чужие ключи третьей стороне и не имеет рук, чтобы вручную разрулить зависшую транзакцию.
Нужен способ переместить ценность из TON в BNB Chain так, чтобы либо всё прошло целиком, либо всё вернулось назад — без посредника, который держит деньги. Ровно это делает кроссчейн-своп через атомарный HTLC-эскроу. Ниже разберём, как он устроен, какими пятью MCP-инструментами TONNode агент проводит сделку, и почему сервер при этом ни разу не касается ваших средств.
Что такое кроссчейн-своп TON → BNB Chain и зачем он агенту
Кроссчейн-своп — это обмен актива в одной сети на актив в другой без общего реестра между ними. TON и BNB Chain — две независимые сети со своими виртуальными машинами; у них нет общего «банка», который бы просто переписал баланс. Значит, нужен протокол, который синхронизирует два независимых перевода так, чтобы они стали неразрывны.
В TONNode кроссчейн всегда идёт из TON как источника в целевую EVM-сеть — в нашем случае BNB Chain. Обратного направления и «BNB как источника» нет: TON — всегда отправная точка. Вы блокируете GRAM или жетон на стороне TON, а получаете актив на стороне BNB Chain.
GRAM — это переименованный в июне 2026 Toncoin. Сеть по-прежнему называется TON, изменилось только имя монеты.
Зачем это агенту? Потому что реальные задачи редко замыкаются внутри одной сети. Агент-казначей держит казну в GRAM, но поставщику надо заплатить в BNB Chain. Торговый бот видит арбитраж между DEX на TON и на BNB. Ассистент выполняет поручение «переведи эквивалент 50 GRAM контрагенту в BSC». Во всех случаях нужен способ пересечь границу сетей — детерминированно, без кастодиана и без ручного вмешательства.
Как работает атомарный HTLC-эскроу: секрет, хэш и таймлок
HTLC расшифровывается как Hashed Timelock Contract — контракт с хэш-замком и таймлоком. Звучит сложно, но аналогия простая.
Представьте две ячейки-сейфа: одна в TON, другая в BNB Chain. Обе запираются одним и тем же замком, который открывается единственным секретным ключом — случайным числом, «секретом» S. В блокчейн кладётся не сам секрет, а его хэш H = hash(S) — как отпечаток замка. Кто угодно может проверить, что ключ подходит к замку, но по отпечатку сам ключ не восстановить.
Ячейку на BNB Chain наполняете не вы: встречную ногу выставляет контрагент — резолвер (маркет-мейкер), который блокирует BNB под тем же хэшем H, рассчитывая забрать ваши GRAM на стороне TON тем же секретом. Именно поэтому сделка симметрична: обе стороны заперты одним замком.
Дальше работают два условия:
- Хэш-замок. Забрать средства из ячейки можно, только предъявив секрет, совпадающий с опубликованным хэшем. Как только секрет раскрыт на одной стороне, он становится виден и на другой — и вторая нога сделки исполняется тем же ключом. Кто забирает средства, обязан предъявить
Sв открытом виде он-чейн. - Таймлок. У каждой ячейки есть таймер. Если сделка не завершилась до истечения таймлока, средства возвращаются исходному владельцу. Таймлоки выставлены так, что сторона, раскрывающая секрет первой, не может обмануть встречную сторону.
Итог — атомарность: либо исполняются обе ноги, либо возвращаются обе. Промежуточного состояния, где вы отдали GRAM, а BNB не пришли, физически не существует. Никакой третьей стороны, которая «гарантирует» сделку, здесь нет — гарантию даёт математика хэш-функции и логика таймлоков в контрактах. Это тот же механизм, что стоит за атомарными свопами и Lightning-платежами, только адаптированный под TON и EVM.
Пять инструментов сделки: котировка, сборка, трекинг, раскрытие, рефанд
Весь жизненный цикл кроссчейн-свопа в TONNode покрыт пятью MCP-инструментами. Агент вызывает их по очереди — как ступени одной сделки.
get_crosschain_quote — котировка
Возвращает котировку сделки TON → BNB Chain: сколько вы отдаёте на стороне TON и сколько получаете на стороне BNB Chain. С этого начинается любой своп — агент показывает цифры пользователю до того, как что-либо блокируется.
build_crosschain_swap_tx — сборка транзакции + секрет
Отдаёт неподписанную HTLC-эскроу транзакцию плюс секрет. Транзакцию подписывает кошелёк пользователя через TonConnect, а не сервер. Секрет S генерируется здесь же и остаётся у пользователя/агента — именно им позже разблокируется вторая нога. Сервер сгенерировал транзакцию и хэш, но подпись и владение секретом остаются у пользователя.
track_crosschain_swap — трекинг фаз
Показывает фазы сделки на обеих сетях — и на TON, и на BNB Chain: заблокирована ли нога на TON, появилась ли встречная нога на BNB Chain, раскрыт ли секрет, завершён ли расчёт. Это глаза агента: без трекинга он не знает, когда безопасно раскрывать секрет и не пора ли делать рефанд.
disclose_crosschain_secret — раскрытие секрета
Раскрывает секрет для расчёта — но только после проверки готовности он-чейн. Инструмент не отдаст S вслепую: сначала он убеждается, что встречная нога на BNB Chain действительно на месте и условия выполнены. Это защищает от ситуации, где вы раскрыли секрет, а получать с той стороны нечего.
build_crosschain_refund — возврат из эскроу
Собирает транзакцию возврата средств из эскроу, если сделка зависла, — по истечении таймлока. Тоже неподписанная транзакция для TonConnect. Страховочный трос, к которому мы вернёмся в конце.
Почему это некастодиально: сервер не подписывает и не хранит ключи
Здесь проходит главная линия TONNode. Инструменты свопа, кроссчейна и кошелька строго некастодиальны. Сервер НИКОГДА не подписывает и не хранит средства и приватные ключи — он возвращает только неподписанные TonConnect-сообщения, которые подписывает кошелёк пользователя.
Разберём на кроссчейне конкретно:
build_crosschain_swap_txотдаёт транзакцию без подписи. Подпись ставит кошелёк пользователя — Tonkeeper, MyTonWallet, любой TonConnect-совместимый. Пока пользователь не подтвердит транзакцию, ничего не блокируется.- Секрет
Sуходит на клиент. Сервер не может тайком забрать средства из эскроу: для этого нужна подпись владельца, а её у сервера нет. - Даже рефанд — это неподписанная транзакция: возврат инициирует пользователь, не сервер.
Практический вывод: скомпрометированный сервер не приводит к краже средств — там нечего уводить: ни ключей, ни подписей, ни контроля над эскроу. Максимум, что может «сломаться», — отказ в обслуживании (агент не получит котировку), но не потеря денег.
Сравните это с кастодиальной моделью, где агент-кошелёк держит operator-ключ и подписывает сам. Обе модели имеют право на жизнь, но для кроссчейна через две независимые сети некастодиальность особенно важна — вы не хотите, чтобы посредник контролировал деньги, зависшие между блокчейнами. Подробный разбор двух подходов — в статье Кастодиальный или некастодиальный MCP, а как это выглядит для обычного свопа внутри TON — в Некастодиальный своп для агента.
Какие сети поддержаны (и почему TRON пока нет)
Кроссчейн в TONNode всегда идёт из TON в целевую EVM-сеть. Поддерживаемые цели:
- Ethereum
- Arbitrum
- Base
- BNB Chain (наш случай)
- Polygon
- Avalanche
TRON пока НЕ поддерживается. Причина техническая: атомарный HTLC-эскроу требует, чтобы целевая сеть одинаково трактовала хэш-таймлок-контракты в рамках выбранного протокола эскроу. Перечисленные шесть сетей EVM-совместимы и укладываются в эту модель; TRON, несмотря на внешнее сходство, живёт по своей модели и требует отдельной реализации эскроу. Пока её нет — TRON в списке нет, и мы не выдаём желаемое за факт.
Про самую популярную пару — TON → Ethereum — есть отдельный разбор: Кроссчейн-своп TON → Ethereum. Механика та же, меняется только целевая сеть.
Пошаговый прогон свопа TON → BNB через MCP
Сначала подключим TONNode к агенту. Локальный публичный конфиг @tonnode/mcp бесплатен и даёт полный набор инструментов чтения — но только чтение. Пакет — open source (MIT), работает по нативному ADNL-протоколу TON, без HTTP-прослоек:
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
Важное уточнение: пять кроссчейн-инструментов через локальный публичный npx недоступны — там только чтение. Кроссчейн-сделка идёт через hosted-эндпоинт со своим ключом, и для неё достаточно бесплатного ключа Hobby:
{
"mcpServers": {
"ton": {
"type": "http",
"url": "https://mcp.tonnode.io/mcp",
"headers": {
"Authorization": "Bearer tn_live_…"
}
}
}
}
На hosted-ключе все 16 инструментов — включая пять кроссчейн-инструментов — доступны на любом тарифе, начиная с бесплатного Hobby. Платите вы только за пропускную способность (Hobby — бесплатно, 60 запросов/мин; Pro — $29/мес, 300 запросов/мин; Scale — $199/мес, 1200 запросов/мин). Кроссчейн не заперт за старшим планом — но локальный npx для него не годится, нужен hosted-ключ.
Теперь сам прогон. Промпт агенту может быть максимально человеческим:
«Обменяй 50 GRAM из моего TON-кошелька на BNB Chain на адрес
0x…. Сначала покажи котировку, потом собери транзакцию — подпишу сам.»
Что происходит под капотом:
- Котировка. Агент вызывает
get_crosschain_quote(источник TON, цель BNB Chain, сумма 50 GRAM) и показывает, сколько придёт на стороне BNB Chain. - Сборка. После вашего «ок» агент вызывает
build_crosschain_swap_tx. Получает неподписанную HTLC-эскроу транзакцию и секретS. Транзакцию вы подтверждаете в своём кошельке через TonConnect. Средства блокируются в эскроу на стороне TON под хэшH. - Трекинг. Агент периодически вызывает
track_crosschain_swapи следит за фазами на обеих сетях: заблокирована ли TON-нога, поднялась ли встречная нога на BNB Chain (её выставляет резолвер под тем же хэшемH). - Раскрытие и расчёт. Как только
track_crosschain_swapпоказывает готовность, агент вызываетdisclose_crosschain_secret. Инструмент проверяет готовность он-чейн и раскрываетS— секрет становится виден в BNB Chain, обе ноги исполняются, BNB приходят на ваш адрес. - Подтверждение. Финальный
track_crosschain_swapпоказывает, что обе стороны рассчитаны. Сделка закрыта.
Вся суть в том, что вы в любой момент видите состояние сделки на двух сетях и подписываете только то, что видите. Если вам интересна общая философия первого перемещения ценности из TON через MCP — она разобрана в Первый кроссчейн-перевод ценности из TON.
Если сделка зависла: возврат средств из эскроу
Кроссчейн — это две независимые сети, и иногда встречная нога не поднимается: у контрагента проблемы, сеть перегружена, что-то пошло не так. В кастодиальной модели тут начинается переписка с поддержкой. В HTLC — просто ждёт таймлок.
Средства заблокированы не навсегда. Как только таймлок истёк, а сделка не завершилась, агент вызывает build_crosschain_refund и получает неподписанную транзакцию возврата из эскроу. Вы подписываете её своим кошельком через TonConnect — и заблокированные GRAM возвращаются вам. Никаких «средства зависли навсегда»: это гарантия, встроенная в сам контракт, а не обещание сервиса.
Промпт может быть таким:
«Мой кроссчейн-своп на BNB Chain не завершился. Проверь статус и, если таймлок истёк, верни мои средства.»
Агент вызовет track_crosschain_swap, убедится, что расчёт не прошёл и таймлок позади, затем соберёт возврат через build_crosschain_refund и отдаст вам транзакцию на подпись.
Ключевой момент безопасности: секрет через disclose_crosschain_secret раскрывается только после проверки готовности он-чейн. Агент не окажется в ловушке, где секрет уже раскрыт, а получать нечего. Либо расчёт проходит атомарно, либо по таймлоку срабатывает рефанд. Третьего не дано — это и есть смысл слова «атомарный».
Забрать бесплатный ключ и подключить кроссчейн
Пять кроссчейн-инструментов входят в стандартный набор из 16 — их не нужно докупать. Возьмите бесплатный ключ Hobby (60 запросов/мин, без карты, выдаётся сразу после входа) и подключите TONNode к своему агенту: tonnode.io/dashboard?plan=hobby.
Хотите сначала посмотреть весь набор из 16 инструментов и их параметры — страница инструментов: tonnode.io/mcp.
Кроссчейн из TON в BNB Chain перестаёт быть задачей «доверься мосту» и становится обычным вызовом инструмента — атомарным, некастодиальным и с гарантированным возвратом, если что-то пойдёт не так.
Дайте вашему агенту доступ к TON
16 MCP-инструментов: чтение, некастодиальные свапы, кроссчейн и кошельки. Бесплатный тариф — 60 запр/мин, карта не нужна.