К основному содержанию
T TON Adoption
Основы BASICS · 2026

TON Connect 2: что изменилось в протоколе подключения

Разбираем, чем TON Connect 2 отличается от первой версии, как устроен JSON-RPC, deep/universal links, bridge-сервера и поддержка multi-wallet picker. Обзор для пользователей и разработчиков.

Автор
TON Adoption Team · исследовательская группа проекта
Опубликовано
5 мин. чтения

TON Connect — открытый протокол подключения кошельков к децентрализованным приложениям на TON. Если на EVM роль такого слоя играет WalletConnect, то в TON-экосистеме эту нишу заняла именно TON Connect. Версия 2, действующая с 2023 года, — текущий промышленный стандарт: на ней работают практически все dApps, mini apps и DEX в экосистеме.

В этой статье разбираем, что именно поменялось между v1 и v2, как устроены bridge-сервера и deep links, чем удобен multi-wallet picker и какие подводные камни ждут разработчиков. Сразу честное уточнение: v2 — это эволюция, а не революция, но именно её улучшения сделали возможным массовое подключение кошельков из mini apps Telegram.

Что такое TON Connect: коротко

TON Connect решает базовую задачу: dApp хочет узнать публичный адрес пользователя, попросить его подписать транзакцию и получить ответ — а пользователь хочет управлять разрешениями и видеть, что он подписывает. Без стандарта каждый кошелёк делал бы это по-своему, и разработчику пришлось бы интегрировать 5–7 SDK.

С TON Connect интеграция выглядит так:

  1. dApp подключает один SDK (@tonconnect/sdk или UI-обёртку).
  2. Пользователь нажимает «Connect wallet», выбирает свой кошелёк из picker’а.
  3. Кошелёк подключается через bridge-сервер или deep link.
  4. dApp получает адрес и может слать запросы на подпись.

Что было плохо в v1

Первая версия TON Connect (2022) была функциональной, но ограниченной:

  • Узкий набор методов — фактически только подключение и одна форма подписи.
  • Нет стандартного picker UI — каждое dApp рисовало свою кнопку, что путало пользователей.
  • Слабая поддержка mobile — подключение шло через QR, что неудобно, если кошелёк и dApp на одном устройстве.
  • Hardcoded схема сообщений без явной версии — расширения ломали обратную совместимость.

v1 не закрепился как универсальный стандарт — большинство кошельков параллельно поддерживали и его, и собственные методы.

Что принёс v2

Ключевые изменения второй версии:

  1. JSON-RPC поверх bridge. Все сообщения — структурированный JSON со схемой, явной версией протокола и расширяемым набором методов.
  2. Bridge-сервера. Промежуточный relay (по умолчанию — серверы Tonkeeper и Tonhub, можно поднять свой) передаёт сообщения между dApp и кошельком. dApp не нужно держать прямое соединение с кошельком.
  3. Deep/universal links. На мобильных вызов tc://... или https://app.tonkeeper.com/ton-connect?... открывает кошелёк сразу с готовым запросом на подключение. QR остаётся как fallback для desktop.
  4. Multi-wallet picker. Список кошельков подгружается из единого реестра (wallets-list.json), пользователь видит знакомые иконки и выбирает.
  5. Стандарт sendTransaction. Чёткая схема для запроса подписи: список сообщений с amount, payload, stateInit; кошелёк показывает их пользователю человеко-читаемо.
  6. Явные права и события. Пользователь видит, что dApp запрашивает (только адрес vs адрес + право слать транзакции). Sessions можно отзывать.

Поддерживаемые кошельки

На май 2026 в реестре TON Connect 2:

  • Tonkeeper — флагман, лучшая UX, поддерживает W5 и эмуляцию.
  • MyTonWallet — кросс-платформа, расширение Chrome + mobile + Telegram mini app.
  • Wallet (Telegram-bot) — встроенный кошелёк @wallet, удобен для не-крипто пользователей.
  • Tonhub — старая школа, продолжает работать.
  • OpenMask — расширение браузера в стиле MetaMask.
  • DeWallet, Bitget Wallet, Bybit Wallet — часть кастодиальных/полу-кастодиальных вариантов.

Полный актуальный список — в репозитории ton-connect/wallets-list на GitHub.

Сравнение с WalletConnect

ПараметрWalletConnect v2TON Connect 2
Целевая сетьEVM, Solana, CosmosTON
ТранспортWebSocket relayHTTP(S) bridge
Подключение mobileDeep link / QRDeep/universal link / QR
Multi-chain в одном sessionДа (CAIP-25)Нет (TON-only)
Multi-wallet версииНетДа (v3/v4/W5)
End-to-end шифрованиеДаДа
Open source SDKДаДа (@tonconnect)

WalletConnect шире как multi-chain зонтик, TON Connect глубже как TON-нативный протокол.

Что значит «JSON-RPC структура»

Простой пример запроса подписи:

{
  "valid_until": 1747900000,
  "messages": [
    {
      "address": "EQA...",
      "amount": "100000000",
      "payload": "te6cck..."
    }
  ]
}

dApp шлёт это через bridge → кошелёк показывает пользователю «отправить 0.1 TON на EQA…» → пользователь подтверждает → кошелёк подписывает BoC и возвращает signed body. dApp может релэйнуть транзакцию через свой API-провайдер (TONAPI, OrbsTonAccess) или вернуть в кошелёк для отправки.

Для мобильных подключений критична поддержка iOS universal links и Android app links:

  • Universal link (https://app.tonkeeper.com/ton-connect?v=2&id=...&r=...) — открывает приложение Tonkeeper, если оно установлено, иначе ведёт на сайт.
  • Deep link (tc://?v=2&id=...&r=...) — открывает только установленное приложение, иначе ничего не происходит.

Современные SDK комбинируют оба варианта: пробуют universal link, в крайнем случае показывают QR.

Гид для разработчиков

Минимальная интеграция TON Connect 2 в React-dApp:

  1. Установка: npm install @tonconnect/ui-react.
  2. Манифест (tonconnect-manifest.json на вашем домене): объявляет URL, иконку, имя приложения. Подписывается self-host’ом.
  3. Провайдер: оборачиваем приложение в <TonConnectUIProvider manifestUrl="...">.
  4. Кнопка: ставим <TonConnectButton /> — она сама рисует picker и обрабатывает состояния.
  5. Транзакции: await tonConnectUI.sendTransaction({...}).

Полные примеры — в официальном репозитории ton-connect/sdk и в документации на docs.ton.org.

UX-улучшения 2024–2026

После релиза v2 в инфраструктуре произошло несколько важных шагов:

  • Tonkeeper Auth — отдельный поток для логина без транзакции (только подпись challenge’а), полезен для Web2-style auth-flow.
  • Transaction emulation — кошелёк показывает пользователю «что произойдёт после подписи» (изменение баланса, jetton-выпуски). Tonkeeper реализовал первым.
  • Batched messages — одна транзакция может содержать до 4 сообщений (стандарт wallet contract v4/v5). UI стандартизирован.
  • Session resume — если пользователь закрыл и открыл dApp, session восстанавливается из localStorage без повторного picker’а.

Куда движется протокол: v3 на горизонте

Сообщество обсуждает v3 с несколькими направлениями:

  • Multi-account в одной сессии — переключение между несколькими адресами одного кошелька без переподключения.
  • Account abstraction-style подсказки — gas sponsorship, batched smart-account операции, восстановление.
  • Стандарт events — кошелёк подписывается на события dApp (например, обновление баланса) без polling’а.
  • Cross-chain hooks — подготовка к мульти-сетевому будущему (TAC и другие L2/мосты).

Конкретного релизного окна v3 нет — ориентир «2026–2027».

Заключение

TON Connect 2 — это инфраструктурный успех TON-экосистемы. Один протокол, единый picker, поддержка большинства кошельков, удобная мобильная интеграция, явная безопасность через bridge + E2E-шифрование. Для пользователя это означает, что подключение кошелька в любом dApp ощущается одинаково и понятно. Для разработчика — что не нужно интегрировать пять SDK, достаточно одного.

Если вы только начинаете строить dApp на TON — используйте сразу @tonconnect/ui-react (или vanilla SDK для Vue/Svelte) и следите за обновлениями реестра кошельков. Если вы пользователь — обращайте внимание на то, что показывает кошелёк перед подписью: TON Connect не защитит от вашего собственного клика «Confirm» на вредоносной транзакции.

Частые вопросы

v2 использует структурированный JSON-RPC поверх bridge-сервера, поддерживает мобильные deep/universal links для подключения без QR, имеет multi-wallet picker UI и явное подтверждение каждой подписи. v1 был ограниченным прототипом без расширяемости.
На май 2026 — Tonkeeper, MyTonWallet, Wallet-bot в Telegram, Tonhub, OpenMask и большинство активных TON-кошельков. Список ведётся в репозитории ton-connect на GitHub и подгружается в picker UI динамически.
Концептуально да: открытый протокол wallet↔dApp поверх relay-инфраструктуры. Технически отличается: JSON-RPC структура и схема сообщений ориентированы на TON-специфику (BoC, jettons, multi-wallet версии).
Нет, обязательного требования нет. @tonconnect/ui-react — самый удобный путь для React-фронтов: готовый компонент кнопки, picker, обработка состояний. Для Vue/Vanilla есть @tonconnect/ui и @tonconnect/sdk. Можно говорить с bridge-сервером и без библиотек, но это редко окупается.

Похожие материалы