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

Первый MCP, который даёт агентам двигать ценность между сетями

TONNode — первый MCP, где ИИ-агент не только читает TON, но и некастодиально свапает и делает кроссчейн-свап в 6 EVM-сетей. DeFAI-агент на TON.

MCPTONкроссчейнDeFAI-агентнекастодиальный свапИИ-агенты

DeFAI-агент на TON: почему чтения блокчейна агенту мало

Ваш ИИ-агент умеет отвечать на вопросы про TON — баланс кошелька, статус контракта, историю транзакций. Пользователь пишет: «У меня 500 USDT в TON, хочу зайти в позицию на Base». И агент останавливается. Он всё видит, но ничего не может сделать. Между «прочитать блокчейн» и «подвинуть ценность» лежит пропасть, которую обычный read-only MCP не перепрыгивает. Читающий агент — это дашборд с чатом. DeFAI (DeFi + AI) начинается там, где агент двигает ценность, а не только смотрит на неё.

Вторая стена — доверие. Большинство «умных кошельков для агентов» кастодиальны: чтобы агент мог что-то отправить, кто-то должен держать ключ и подписывать. Для автономного бота это означает, что приватный или operator-ключ лежит там, где вы им не управляете. Для продакшена с чужими деньгами это неприемлемо.

TONNode — hosted MCP-сервер для TON (сайт tonnode.io), в котором ровно 16 инструментов: чтение, свап, кроссчейн и генерация кошелька. Ключевое: инструменты свапа, кроссчейна и кошелька строго некастодиальны. Сервер никогда не подписывает и не хранит средства и приватные ключи — он возвращает неподписанные TonConnect-сообщения, которые подписывает кошелёк пользователя. Это и есть MCP кроссчейн TON без компромисса по контролю над ключами.

Чтобы действие было безопасным, нужны две вещи:

  • Агент готовит транзакцию, но не подписывает её. Подпись ставит кошелёк пользователя через TonConnect. Сервер не касается ключей.
  • Агент умеет работать за пределами одной сети. Ценность в крипте живёт в нескольких сетях сразу, и «только TON» — это половина задачи.

TONNode делает обе. Ниже — как из этих инструментов собрать реального DeFAI-агента.

Некастодиальный свап: get_swap_quote и build_swap_tx через Omniston

Свап в TONNode — это два инструмента, разделённых по ответственности: сначала котировка, потом сборка.

  • get_swap_quote — твёрдая котировка обмена GRAM⇄жетон через протокол Omniston, который агрегирует ликвидность STON.fi и DeDust. То есть агент получает лучшую цену из двух крупнейших DEX сразу, а не гадает, где выгоднее.
  • build_swap_tx — собирает неподписанную транзакцию свапа, готовую для TonConnect. Именно этот шаг и есть суть некастодиальности: сервер отдаёт сообщение, а подписывает его кошелёк пользователя.

Аналогия простая. get_swap_quote — это ценник в обменнике. build_swap_tx — заполненная квитанция, которую вы читаете и подписываете сами. Кассир (сервер) не лезет к вам в кошелёк.

В диалоге с агентом это выглядит так:

Пользователь: обменяй 100 GRAM на USDT, покажи курс перед подтверждением

Агент → get_swap_quote (GRAM → USDT, 100)
Агент: получишь ≈ X USDT по курсу Y (маршрут Omniston). Собрать транзакцию?

Пользователь: да

Агент → build_swap_tx
Агент: готово, подпиши в кошельке ↓ (TonConnect)

Важная деталь для корректных сумм: жетоны хранятся в raw-единицах, и пересчёт зависит от decimals. У USDT decimals = 6, у большинства жетонов — 9. Перед показом баланса или суммы агент должен вызвать get_jetton_info (метаданные жетона: имя, символ, decimals, эмиссия) и get_jetton_balance (баланс жетона; джеттон-кошелёк вычисляется он-чейн). Иначе агент покажет пользователю «50000000» вместо «50».

Ключи не покидают устройство пользователя ни на одном шаге. Подробнее про эту схему — в разборе некастодиального свапа для агентов.

MCP кроссчейн для TON: атомарный HTLC-эскроу и путь в 6 EVM-сетей

Теперь то, чего нет больше ни у одного MCP для TON: кроссчейн-свап из TON в EVM-сети без моста-кастодиана. TONNode делает это через атомарный HTLC-эскроу (Hashed TimeLock Contract).

Механика похожа на сделку через ячейку с двумя замками:

  1. Средства запираются в эскроу-контракте на обеих сетях под один хеш секрета.
  2. Пока секрет не раскрыт, деньги не двигаются никуда.
  3. Раскрытие секрета одновременно разблокирует обе стороны — либо сделка проходит целиком, либо не проходит вообще. Промежуточного «деньги ушли, а обратно не пришли» здесь нет.
  4. Если контрагент завис — по таймауту средства возвращаются владельцу.

Поддерживаются ровно эти сети, и TON всегда источник:

  • Ethereum
  • Arbitrum
  • Base
  • BNB Chain
  • Polygon
  • Avalanche

TRON пока не поддерживается — важно честно говорить это пользователю, чтобы агент не обещал невозможное.

Ключевой момент некастодиальности здесь: build_crosschain_swap_tx возвращает и неподписанную HTLC-эскроу транзакцию, и секрет — секрет остаётся у пользователя/агента, а не на сервере. Раскрытие секрета — отдельный явный шаг после проверки готовности он-чейн. Полный разбор механики — в статье про кроссчейн-свап TON → Ethereum.

Пять инструментов кроссчейна: квота, сборка, трекинг, раскрытие, рефанд

Кроссчейн-сделка — это не одна кнопка, а конечный автомат. Каждому состоянию соответствует свой инструмент:

  1. get_crosschain_quote — котировка кроссчейн-обмена: сколько получит пользователь в целевой сети, комиссии, маршрут.
  2. build_crosschain_swap_tx — неподписанная HTLC-эскроу транзакция + секрет. Транзакцию подписывает кошелёк пользователя, секрет остаётся у него.
  3. track_crosschain_swap — фазы сделки на обеих сетях: заперто ли в эскроу на TON, появилось ли встречное запирание на EVM-стороне, раскрыт ли секрет, завершён ли расчёт.
  4. disclose_crosschain_secret — раскрыть секрет для расчёта, но только после проверки готовности он-чейн. Это защита от того, чтобы раскрыть секрет раньше времени и потерять контроль над сделкой.
  5. build_crosschain_refund — собирает транзакцию возврата средств из эскроу, если сделка зависла и сработал таймаут.

Полный жизненный цикл сделки

Так выглядит поток, который прогоняет агент от котировки до расчёта или возврата:

get_crosschain_quote        → котировка TON → Base
build_crosschain_swap_tx    → неподписанная HTLC-эскроу tx + секрет
   (пользователь подписывает эскроу своим кошельком)
track_crosschain_swap       → ждём готовности встречной стороны
disclose_crosschain_secret  → раскрываем секрет, идёт расчёт
   ── если зависло ──
build_crosschain_refund     → возврат из эскроу

Обратите внимание: рефанд встроен в дизайн, а не пришит сбоку. Именно build_crosschain_refund делает конструкцию безопасной для автономного агента: даже если что-то пошло не так, средства не застревают — есть детерминированный путь возврата. Эта пятёрка превращает «страшный мост» в предсказуемый пошаговый процесс.

В чём ров TONNode: некастодиальность + кроссчейн + hosted

Сравним честно с официальным пакетом. @ton/mcp от TON Foundation — это кастодиальный агент-кошелёк со split-key схемой: operator-ключ держит агент, owner-ключ — пользователь, и агент подписывает сам. Он умеет многое — чтение, отправку GRAM/жетонов/NFT, свап через DEX-агрегатор, работу с NFT и DNS, создание и импорт агент-кошельков, и он официальный. Это сильные стороны, и принижать их незачем.

Но два ограничения существенны:

  • Он кастодиальный — operator-ключ у агента, то есть агент может тратить автономно. Для одних сценариев это удобно, для других — неприемлемый риск.
  • Он только TON — кроссчейна нет.

TONNode отличается по трём осям:

Официальный @ton/mcp TONNode
Модель ключей Кастодиальный (split-key, подписывает сам) Некастодиальный (возвращает неподписанные TonConnect-сообщения)
Кроссчейн Нет, только TON TON → 6 EVM-сетей, атомарный HTLC
Развёртывание Локально / HTTP / serverless Локально (npx) и hosted-эндпоинт

Некастодиальность — не галочка, а архитектурный ров. Сервер никогда не подписывает и не хранит средства и приватные ключи. Даже generate_wallet (создаёт новый TON-кошелёк версий v3r2 / v4 / v5r1 / highload_v3) отдаёт мнемонику и ключи пользователю — сервер их не хранит. Развёрнутое сравнение подходов — в материале кастодиальный против некастодиального MCP.

Небольшая терминологическая деталь, чтобы не путаться: GRAM — это переименованный Toncoin (переименование прошло в июне 2026), сама сеть по-прежнему называется TON.

Как подключить и собрать своего DeFAI-агента

Начать можно бесплатно и локально, без карты и без регистрации. Пакет @tonnode/mcpopen source (MIT), работает по нативному ADNL-протоколу TON без HTTP-прослоек.

Локальный и hosted-конфиг

Локальный конфиг (публичный набор, полное чтение) — просто добавьте в конфиг MCP-клиента:

{
  "mcpServers": {
    "ton": { "command": "npx", "args": ["-y", "@tonnode/mcp"] }
  }
}

Hosted-эндпоинт (гарантированная пропускная способность, свой ключ):

{
  "mcpServers": {
    "ton": {
      "type": "http",
      "url": "https://mcp.tonnode.io/mcp",
      "headers": { "Authorization": "Bearer tn_live_…" }
    }
  }
}

Конфиг подходит любому MCP-клиенту: Claude, Cursor, ChatGPT/Codex.

Каркас DeFAI-агента

Каркас DeFAI-агента на инструментах TONNode — типичный поток «зайти в позицию в другой сети»:

Проверить, что есть у пользователя:
  get_balance          → баланс GRAM
  get_jetton_info      → decimals жетона (USDT = 6, обычно 9)
  get_jetton_balance   → баланс USDT/жетона (кошелёк вычисляется он-чейн)

Если пользователь хочет обмен внутри TON:
  get_swap_quote → build_swap_tx → подпись в кошельке

Если пользователь хочет вывести ценность в Base/Ethereum/…:
  get_crosschain_quote
  → build_crosschain_swap_tx (подпись, секрет у пользователя)
  → track_crosschain_swap (ждём готовности)
  → disclose_crosschain_secret (расчёт)
  → build_crosschain_refund (если зависло)

Дальше всё держится на системном промпте — клиент сам роутит вызовы:

Ты — DeFAI-ассистент для TON. Правила:
1. Перед любой суммой жетона вызывай get_jetton_info (decimals)
   и get_jetton_balance.
2. Для свапа: сначала get_swap_quote, покажи курс, затем build_swap_tx.
   Никогда не проси приватные ключи — транзакцию подписывает
   кошелёк пользователя через TonConnect.
3. Для кроссчейна: get_crosschain_quote → build_crosschain_swap_tx →
   track_crosschain_swap → disclose_crosschain_secret.
   Источник — всегда TON, цель — одна из 6 EVM-сетей
   (Ethereum, Arbitrum, Base, BNB Chain, Polygon, Avalanche);
   TRON не поддерживается.
4. Если сделка зависла — предложи build_crosschain_refund.

Пошаговую сборку торгового агента разбираем отдельно — как построить торгового агента на TON.

Тарифы

На всех тарифах доступны все 16 инструментов, платите только за пропускную способность:

  • Hobby — бесплатно навсегда, 60 запросов/мин
  • Pro — $29/мес, 300 запросов/мин
  • Scale — $199/мес, 1200 запросов/мин

Бесплатный ключ Hobby выдаётся сразу после входа, без карты. Оплатить Pro/Scale можно в GRAM или USDT в сети TON через TonConnect, либо в BTC/ETH/SOL и других через счёт xRocket в Telegram; ключ выдаётся автоматически после расчёта платежа.


Read-only MCP делает агента наблюдателем. Некастодиальный свап и кроссчейн делают его исполнителем — без того, чтобы забирать у пользователя ключи. Читать TON умеют многие; двигать ценность из TON в шесть EVM-сетей, не отдавая ключи, — пока только TONNode. Это и есть DeFAI на TON: агент двигает ценность, а контроль остаётся у владельца.

Заберите бесплатный ключ Hobby и подключите первого агента прямо сейчас → tonnode.io/dashboard?plan=hobby

Дальше по теме: полный список инструментов на tonnode.io/mcp, лимиты и тарифы на tonnode.io/pricing.

Дайте вашему агенту доступ к TON

16 MCP-инструментов: чтение, некастодиальные свапы, кроссчейн и кошельки. Бесплатный тариф — 60 запр/мин, карта не нужна.