← Blog
TON6 min de lecturePar:

TON Blockchain pour développeurs : Stars, USDT, TonConnect et paiements Telegram

Plongée technique dans l'intégration de TON sur les Telegram Mini Apps, fondée sur l'expérience de The Open Squad. Architecture, TonConnect, Jettons (USDT), Telegram Stars, contrats d'escrow, sécurité.

En 2026, TON Blockchain n'est plus la « crypto des fans de Telegram » : c'est la couche d'infrastructure de toute la stack de paiement du messager. Chez The Open Squad, nous avons intégré TON dans chacun de nos produits : versements USDT dans The Open Earn, contrats d'escrow dans The Open Guarantor. Ce guide rassemble ce que nous avons appris en chemin.

Pourquoi TON pour les produits Telegram

Alternatives :

  • Stripe / PayPal — lents, coûteux (3–5 %), inopérants pour les utilisateurs des 50+ pays que nous servons
  • Wallets crypto multi-chaînes — UX cauchemardesque : il faut connaître réseaux, adresses, gas
  • Solde interne sans retrait — les utilisateurs n'y croient pas

TON résout trois problèmes d'un coup :

  1. Frais faibles — fractions de cent par transaction (vs $0.30+ chez Stripe)
  2. Vitesse — finalité en 5 secondes
  3. UX — TonConnect permet de lier un wallet en deux taps, sans copier d'adresse

Architecture TON en deux minutes

TON est une blockchain PoS shardée. L'unité native est le TON. Au-dessus tournent :

  • Jettons — standard de tokens (équivalent ERC-20 sur TON). USDT sur TON est un Jetton émis par Tether
  • NFTs — standard de tokens uniques
  • Workchains / Shardchains — shards pour la scalabilité

Pour les développeurs, cela signifie :

  • Un seul SDK (@ton/ton, @ton/core) gère TON et les Jettons
  • Pas de jonglage multi-chaînes
  • Une transaction est un message d'un contrat à un autre (tout est contrat, y compris les wallets)

Connecter un wallet via TonConnect

TonConnect est un protocole open-source qui relie un dApp au wallet de l'utilisateur. Tous les grands wallets TON le supportent : Tonkeeper, MyTonWallet, Tonhub.

Dans une Mini App, cela ressemble à ceci :

import { TonConnectUI } from "@tonconnect/ui";

const tonConnectUI = new TonConnectUI({
  manifestUrl: "https://yourapp.com/tonconnect-manifest.json",
});

// Ouvrir la modal de sélection du wallet
await tonConnectUI.openModal();

// Après connexion — infos du wallet disponibles :
const wallet = tonConnectUI.wallet;
console.log(wallet?.account.address);

Le manifest (tonconnect-manifest.json) est un JSON statique avec les métadonnées de votre app. Les wallets le lisent pour afficher votre icône et votre nom à l'écran de consentement.

Recevoir des paiements : TON et USDT

Scénario 1 : recevoir du TON. Générez une adresse de dépôt par utilisateur (via un sous-compte HD-wallet). Écoutez les nouvelles transactions via une TON API :

from pytoniq import LiteClient

async def listen_deposits(address: str):
    async with LiteClient.from_mainnet_config() as client:
        txs = await client.get_transactions(address, count=10)
        for tx in txs:
            if tx.in_msg.value > 0:
                process_deposit(user_id, tx.in_msg.value)

Scénario 2 : recevoir des USDT (Jetton). USDT est un contrat Jetton. Chaque destinataire possède son propre Jetton wallet (une adresse distincte de son wallet TON principal). Vous écoutez les transactions sur le Jetton wallet, pas sur le principal.

Le chemin le plus simple : utiliser une TON Index API hébergée (Tonapi.io, TonCenter) avec des webhooks sur les transferts entrants.

Telegram Stars : la monnaie numérique de Telegram

Les Stars sont la monnaie virtuelle de Telegram (1 Star ≈ $0.013). Elles servent à acheter des biens numériques : abonnements, emoji custom, thèmes, fonctionnalités premium des bots.

Contrairement à TON, les Stars ne peuvent pas être retirées librement — Telegram convertit les Stars en TON uniquement pour les créateurs vérifiés et avec délai.

Quand utiliser Stars plutôt que TON :

  • Contenu payant (articles, cours, fonctions premium des bots)
  • Achats in-app (stickers, thèmes)
  • Pourboires et dons
  • Conformité App Store / Play Store (Apple et Google imposent les Stars pour les achats numériques in-app)

Quand TON direct est préférable :

  • Versements B2B
  • Escrow P2P
  • Montants importants
  • Quand les utilisateurs ont besoin d'un retrait libre

Smart contracts : les leçons d'escrow de The Open Guarantor

The Open Guarantor est notre bot pour des deals P2P sécurisés sur TON. La logique est simple :

  1. L'acheteur envoie du TON au contrat d'escrow
  2. Le contrat retient les fonds jusqu'à confirmation
  3. L'acheteur confirme la réception → le contrat paie le vendeur
  4. En cas de litige, un arbitre (nous) tranche

Les contrats sont écrits en FunC (langage bas niveau de TON) ou Tact (haut niveau). Nous utilisons Tact :

contract Escrow {
    buyer: Address;
    seller: Address;
    arbiter: Address;
    amount: Int;
    state: Int; // 0 = pending, 1 = released, 2 = refunded

    receive("release") {
        require(sender() == self.buyer, "only buyer");
        require(self.state == 0, "already settled");
        send(SendParameters{
            to: self.seller,
            value: self.amount,
            mode: SendPayGasSeparately
        });
        self.state = 1;
    }
    // ... refund, dispute logic
}

Déploiement avec blueprint (TON DevKit). Testez d'abord en testnet, puis en mainnet.

Checklist sécurité des paiements

Ce que nous avons mis en place après notre premier incident :

  1. Validez chaque montant entrant — ne faites jamais confiance au value d'une transaction sans vérification
  2. Protection contre les reorgs — attendez 6+ blocs avant de créditer (≈30 secondes sur TON)
  3. Séparation hot/cold wallet — gardez seulement ~24 heures de versements sur le hot wallet, le reste en cold
  4. Hardware wallet pour le cold — Ledger ou multisig
  5. Limites de taux de retrait — plafonnez N retraits par minute par compte
  6. Audit trail — tout mouvement de fonds est loggé en DB avec réplication vers S3 / réplica Postgres

Coûts d'opération

Pour l'unit economics :

  • Transaction TON — ~0,005 TON de gas (≈$0.025 à $5/TON)
  • Transaction Jetton (USDT) — ~0,05 TON (≈$0.25)
  • Déploiement de smart contract — one-shot ~0,1 TON

Si vous traitez 1 000 retraits USDT par jour, cela représente ~$250/jour de gas. Pour réduire :

  • Regrouper les retraits (plusieurs destinataires en une transaction)
  • Utiliser TON directement plutôt qu'USDT pour les micro-montants

La suite

TON est la blockchain la plus pratique pour les produits Telegram-native en 2026. Si votre produit touche à l'argent, une intégration TON prend 2–3 semaines et vous offre instantanément une UX que les passerelles de paiement classiques ne peuvent égaler.

Si vous voulez voir cela tourner en prod — regardez The Open Earn (versements USDT) ou The Open Guarantor (contrats d'escrow).