Все статьи
7 мин чтения

Кроссчейн-свапы из TON в Arbitrum: как это работает

Кроссчейн своп TON → Arbitrum через MCP: атомарный HTLC-эскроу, некастодиально, без хранения ключей. Как работает поток и какие сети поддержаны.

кроссчейнTONArbitrumHTLCнекастодиальностьMCP

Кроссчейн-своп 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 запр/мин, карта не нужна.