Skip to main content
T TON Adoption
← Glossary
NODE/03 · Term

TON Connect

Standard wallet-connection protocol for TON. Lets dApps and Telegram Mini Apps authenticate users and request signatures from any compatible wallet — analogous to WalletConnect on Ethereum.

Aliases: tonconnect, ton connect 2

TON Connect is the protocol that lets a web app, a Telegram Mini App, or a backend talk to a user’s TON wallet. It plays the role WalletConnect plays in the Ethereum world: the dApp shows a QR code or a deep link, the user approves in their wallet, a session is established, and the dApp can request signatures.

The basic flow

  1. The dApp generates a session payload.
  2. The user scans a QR code (desktop) or follows a deep link (mobile / Mini App).
  3. The wallet shows the connection request — origin, requested permissions, optional proof.
  4. On approval, the dApp receives the user’s address and a public key, and can later request transaction signatures.

The session is bidirectional and survives navigation; the dApp does not need to keep re-prompting.

Wallets that support it

By 2026, more than 30 wallets implement TON Connect 2, including:

  • Tonkeeper — the most-used reference implementation.
  • MyTonWallet — browser extension and standalone app.
  • Tonhub — mobile wallet from the Whales team.
  • Wallet (@wallet) — Telegram’s in-chat wallet.
  • Bitget Wallet, OKX Wallet, Binance Web3 Wallet — major exchange-backed wallets that added TON support.

If a wallet supports TON, it nearly always supports TON Connect.

Why it matters for Mini Apps

TON Connect is the mandatory integration for any Telegram Mini App that wants to accept payments in TON or jettons. The Telegram in-app wallet, third-party wallets, and Telegram Stars conversion all flow through it. Without TON Connect, a Mini App can only accept Telegram Stars (and even then sometimes pulls funds via TON Connect on the back-end).

SDKs

The official kit lives on npm:

  • @tonconnect/sdk — pure JS, framework-agnostic.
  • @tonconnect/ui — drop-in connect button (vanilla JS).
  • @tonconnect/ui-react — React hooks and components.

A typical React integration is roughly twenty lines: wrap the app in <TonConnectUIProvider manifestUrl=...>, drop a <TonConnectButton />, and use the useTonAddress() and useTonConnectUI() hooks.

Security model

Wallets never share private keys with the dApp. Every transaction is signed inside the wallet and pushed back as a signed payload. The dApp can only request signatures, not extract them.

The protocol also supports proof of address ownership: a fresh signed message from the wallet, used by backends to authenticate a user without a username/password. This is the mechanism behind “log in with TON” buttons.

Compared with WalletConnect

The user experience is similar — QR or deep link, session with the wallet — but the wire format is TON-native: addresses, cells, and TVM-shaped transactions. TON Connect does not bridge to Ethereum chains, and there is no single “TON Connect Cloud” relay; each wallet runs its own bridge.

Related terms