Кроссчейн-свапы из TON в Avalanche: как это работает
Кроссчейн своп TON → Avalanche через MCP: атомарный HTLC-эскроу, некастодиально, без хранения ключей на сервере. 5 инструментов и рабочий сценарий.
Зачем агенту двигать ценность из TON в Avalanche
Ваш агент нашёл выгодную цену на актив в Avalanche, но весь его баланс лежит в GRAM на TON. Дальше — знакомый ад: вывести GRAM на биржу, дождаться зачисления, пройти KYC, купить нужный токен, вывести в сеть Avalanche, заплатить за каждый шаг комиссией и временем. Пять ручных операций, три доверенных посредника и полчаса, за которые цена уже уехала.
Для человека это раздражает. Для автономного ИИ-агента это несовместимо с автономностью: у него нет аккаунта на бирже и нет права проходить верификацию за вас, а строить надёжный процесс поверх кастодиана, который в любой момент заморозит вывод, попросту нельзя. На каждом шаге кто-то держит ваши деньги, и агенту приходится где-то хранить API-ключ биржи или seed-фразу горячего кошелька.
Кроссчейн-своп 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 запр/мин, карта не нужна.