Первый MCP, который даёт агентам двигать ценность между сетями
TONNode — первый MCP, где ИИ-агент не только читает TON, но и некастодиально свапает и делает кроссчейн-свап в 6 EVM-сетей. DeFAI-агент на TON.
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).
Механика похожа на сделку через ячейку с двумя замками:
- Средства запираются в эскроу-контракте на обеих сетях под один хеш секрета.
- Пока секрет не раскрыт, деньги не двигаются никуда.
- Раскрытие секрета одновременно разблокирует обе стороны — либо сделка проходит целиком, либо не проходит вообще. Промежуточного «деньги ушли, а обратно не пришли» здесь нет.
- Если контрагент завис — по таймауту средства возвращаются владельцу.
Поддерживаются ровно эти сети, и TON всегда источник:
- Ethereum
- Arbitrum
- Base
- BNB Chain
- Polygon
- Avalanche
TRON пока не поддерживается — важно честно говорить это пользователю, чтобы агент не обещал невозможное.
Ключевой момент некастодиальности здесь: build_crosschain_swap_tx возвращает и неподписанную HTLC-эскроу транзакцию, и секрет — секрет остаётся у пользователя/агента, а не на сервере. Раскрытие секрета — отдельный явный шаг после проверки готовности он-чейн. Полный разбор механики — в статье про кроссчейн-свап TON → Ethereum.
Пять инструментов кроссчейна: квота, сборка, трекинг, раскрытие, рефанд
Кроссчейн-сделка — это не одна кнопка, а конечный автомат. Каждому состоянию соответствует свой инструмент:
get_crosschain_quote— котировка кроссчейн-обмена: сколько получит пользователь в целевой сети, комиссии, маршрут.build_crosschain_swap_tx— неподписанная HTLC-эскроу транзакция + секрет. Транзакцию подписывает кошелёк пользователя, секрет остаётся у него.track_crosschain_swap— фазы сделки на обеих сетях: заперто ли в эскроу на TON, появилось ли встречное запирание на EVM-стороне, раскрыт ли секрет, завершён ли расчёт.disclose_crosschain_secret— раскрыть секрет для расчёта, но только после проверки готовности он-чейн. Это защита от того, чтобы раскрыть секрет раньше времени и потерять контроль над сделкой.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/mcp — open 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 запр/мин, карта не нужна.