Кроссчейн-свапы из TON в Arbitrum: как это работает
Кроссчейн своп TON → Arbitrum через MCP: атомарный HTLC-эскроу, некастодиально, без хранения ключей. Как работает поток и какие сети поддержаны.
Кроссчейн-своп TON → Arbitrum: деньги застряли между двумя сетями
Классический сценарий: ваш ИИ-агент держит баланс на TON-кошельке — GRAM или USDT, — а оплатить нужно контракт в Arbitrum. Там дешёвый газ, там ликвидность, там нужный протокол. Обычный путь выглядит так: вывести на биржу, дождаться зачисления, купить ETH, вывести в Arbitrum, потерять на спреде и комиссиях — и всё это вручную, через кастодиальный сервис, которому вы отдаёте средства «на подержать». Для человека это полчаса возни. Для автономного агента — стена: у него нет аккаунта на бирже, нет KYC, и доверять чужому серверу приватный ключ он не должен по определению. А каждый мост — это ещё и отдельная интеграция, отдельная точка отказа, и регулярные новости про «мост взломали».
Кроссчейн-свап TON → Arbitrum решает ровно эту боль: переместить стоимость из TON в другую сеть одной атомарной сделкой, не отдавая никому приватный ключ. Ниже — как это устроено под капотом и как подключить это к агенту через пять MCP-инструментов TONNode.
Зачем свапать из TON в Arbitrum и какие сети ещё доступны
Arbitrum — популярное L2-назначение поверх Ethereum: низкая комиссия, зрелая DeFi-инфраструктура, много протоколов, которых нет на TON. Типичные поводы уйти именно туда:
- забрать USDT в экосистему, где его принимает нужный протокол;
- зайти в позицию на Arbitrum-нативном DEX или перп-протоколе;
- расплатиться в сети, которую поддерживает контрагент.
В TONNode кроссчейн поддерживает шесть сетей назначения:
- Ethereum
- Arbitrum
- Base
- BNB Chain
- Polygon
- Avalanche
Важное ограничение, которое стоит держать в голове: TON всегда источник. Поток идёт из TON в EVM-сеть, а не наоборот. И TRON пока не поддерживается — если кто-то ждёт USDT-TRC20 напрямую, этого маршрута нет, не закладывайте его в логику агента. Arbitrum здесь просто один из шести адресатов; всё описанное ниже дословно верно и для перехода TON → Ethereum или TON → Base — меняется только сеть назначения в котировке.
Что такое HTLC-эскроу и почему свап атомарный
Главный вопрос любого кроссчейн-обмена: как обменять актив в сети A на актив в сети B, если у сетей нет общего «судьи»? Наивный вариант — довериться посреднику — и есть тот самый кастодиальный риск.
TONNode использует атомарный HTLC-эскроу (Hashed TimeLock Contract — контракт с хэш-замком и таймером). Аналогия: две ячейки-сейфа, по одной в каждой сети, и обе открываются одним и тем же ключом-секретом. Работает это через два свойства:
- Хэш-замок (hash lock). Генерируется случайный секрет
S, от него берётся хэшH = hash(S). Обе ячейки — эскроу на TON и эскроу на Arbitrum — запираются на этот хэш с условием «выдать тому, кто предъявитS, такой чтоhash(S) == H». Пока секрет не раскрыт, никто ничего не забирает; как толькоSпредъявлен на одной стороне, он становится виден и на другой. - Таймер (time lock). У каждой ячейки есть срок. Если сделка не сложилась, по истечении таймлока средства возвращаются исходному владельцу.
Отсюда и слово атомарный: сделка либо проходит на обеих сетях (секрет раскрыт — оба эскроу исполнены), либо не проходит нигде (таймлок истёк — оба возврата). Промежуточного состояния «деньги ушли из TON, но не пришли в Arbitrum» здесь не бывает. Это не мост с общим пулом, который можно взломать, а связка двух независимых эскроу, синхронизированных одним секретом.
Поток кроссчейн-свапа TON → Arbitrum по шагам
Весь обмен — это пять инструментов, вызываемых по порядку. Каждый делает ровно одну вещь.
1. get_crosschain_quote — котировка
Спрашиваете: сколько получу в Arbitrum за X GRAM (или за X USDT на TON). Возвращается твёрдая котировка по маршруту — курс, комиссии, параметры.
2. build_crosschain_swap_tx — неподписанная HTLC-транзакция + секрет
Сервер собирает неподписанную транзакцию, которая создаёт эскроу на стороне TON, и отдаёт вам секрет S (тот самый ключ от обеих ячеек). Транзакция ещё не отправлена и не подписана — её подпишет кошелёк пользователя через TonConnect. Секрет остаётся у вас; именно им вы позже завершите расчёт.
3. track_crosschain_swap — фазы сделки на обеих сетях
После того как эскроу на TON создан, контрагент выставляет встречный эскроу на Arbitrum. Этот инструмент показывает фазы сделки на обеих сетях: создан ли эскроу источника, появился ли эскроу назначения, готово ли всё к расчёту. Это ваш он-чейн-детектор готовности — вы буквально видите обе ячейки.
4. disclose_crosschain_secret — раскрыть секрет для расчёта
Ключевой момент безопасности. Секрет раскрывается только после проверки готовности эскроу он-чейн — то есть после того, как инструмент убедился, что встречная ячейка в Arbitrum действительно существует и заполнена по правильному хэш-замку. Смысл проверки прямой: пока встречный эскроу не сформирован, секрет раскрывать нельзя — иначе контрагент заберёт ваши средства, не исполнив свою часть. Как только секрет раскрыт, обе стороны получают своё.
5. build_crosschain_refund — страховка
Если сделка зависла — собирает транзакцию возврата средств из эскроу по истечении таймлока. Об этом — отдельный раздел ниже.
Схема потока:
get_crosschain_quote → котировка TON → Arbitrum
build_crosschain_swap_tx → неподписанная HTLC-tx + секрет (подписывает кошелёк)
track_crosschain_swap → фазы на TON и на Arbitrum
disclose_crosschain_secret→ раскрыть секрет после проверки он-чейн
build_crosschain_refund → рефанд, если сделка зависла
Агенту при этом достаточно человеческого промпта — он сам выберет и вызовет инструменты в правильном порядке:
Свапни 50 USDT с моего TON-кошелька на Arbitrum.
Сначала покажи котировку через get_crosschain_quote,
собери HTLC-эскроу транзакцию через build_crosschain_swap_tx
и дай мне подписать её в кошельке. Потом отслеживай фазы на обеих сетях
и раскрой секрет только когда эскроу назначения готов он-чейн.
Ни на одном шаге агент не просит ваш приватный ключ.
Некастодиальность: сервер не подписывает и не хранит ключи
Это то, что отличает подход в корне. build_crosschain_swap_tx возвращает неподписанное TonConnect-сообщение — подпись ставит кошелёк пользователя, а не сервер. Сервер никогда не подписывает и не хранит средства и приватные ключи.
Что это значит на практике:
- Секрет от HTLC отдаётся вам в
build_crosschain_swap_tx, а не остаётся на сервере; раскрытие происходит вашим осознанным действием черезdisclose_crosschain_secret. - Средства всё время лежат в он-чейн эскроу, а не на кошельке провайдера.
- Даже если бы сервер захотел «увести» деньги — ему нечем: ключей нет, подпись не его, а раскрытие секрета инициируете только вы.
То же правило действует и для остальных «пишущих» инструментов TONNode: свап и generate_wallet строго некастодиальны. Для сравнения — официальный @ton/mcp от TON Foundation устроен иначе: это кастодиальный агент-кошелёк со split-key, где operator-ключ держит и подписывает сам агент. Подход рабочий и у него свои плюсы (автономная трата, NFT, DNS, официальность), но он кастодиальный и работает только внутри TON — кроссчейна там нет. TONNode осознанно выбирает противоположную развязку: подпись всегда на стороне пользователя. Подробнее про эту модель для агентов — в разборе почему агентский своп должен быть некастодиальным.
Что делать, если сделка зависла: рефанд из эскроу
Кроссчейн — это две независимые сети, и иногда встречная сторона не исполняет свою часть: эскроу в Arbitrum не появился, или расчёт застрял. Деньги при этом не теряются — они лежат в вашем эскроу на TON под таймлоком.
build_crosschain_refund собирает неподписанную транзакцию возврата — тоже под подпись вашим кошельком. По истечении таймлока средства уходят из эскроу обратно на ваш TON-адрес:
Сделка не прошла, эскроу висит.
Собери возврат через build_crosschain_refund и дай подписать.
Это и есть вторая половина «атомарности»: если сделка не сложилась на обеих сетях, она откатывается. В худшем случае вы теряете немного времени и газ, но не сумму сделки. Никакого «зависшего в мосту» баланса, который потом месяцами выбиваешь через поддержку.
Практическое правило для агента: если track_crosschain_swap долго не показывает готовый эскроу назначения, а таймлок близок к истечению — не раскрывайте секрет, а вызывайте build_crosschain_refund.
Как подключить инструменты кроссчейна к ИИ-агенту
Все пять кроссчейн-инструментов — часть MCP-сервера TONNode. MCP (Model Context Protocol) — это стандарт, по которому Claude, Cursor, ChatGPT/Codex и любой другой MCP-клиент вызывают инструменты. Подключается одним конфигом.
Локально, бесплатно (публичный конфиг, полный набор чтения):
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
Локальный бесплатный запуск даёт полный набор инструментов чтения. Кроссчейн- и своп-инструменты (сборка сделок — build_crosschain_swap_tx, track_crosschain_swap, disclose_crosschain_secret, build_crosschain_refund) работают по hosted-ключу — в том числе по бесплатному Hobby (см. раздел про тарифы ниже).
Hosted (гарантированная пропускная способность, свой ключ):
{
"mcpServers": {
"ton": {
"type": "http",
"url": "https://mcp.tonnode.io/mcp",
"headers": { "Authorization": "Bearer tn_live_…" }
}
}
}
Пакет @tonnode/mcp — open source (MIT), лежит на npm и GitHub (tonnode/mcp), работает по нативному ADNL-протоколу TON без HTTP-прослоек.
Пара технических уточнений, чтобы агент не спотыкался. GRAM — это переименованный Toncoin (переименование в июне 2026), сама сеть по-прежнему называется TON; если агент оперирует «GRAM» в котировке — это тот же нативный токен. Комиссию за hosted-ключ можно оплатить GRAM или USDT в сети TON через TonConnect, либо BTC/ETH/SOL и другими монетами через счёт xRocket в Telegram — ключ выдаётся автоматически после расчёта.
Тарифы и что входит
Все 16 инструментов TONNode — включая пять кроссчейн — доступны на любом тарифе. Платите вы только за пропускную способность, а не за «разблокировку» функций:
- Hobby — бесплатно навсегда, 60 запросов/мин;
- Pro — $29/мес, 300 запросов/мин;
- Scale — $199/мес, 1200 запросов/мин.
Бесплатный ключ Hobby выдаётся сразу после входа, без карты.
Коротко
Кроссчейн-свап TON → Arbitrum в TONNode — это атомарный HTLC-эскроу: один секрет связывает две ячейки в двух сетях, поэтому сделка либо проходит целиком, либо возвращается по таймлоку. Пять инструментов покрывают весь поток — котировка, сборка неподписанной HTLC-транзакции с секретом, отслеживание фаз на обеих сетях, раскрытие секрета после он-чейн-проверки готовности и рефанд при заминке, — а сервер при этом остаётся некастодиальным: не подписывает и не хранит ни средства, ни ключи. Тот же механизм работает и для других направлений: см. разборы свапа TON → Ethereum и TON → Base, а также почему первый кроссчейн-перенос стоимости из TON через MCP — это важно.
Хотите попробовать на живом агенте — получите бесплатный ключ Hobby (все 16 инструментов, включая кроссчейн, 60 запросов/мин, без карты) и загляните на страницу про инструменты.
Дайте вашему агенту доступ к TON
16 MCP-инструментов: чтение, некастодиальные свапы, кроссчейн и кошельки. Бесплатный тариф — 60 запр/мин, карта не нужна.