TON Connect invoices
- 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.
- If only one payment is needed, users must connect the wallet and confirm the transaction.
- More complex integration than a
ton://link.
Deep links invoices
The TON link
ton:// is less preferred in the ecosystem, but may be useful for simple and tiny one-time payment flow.- Easy integration.
- No need to connect a wallet.
- 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).
ton:// scheme is part of the broader TON blockchain standard, enabling interoperability across different TON-based wallets and services.
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
Opens the pre-filled Send screen and prompts the user to enter the missing data.Transfer scheme
| 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
scheme
example
TON transfer with amount
scheme
example
TON transfer with text comment
scheme
example
TON Transfer with amount and text comment
scheme
example
Transfer with expiry timestamp
Opens the Send screen with an expiry timestamp for the transaction.Scheme with 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 |
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
scheme tranfser with expiry
example transfer with expiry
Jetton transfer
Opens the Send screen with a jetton transfer. Jetton is a standard for TON assets, like USDT, USDC and e.t.c.Scheme
| 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 |
One whole Jetton for
<AMOUNT> is defined bydecimalsthe number of fractional digitsunitthat represents the smallest indivisible amount of the token (similar to satoshi in Bitcoin).
Read more...
Read more...
For example, a USDT Jetton on TON defines decimals = 6.
This means:Or, in general form:Typically Jetton on TON defines with decimals = 9, for example, DUST jetton.
This means:Or, in general form:
Transfer default jetton
Typically, jetton decimals in amount are equal 9 and evaluation same as for Toncoin.scheme
example transfer 0.005 DUST
Transfer USDT
While Toncoin requires nine decimal places and 1 Toncoin equals 1 billion () nanoToncoin, USDT only uses six decimal places. This means that 1 USDT unit stands for 1 million () microUSDT units. TheAMOUNT below requires the microUSDT format.
scheme
example transfer 0.005 USDT
Transfer with binary data
Opens the emulation screen or screen with alert about blind signing transactions with amount and destination.scheme
| 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 |
example transfer with binary data
Wallet-specific invoices
Use wallet‑specific links to create simple jetton and Toncoin transfers. The syntax is usually similar toton://transfer links, but always check each wallet’s documentation.
Example: transferring 1 USDT to EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs:
Tonkeeper mobile link
Tonkeeper web link
MyTonWallet
- Tonkeeper -
docs.tonconsole.com - MyTonWallet -
help.mytonwallet.io
Explorers links
To generate a transaction link, the service must obtain the account address, logical time (lt), and transaction hash by calling thegetTransactions method. Using these values, Tonviewer, Tonscan, and Toncoin Explorer render the transaction page according to the following formats respectively:
Tonviewer
Mainnet
Tonviewer Mainnet link
Tonviewer Mainnet link example
Testnet
Tonviewer Testnet link
Tonviewer Testnet short link example
Tonscan
Mainnet
Tonscan Mainnet link
Tonscan Mainnet link example
Testnet
Tonscan Testnet link
Tonviewer Testnet link example
Toncoin explorer
Mainnet
Toncoin Mainnet link
Toncoin Mainnet link example
Testnet
Toncoin Testnet link
Toncoin Testnet link example