# Deep links (https://docs-orhepa2tm-ton-core-docs.vercel.app/llms/ecosystem/wallet-apps/deep-links/content.md)



Deep links allow to seamlessly direct users from a dApp back to a meaningful location within a TON wallet and invoke corresponding actions.

Issue wallet invoices using deep links. See [transaction link formats](#explorers-links) for popular explorers.

## TON Connect invoices [#ton-connect-invoices]

```bash
tc://<TON_CONNECT_LINK_BODY>
```

Best for dApps that require multiple transactions within a session or a persistent wallet connection.

**Advantages**

* Permanent communication channel with the wallet.
* Users only scan a QR code once.
* Can track transaction confirmation via the returned BoC.
* Ready-made SDKs and UI kits for various platforms.

**Disadvantages**

* If only one payment is needed, users must connect the wallet and confirm the transaction.
* More complex integration than a `ton://` link.

Explore [TON Connect](/llms/ecosystem/ton-connect/overview/content.md).

## Deep links invoices [#deep-links-invoices]

<Callout type="caution">
  The TON link `ton://` is less preferred in the ecosystem, but may be useful for simple and tiny one-time payment flow.
</Callout>

```bash
ton://<LINK-BODY>
```

**Advantages**

* Easy integration.
* No need to connect a wallet.

**Disadvantages**

* Users must scan a new QR code for each payment.
* Cannot track if the user signed the transaction.
* No information about the user’s address.
* Requires workarounds for platforms where links are not clickable (e.g., Telegram Desktop bots).

The `ton://` scheme is part of the broader TON blockchain standard, enabling interoperability across different TON-based wallets and services.

#### Example workflows [#example-workflows]

* Quick payments: Integrate payment requests directly from your website, allowing users to complete transactions with a single tap using `ton://` transfer links.
* In-app transactions: Use deep links to facilitate seamless transfers between users within your application.
* Link to specific transfers: Provide support or history review by linking directly to specific transactions or transfers.

### TON transfer [#ton-transfer]

Opens the pre-filled Send screen and prompts the user to enter the missing data.

```bash title="Transfer scheme"
ton://transfer/<ADDRESS>?amount=<AMOUNT>&text=<TEXT>
```

| Parameter   | Description                                                 | Required |
| ----------- | ----------------------------------------------------------- | -------- |
| `<ADDRESS>` | The recipient's TON address.                                | required |
| `<AMOUNT>`  | The amount of TON to send, in nanotons.                     | optional |
| `<TEXT>`    | A URL-encoded UTF-8 text message to attach to the transfer. | optional |

#### TON transfer to address [#ton-transfer-to-address]

```bash title="scheme
ton"://transfer/<ADDRESS>
```

```bash title="example
ton"://transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K
```

#### TON transfer with amount [#ton-transfer-with-amount]

```bash title="scheme
ton"://transfer/<ADDRESS>?amount=<AMOUNT>
```

```bash title="example
ton"://transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K?amount=5000000

```

#### TON transfer with text comment [#ton-transfer-with-text-comment]

```bash title="scheme
ton"://transfer/<ADDRESS>?text=<TEXT>
```

```bash title="example
ton"://transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K?text=hello
```

#### TON Transfer with amount and text comment [#ton-transfer-with-amount-and-text-comment]

```bash title="scheme
ton"://transfer/<ADDRESS>?amount=<AMOUNT>&text=<TEXT>
```

```bash title="example
ton"://transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K?amount=5000000&text=hello
```

### Transfer with expiry timestamp [#transfer-with-expiry-timestamp]

Opens the Send screen with an expiry timestamp for the transaction.

```bash title="Scheme with" timestamp
ton://transfer/<ADDRESS>?amount=<AMOUNT>&text=<TEXT>&exp=<EXPIRY_TIMESTAMP>
```

| Parameter            | Description                                                 | Required |
| -------------------- | ----------------------------------------------------------- | -------- |
| `<ADDRESS>`          | The recipient's TON address.                                | required |
| `<AMOUNT>`           | The amount of TON to send, in nanotons.                     | optional |
| `<TEXT>`             | A URL-encoded UTF-8 text message to attach to the transfer. | optional |
| `<EXPIRY_TIMESTAMP>` | Expiry timestamp in seconds since the Unix epoch.           | optional |

The `exp` parameter, like other parameters, must be included when constructing the message to ensure the blockchain rejects transactions with an expired exp.

#### TON transfer with expiry timestamp [#ton-transfer-with-expiry-timestamp]

```bash title="scheme tranfser" with expiry
ton://transfer/<ADDRESS>?amount=<AMOUNT>&text=<TEXT>&exp=<EXPIRY_TIMESTAMP>
```

```bash title="example transfer" with expiry
ton://transfer/EQD2NmD_lH5f5u1Kj3KfGyTvhZSX0Eg6qp2a5IQUKXxOG21n?amount=100000&text=test&exp=2147483647
```

### Jetton transfer [#jetton-transfer]

Opens the Send screen with a jetton transfer. [Jetton](/llms/standard/tokens/jettons/overview/content.md) is a standard for TON assets, like USDT, USDC and e.t.c.

```bash title="Scheme
ton"://transfer/<ADDRESS>?jetton=<JETTON_ADDRESS>&amount=<AMOUNT>&text=<TEXT>
```

| Parameter            | Description                                                 | Required |
| -------------------- | ----------------------------------------------------------- | -------- |
| `<ADDRESS>`          | The recipient's TON wallet address.                         | required |
| `<JETTON_ADDRESS>`   | The jetton master address.                                  | required |
| `<AMOUNT>`           | The amount of jettons to send.                              | optional |
| `<TEXT>`             | A URL-encoded UTF-8 text message to attach to the transfer. | optional |
| `<EXPIRY_TIMESTAMP>` | Expiry timestamp in seconds since the Unix epoch.           | optional |

<Callout type="tip">
  One whole Jetton for `<AMOUNT>` is defined by

  * [`decimals`](/llms/standard/tokens/metadata/content.md) the number of fractional digits
  * `unit` that represents the smallest indivisible amount of the token (similar to satoshi in Bitcoin).

  <Accordions>
    <Accordion title="Read more...">
      $$
      \text{One whole Jetton} = unit \times 10^{decimal}
      $$

      For example, a USDT Jetton on TON defines decimals = 6.
      This means:

      $$
      1\ \text{USDT} = 1{,}000{,}000\ \text{smallest units}
      $$

      Or, in general form:

      $$
      \text{One whole USDT} = unit \times 10^{6}
      $$

      Typically Jetton on TON defines with decimals = 9, for example, DUST jetton.
      This means:

      $$
      1\ \text{DUST} = 1{,}000{,}000{,}000\ \text{smallest units}
      $$

      Or, in general form:

      $$
      \text{One whole DUST} = unit \times 10^{9}
      $$
    </Accordion>
  </Accordions>
</Callout>

#### Transfer default jetton [#transfer-default-jetton]

Typically, jetton decimals in amount are equal 9 and evaluation same as for Toncoin.

```bash title="scheme
ton"://transfer/<ADDRESS>?jetton=<JETTON_ADDRESS>&amount=<AMOUNT>&text=<TEXT>
```

```bash title="example transfer" 0.005 DUST
ton://transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K?jetton=EQBlqsm144Dq6SjbPI4jjZvA1hqTIP3CvHovbIfW_t-SCALE&amount=5000000&text=hello
```

#### Transfer USDT [#transfer-usdt]

While Toncoin requires nine decimal places and 1 Toncoin equals 1 billion ($10^9$) nanoToncoin, USDT only uses six decimal places. This means that 1 USDT unit stands for 1 million ($10^6$) microUSDT units. The `AMOUNT` below requires the microUSDT format.

```bash title="scheme
ton"://transfer/<ADDRESS>?jetton=<JETTON_ADDRESS>&amount=<AMOUNT>&text=<TEXT>
```

```bash title="example transfer" 0.005 USDT
ton://transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K?jetton=EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs&amount=5000&text=hello
```

### Transfer with binary data [#transfer-with-binary-data]

Opens the emulation screen or screen with alert about blind signing transactions with amount and destination.

```bash title="scheme
ton"://transfer/<ADDRESS>?amount=<AMOUNT>&bin=<BINARY_DATA>
```

| Parameter       | Description                                                                    | Required |
| --------------- | ------------------------------------------------------------------------------ | -------- |
| `<ADDRESS>`     | The recipient's TON address.                                                   | required |
| `<AMOUNT>`      | The amount of TON to send, in nanotons.                                        | optional |
| `<BINARY_DATA>` | A URL-encoded base64 BoC which will be attached as a body to internal message. | optional |

```bash title="example transfer" with binary data
ton://transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K?amount=5000000&bin=te6cckECBQEAARUAAUWIAMEY4jHsfgXgPZLLJhtH/oPEOBKZZb6Y4/RJaJnbXc4GDAEBnBSf8D7P51eitphXHiTNAS6WXVDOgcxIxFWf7JICcG9ooFRNCDzTZbHg0mlW6782P8huKd5wzYK3huSVDMGTrQgpqaMXaMF9SAAAACsAAwIBaGIAV+9GxkYnezSj7VSw9vtlmc5RJ5lsyyItoKd5rFDpJZUgL68IAAAAAAAAAAAAAAAAAAEDAaFfzD0Ug3czLfk9/4aAArAmxHNbYrurO/IYyD89+mJZ/XDMnkMemHy/nTsrzYDwAYIxxGPY/AvAeyWWTDaP/QeIcCUyy30xx+iS0TO2u5wMIDgEACIAAAAAUmVmI05PTmQxZ0pCUK4fW14=
```

## Wallet-specific invoices [#wallet-specific-invoices]

Use wallet-specific links to create simple jetton and Toncoin transfers. The syntax is usually similar to `ton://transfer` links, but always check each wallet’s documentation.

Example: transferring 1 USDT to `EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs`:

```bash title="Tonkeeper mobile" link
https://app.tonkeeper.com/transfer/saint.ton?amount=1000000&jetton=EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
```

```bash title="Tonkeeper web" link
https://app.tonkeeper.com/transfer/saint.ton?amount=1000000&jetton=EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
```

```bash title="MyTonWallet
https"://my.tt/transfer/UQDYzZmfsrGzhObKJUw4gzdeIxEai3jAFbiGKGwxvxHinf4K?amount=1000000&jetton=EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
```

Find more wallet-specific features in the documentation:

* Tonkeeper - [`docs.tonconsole.com`](https://docs.tonconsole.com/tonkeeper/deep-linking)
* MyTonWallet - [`help.mytonwallet.io`](https://help.mytonwallet.io/intro/key-features/deeplinks-in-mytonwallet)

## Explorers links [#explorers-links]

To generate a transaction link, the service must obtain the account address, logical time (lt), and transaction hash by calling the [`getTransactions`](https://toncenter.com/api/v2/#/transactions/get_transactions_getTransactions_get) method. Using these values, [Tonviewer](https://tonviewer.com), [Tonscan](https://tonscan.org), and [Toncoin Explorer](https://explorer.toncoin.org/) render the transaction page according to the following formats respectively:

* [Tonviewer links](#tonviewer)
* [Tonscan links](#tonscan)
* [Toncoin Explorer links](#toncoin-explorer)

### Tonviewer [#tonviewer]

#### Mainnet [#mainnet]

```bash title="Tonviewer Mainnet" link
https://tonviewer.com/transaction/<hash as hex>
```

```bash title="Tonviewer Mainnet" link example
https://tonviewer.com/transaction/aee8d185a0c8f73c787bf1872ee9659ac53ce11a90b16b384856a7821eff8c29
```

#### Testnet [#testnet]

```bash title="Tonviewer Testnet" link
https://testnet.tonviewer.com/transaction/<hash as hex>
```

```bash title="Tonviewer Testnet" short link example
https://testnet.tonviewer.com/transaction/61ef8fac43edf408fcc041aa8afaec14ac2c4f68faafe6eb18c50a921697d2f6
```

### Tonscan [#tonscan]

#### Mainnet [#mainnet-1]

```bash title="Tonscan Mainnet" link
https://tonscan.org/tx/<lt as int>:<hash as base64url>:<account address>
```

```bash title="Tonscan Mainnet" link example
https://tonscan.org/tx/63333243000002:rujRhaDI9zx4e_GHLullmsU84RqQsWs4SFangh7_jCk:Ef8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM0vF
```

#### Testnet [#testnet-1]

```bash title="Tonscan Testnet" link
https://testnet.tonscan.org/tx/<lt as int>:<hash as base64url>:<account address>
```

```bash title="Tonviewer Testnet" link example
https://testnet.tonscan.org/tx/40988257000002:Ye-PrEPt9Aj8wEGqivrsFKwsT2j6r-brGMUKkhaX0vY:kf8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM_BP
```

### Toncoin explorer [#toncoin-explorer]

#### Mainnet [#mainnet-2]

```bash title="Toncoin Mainnet" link
https://explorer.toncoin.org/transaction?account=<account address>&lt=<lt as int>&hash=<transaction uppercase hex>
```

```bash title="Toncoin Mainnet" link example
https://explorer.toncoin.org/transaction?account=Ef8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM0vF&lt=63333243000002&hash=AEE8D185A0C8F73C787BF1872EE9659AC53CE11A90B16B384856A7821EFF8C29
```

#### Testnet [#testnet-2]

```bash title="Toncoin Testnet" link
https://test-explorer.toncoin.org/transaction?account=<account address>&lt=<lt as int>&hash=<transaction uppercase hex>
```

```bash title="Toncoin Testnet" link example
https://test-explorer.toncoin.org/transaction?account=Ef8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM0vF&lt=40988257000002&hash=61EF8FAC43EDF408FCC041AA8AFAEC14AC2C4F68FAAFE6EB18C50A921697D2F6
```
