# TON Connect overview (https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/overview/content.md)



## What TON Connect is [#what-ton-connect-is]

**TON Connect** is the standard wallet connection protocol for the TON blockchain.

It links a dApp to a user's wallet over an end-to-end encrypted session so the app can read the connected address, request signatures, and send transactions — without ever touching the user's keys.

<video className="w-full rounded-xl" src="/videos/TonConnect.mp4">
  Your browser does not support the \<video> tag.
</video>

## Choose your path [#choose-your-path]

### Build a dApp [#build-a-dapp]

TON Connect allows connecting GRAM wallets to the frontend of web applications or [Telegram Mini Apps](https://core.telegram.org/bots/webapps).

Start here:

* [Get started](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/get-started/content.md) — install the SDK, host a manifest, render a Connect button. React, Next.js, and vanilla JS recipes in one page.
* [How-to recipes](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/connect/content.md) — [connect](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/connect/content.md), [disconnect](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/disconnect/content.md), [send a transaction](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/send-transaction/content.md), [sign data](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/sign-data/content.md), [gasless transfers](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/sign-message-gasless/content.md), [embedded requests](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/embedded-request/content.md), [filter wallets](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/filter-wallets/content.md), [WalletConnect support](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/how-to/walletconnect-support/content.md).
* [Core concepts](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/core-concepts/content.md) — architecture, bridges, sessions, universal links, manifest, registry, feature negotiation, security model.

When something breaks, jump to [Troubleshooting](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/troubleshooting/content.md) — error codes and manifest 404 / CORS — or the [FAQ](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/faq/content.md) for design-choice questions.

<Callout type="note">
  TON Connect does not provide integration with the TON blockchain. You need to implement it manually or use [AppKit](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/appkit/overview/content.md) — an SDK for integrating TON into dApps.
</Callout>

### Build a wallet [#build-a-wallet]

TON Connect does not provide an SDK for wallets. If you're a wallet developer, take one of these approaches:

* Implement the protocol directly based on the [TON Connect specification](https://github.com/ton-blockchain/ton-connect). Additionally, you can use [`@tonconnect/protocol`](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/api-reference/protocol/content.md) for interfaces.
* Use [WalletKit](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/walletkit/overview/content.md) — an SDK for wallet services with built-in support for TON Connect

## API reference [#api-reference]

The dApp-facing packages live in the [`ton-connect/sdk` monorepo on GitHub](https://github.com/ton-connect/sdk):

* [`@tonconnect/ui-react`](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/api-reference/ui-react/content.md) — hooks and prebuilt components for React.
* [`@tonconnect/ui`](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/api-reference/ui/content.md) — framework-agnostic UI, same components without React bindings.
* [`@tonconnect/sdk`](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/api-reference/sdk/content.md) — headless connector for server-side flows or custom UI.
* [`@tonconnect/protocol`](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/api-reference/protocol/content.md) — wire-format types and session cryptography for wallet/SDK implementers.

## Examples [#examples]

Working end-to-end example of an application using TON Connect: [`demo-dapp-with-react-ui` on GitHub](https://github.com/ton-connect/demo-dapp-with-react-ui) deployed [here on Vercel](https://tonconnect-sdk-demo-dapp.vercel.app/))

## See also [#see-also]

* [Protocol specification on GitHub](https://github.com/ton-blockchain/ton-connect) — Bridge, RPC, session, and connect
* [Public wallet registry on GitHub](https://github.com/ton-connect/wallets-list) — The `wallets-v2.json` file each wallet registers in
* [HTTP bridge reference implementation](https://github.com/ton-connect/bridge) — Go bridge implementation
* [`@tonconnect/protocol`](https://docs-rbcpr9qys-ton-core-docs.vercel.app/llms/applications/ton-connect/api-reference/protocol/content.md) — Types and helpers shared between the SDK and wallets
