The Open Network (TON) — нативная блокчейн-инфраструктура Telegram. С 2023 года Telegram активно интегрирует TON: встроенный кошелёк @wallet, Toncoin как опция вывода Stars, Wallet Pay для приёма платежей в чатах. Для разработчиков это даёт возможность встроить криптоплатежи в любой бот без сторонних эквайеров.
Разберём, как работают TON Connect, Wallet Pay, отправка jettons (TON-токенов) и какие сценарии реально окупаются в 2026.
Кубики экосистемы
| Компонент | Что даёт |
|---|---|
| TON Wallet (@wallet) | встроенный non-custodial кошелёк в Telegram |
| TON Connect 2 | стандартный протокол подключения внешних кошельков |
| Wallet Pay | приём платежей TON/USDT в боте без TON Connect |
| Jettons | TON-эквивалент ERC-20 токенов |
| TON Sites | dapps на доменах .ton |
| TON Storage | децентрализованное хранилище |
Для большинства задач достаточно TON Connect 2 + Wallet Pay.
Wallet Pay: самый простой путь
Wallet Pay — это сервис @wallet, позволяющий боту принимать TON, USDT и другие jettons через инвойсы, аналогично Telegram Stars, но в крипте.
import httpx
async def create_invoice(amount_ton: float, description: str) -> str:
r = await httpx.post(
"https://pay.wallet.tg/wpay/store-api/v1/order",
headers={"Wpay-Store-Api-Key": WALLET_API_KEY},
json={
"amount": {"currencyCode": "TON", "amount": str(amount_ton)},
"description": description,
"externalId": str(uuid4()),
"timeoutSeconds": 600,
"customerTelegramUserId": user_id,
},
)
return r.json()["data"]["payLink"]
@router.message(F.text == "/buy_pro")
async def buy(message: Message):
link = await create_invoice(2.5, "PRO 30 дней")
await message.answer(f"Оплатите 2.5 TON: {link}")
Юзер кликает, открывается @wallet, подтверждает оплату, бот получает webhook о статусе. Комиссия Wallet Pay — 0.5–1.5%, что в десятки раз меньше Stars.
TON Connect: подключение внешних кошельков
Для приложений, где юзер хочет использовать свой кошелёк (Tonkeeper, MyTonWallet, OpenMask), а не @wallet — TON Connect 2.
В Mini App:
import { TonConnectUI } from "@tonconnect/ui";
const tc = new TonConnectUI({
manifestUrl: "https://app.example.com/tonconnect-manifest.json",
});
async function connect() {
await tc.openModal();
const wallet = tc.account?.address;
}
async function pay() {
const tx = await tc.sendTransaction({
validUntil: Math.floor(Date.now() / 1000) + 600,
messages: [{
address: SHOP_WALLET,
amount: "2500000000", // nanoTON, 2.5 TON
payload: "te6ccgEBAQEAAgAAAA==", // комментарий в BOC
}],
});
await api.confirmPayment(tx.boc);
}
На бэкенде проверяете факт перевода через TON-индексер (TonAPI, dton.io):
async def verify_payment(user_address: str, amount_nano: int, since: int) -> bool:
txs = await ton_api.get_transactions(SHOP_WALLET, limit=50)
for tx in txs:
if (tx.in_msg.source == user_address and
tx.in_msg.value >= amount_nano and
tx.utime >= since):
return True
return False
Хранение ключей: non-custodial
Главный принцип: бот не должен хранить приватные ключи юзеров. Это юридический риск (хранение криптоактивов = лицензия) и бизнес-риск (взлом → потеря всех средств).
Архитектура:
- Юзер держит ключи в @wallet или Tonkeeper.
- Бот только инициирует транзакции через TON Connect.
- Бэкенд только проверяет факт on-chain.
Custodial-сервис (бот хранит сиды юзеров) — для опытных команд с лицензией VASP, не для большинства проектов.
Сценарии для бота
Что работает в 2026:
- Магазин цифровых товаров с оплатой в TON/USDT (комиссия меньше Stars).
- P2P-сервис с эскроу через смарт-контракт (вместо доверия платформе).
- Подписки на закрытый канал — оплата в TON.
- Игры с in-game экономикой на jettons (как Notcoin, Hamster).
- Donate-боты для блогеров (Tribute и аналоги).
- Crypto-onramp/offramp через P2P-биржи внутри Telegram.
Jettons: свои токены проекта
Jettons — TON-эквивалент ERC-20. Создаются за 5 минут на @minter, дают возможность ввести лояльность как токен:
async def reward_user(user_address: str, amount: int):
# Перевод 100 PROJECT-jettons из казны проекта
boc = await build_jetton_transfer(
from_wallet=PROJECT_WALLET,
jetton_master=PROJECT_JETTON,
to_address=user_address,
amount=amount,
)
await ton_send(boc)
Геймификация: за активность юзеры получают токены, которые можно потратить в боте или продать на DEX (DeDust, STON.fi).
Анти-фрод
Главные угрозы:
- Двойная трата — юзер шлёт TX, бот зачисляет, юзер откатывает.
- Wrong network — юзер отправил с EVM-адреса (USDT TRC-20 ≠ USDT TON).
- Front-running — менее критично в TON, чем в Ethereum.
Защита:
| Угроза | Решение |
|---|---|
| Double-spend | подтверждение через 1+ блока (≈10 сек), не in-mempool |
| Wrong network | строгая валидация формата адреса |
| Replay | уникальный externalId на каждый инвойс |
| Замороженный счёт | проверка статуса аккаунта перед зачислением |
Юридика
В РФ криптовалюты — имущество, не средство платежа. Принимать TON юридически = бартер или обмен. На практике серая зона:
- Бизнес-модели «оплата в TON за услугу» работают, но налоги платятся как с обычной выручки.
- Майнинг и P2P-обмен — отдельное регулирование с 2024.
- Custodial-кошельки требуют лицензии VASP в большинстве юрисдикций.
Юристы рекомендуют выводить компанию на ОАЭ, Армению или БВО для криптобизнеса.
Топ-5 ошибок
- Зачисляют средства до подтверждения в блоке — теряют на rollback.
- Хранят сиды юзеров на сервере без HSM — взлом → потеря средств → судебные иски.
- Не валидируют комментарий транзакции — не могут связать платёж с заказом.
- Используют TON-адрес без
bounceableфлага — переводят на «висячие» аккаунты. - Игнорируют различие основной/тестовой сети — публикуют в прод тестовые адреса.
Итого
TON в 2026 — рабочая платежная инфраструктура внутри Telegram с низкими комиссиями (0.01 TON за tx ≈ $0.05) и нативным UX через @wallet. Для большинства ботов хватает Wallet Pay; для приложений с собственной экономикой и DEX-интеграцией — TON Connect + jettons. Главное — non-custodial архитектура, грамотная валидация on-chain и понимание юридических рисков. Запуск под ключ — 2–4 недели, окупаемость зависит от ниши и аудитории.
Частые вопросы
TON или Stars: что выбрать для приёма платежей?
Stars — для микротранзакций (50–500 ₽), цифровых товаров, подписок внутри Telegram. Простота, нет KYC, но 30–52% эффективная комиссия. TON через Wallet Pay — для крупных платежей, услуг, B2B. Комиссия 0.5–1.5%, но требует, чтобы у юзера был кошелёк с TON. Часто берут оба и дают юзеру выбор.
Что такое TON Connect 2 и зачем он нужен?
Стандартный протокол подключения внешних TON-кошельков (Tonkeeper, MyTonWallet, OpenMask, @wallet) к dapp'у или Mini App. Без него каждый кошелёк требует отдельной интеграции; с ним пишете код один раз — работает со всеми. По функциональности похож на WalletConnect в Ethereum.
Сколько стоит транзакция в TON?
0.005–0.01 TON на простой перевод (~$0.03–0.06). Перевод jettons — 0.05–0.1 TON ($0.3–0.6). Это в 10–100 раз дешевле Ethereum-mainnet и сопоставимо с дешёвыми L2 (Arbitrum, Optimism). Скорость финализации — ~5 секунд.
Можно ли принимать USDT через бот?
Да, USDT-TON (jetton, выпущенный официально Tether в TON-сети) принимается через Wallet Pay и через TON Connect. Самый популярный способ оплаты в TON-экосистеме сейчас, потому что юзеры хотят стабильную валюту, а не волатильный TON. Комиссия — ~0.1 TON на транзакцию.
Что делать с холодным хранением выручки?
Не оставляйте всё на горячем кошельке. Стандарт: горячий кошелёк (для приёма) → автоматический перевод раз в час суммы выше N TON на холодный кошелёк (multisig от 2/3 ключей). Холодный — на железном устройстве (Ledger Nano X с TON-приложением). Это защищает от компрометации сервера.
Как конвертировать TON в рубли?
P2P-биржи (Bybit P2P, OKX P2P, Bitpapa) — самый ликвидный канал для РФ. Курс с дисконтом 1–2% от спота. Альтернатива — OTC через брокера для крупных сумм (>$10k). Внутри Telegram также работают P2P-боты (@p2p_market, @cryptoexchanger), но с большим спредом.
Можно ли запустить токен проекта на TON за день?
Технически — да, через @minter создаёте jetton за 5 минут. Дальше нужна экономика: эмиссия, распределение, листинг на DEX, ликвидность. На реальный продакшн с продуманным tokenomics — 2–4 недели работы. Перед запуском обязательно аудит контракта (хотя бы CertiK Lite или Arcanum).