> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ton.org/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.ton.org/feedback

```json
{
  "path": "/ecosystem/ton-connect/overview",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# TON Connect overview

export const Image = ({src, darkSrc, alt = '', darkAlt, href, target, height = 342, width = 608, noZoom = false, center = false}) => {
  const isSVG = src.match(/\.svg(?:[#?].*?)?$/i) !== null;
  const shouldInvert = isSVG && !darkSrc;
  const shouldCreateLink = href !== undefined;
  const minPx = 9;
  const maxPx = 608;
  const expectedPx = `a number or a string with a number that is greater than ${minPx - 1} and less than or equal to ${maxPx}`;
  const createInvalidPropCallout = (title, received, expected) => {
    return <Danger>
        <span className="font-bold">
          Invalid <code>{title.toString()}</code> passed!
        </span>
        <br />
        <span className="font-bold">Received: </span>
        {received.toString()}
        <br />
        <span className="font-bold">Expected: </span>
        {expected.toString()}
        {}
      </Danger>;
  };
  const checkValidDimensionValue = value => {
    switch (typeof value) {
      case "string":
      case "number":
        const num = Number(value);
        return Number.isSafeInteger(num) && num >= minPx && num <= maxPx;
      default:
        return false;
    }
  };
  let callouts = [];
  if (height && !checkValidDimensionValue(height)) {
    callouts.push(createInvalidPropCallout("height", height, expectedPx));
  }
  if (width && !checkValidDimensionValue(width)) {
    callouts.push(createInvalidPropCallout("width", width, expectedPx));
  }
  if (callouts.length !== 0) {
    return callouts;
  }
  const heightPx = Number(height);
  const widthPx = Number(width);
  const shouldCenter = center === "true" || center === true ? true : false;
  const shouldNotZoom = noZoom === "true" || noZoom === true ? true : false;
  const images = <>
      <img className="block dark:hidden" src={src} alt={alt} {...height && ({
    height: heightPx
  })} {...width && ({
    width: widthPx
  })} {...(shouldCreateLink || shouldInvert || shouldNotZoom) && ({
    noZoom: "true"
  })} />
      <img className={`hidden dark:block ${shouldInvert ? "invert" : ""}`} src={darkSrc ?? src} alt={darkAlt ?? alt} {...height && ({
    height: heightPx
  })} {...width && ({
    width: widthPx
  })} {...(shouldCreateLink || shouldInvert || shouldNotZoom) && ({
    noZoom: "true"
  })} />
    </>;
  if (shouldCreateLink) {
    if (shouldCenter) {
      return <div style={{
        display: "flex",
        justifyContent: "center"
      }}>
          <a href={href} target={target ?? "_self"}>
            {images}
          </a>
        </div>;
    }
    return <a href={href} target={target ?? "_self"}>
        {images}
      </a>;
  }
  if (shouldCenter) {
    return <div style={{
      display: "flex",
      justifyContent: "center"
    }}>{images}</div>;
  }
  return images;
};

To integrate with TON, the standard wallet connection protocol is used — TON Connect. It is similar to WalletConnect on Ethereum, but made specifically for TON and covers basic integration aspects. For deeper integrations, it is common to utilize various supplementary SDKs and APIs.

<Image src="/resources/images/ton-connect/basic-schema.svg" darkSrc="/resources/images/ton-connect/basic-schema-dark.svg" alt="Basic communication schema of TON Connect" />

## About TON Connect

<video autoPlay muted loop className="w-full rounded-xl" src="https://mintcdn.com/companyname-a7d5b98e/Z9c0bPWungYTaZTg/resources/videos/TonConnect.mp4?fit=max&auto=format&n=Z9c0bPWungYTaZTg&q=85&s=4eec93072b0148ad663b4ed62f58056a" data-path="resources/videos/TonConnect.mp4">
  Your browser does not support the \<video> tag.
</video>

TON Connect enables secure communication between wallets and decentralized applications, allowing users to authorize transactions while maintaining control of their private keys.

Currently, TON Connect supports over 30 wallets and connects to hundreds of major applications across the TON ecosystem. As the mandatory connection protocol for all Telegram Mini Apps, it serves as the gateway to TON's entire ecosystem of applications and services.

Think of it as the essential infrastructure that your institutional clients will need to access any TON-based services — from DeFi protocols to gaming applications to payment systems.

For technical architecture details: [TON Connect protocol specification on GitHub](https://github.com/ton-blockchain/ton-connect).

## Are you building a web3 app?

Explore the demo apps made with React.

<Columns cols={2}>
  <Card title="Demo TON dApp with React" icon="link" horizontal="true" href="https://tonconnect-sdk-demo-dapp.vercel.app/" arrow="true" />

  <Card title="Demo TON dApp GitHub repository" icon="github" horizontal="true" arrow="true" href="https://github.com/ton-connect/demo-dapp-with-react-ui" />
</Columns>

Proceed with integration and usage recipes.

<Columns cols={2}>
  <Card icon="flask" horizontal="true" title="How to integrate a dApp with TON" href="/ecosystem/ton-connect/dapp" />

  <Card icon="wrench" horizontal="true" title="Common usage examples" href="/ecosystem/ton-connect/dapp#usage" />
</Columns>

Skim the related reference pages.

<Columns cols={2}>
  <Card title="App manifest" icon="book" horizontal="true" href="/ecosystem/ton-connect/manifest#app-manifest" />

  <Card title="@tonconnect/sdk" horizontal="true" arrow="true" href="https://ton-connect.github.io/sdk/modules/_tonconnect_sdk.html" />

  <Card title="@tonconnect/ui" horizontal="true" arrow="true" href="https://ton-connect.github.io/sdk/modules/_tonconnect_ui.html" />

  <Card title="@tonconnect/ui-react" horizontal="true" arrow="true" href="https://ton-connect.github.io/sdk/modules/_tonconnect_ui-react.html" />
</Columns>

## Are you building a web3 wallet?

Follow the step-by-step guide.

<Card icon="flask" horizontal="true" title="How to make a wallet on TON" href="/ecosystem/ton-connect/wallet" />

Or skim the related reference pages.

<Columns cols={2}>
  <Card title="Wallet manifest" icon="book" horizontal="true" href="/ecosystem/ton-connect/manifest#wallet-manifest" />

  <Card title="WalletKit reference" icon="book" horizontal="true" href="/ecosystem/walletkit/overview" />

  <Card title="@tonconnect/protocol" arrow="true" horizontal="true" href="https://ton-connect.github.io/sdk/modules/_tonconnect_protocol.html" />
</Columns>

For more, see the TON Connect articles from Google Docs.

<Columns cols={3}>
  <Card title="QA Guide" icon="book" href="/ecosystem/walletkit/qa-guide" />

  <Card title="Native or web wallets" icon="book" href="/ecosystem/walletkit/native-web" />

  <Card title="In-app or browser extension wallets" icon="book" href="/ecosystem/walletkit/browser-extension" />
</Columns>

{/* ## Curated guides and tutorials from the community

Tutorials and guides created by the TON community to help developers integrate TON into their applications. They provide practical, real-world examples and alternative approaches to common integration challenges.

<Columns cols={1}>
<Card
  icon="scroll"
  horizontal="true"
  title="Index of curated community tutorials"
  href="/guides/more"
/>
</Columns> */}

## Join the community

If you have questions about integrating TON into your project, need help troubleshooting issues, or want to discuss best practices with other developers, join our community channels.

<Columns cols={2}>
  <Card icon="telegram" horizontal="true" title="Telegram folder with many developer chats" arrow="true" href="https://t.me/addlist/1r5Vcb8eljk5Yzcy" />

  <Card icon="user-group" horizontal="true" title="List of skilled professionals and agencies" arrow="true" href="https://ton.org/en/talents" />
</Columns>

## See also

* [Technical specification of the TON Connect protocol (GitHub)](https://github.com/ton-blockchain/ton-connect)
* [Official list of wallets that support TON Connect (GitHub)](https://github.com/ton-blockchain/wallets-list)
* [HTTP bridge for TON Connect](https://github.com/ton-connect/bridge)
