Accept USDT ERC-20 in a Telegram bot

Your bot creates a payment via the API and sends the user a payment link. Once the funds arrive, your server receives a webhook and the bot delivers the product or access.

How well USDT ERC-20 fits a Telegram bot

As an extra option · Fit 33%

Enable it for customers who hold this coin, but pick another one as the main method.

Pros

  • A stablecoin pegged to the dollar: your revenue does not depend on the exchange rate.

Keep in mind

  • Telegram users often pay from the built-in wallet: add TON or USDT on TON as an option.
  • The network fee is noticeable: for small orders add a cheaper network to the checkout, such as BEP-20, TON or Solana.
Network
Ethereum
Standard
ERC-20
Coins
USDT, USDC, ETH
Best for
orders from a few hundred dollars

One payment link

paymentUrl opens in Telegram’s browser, so the customer isn’t away from the messenger for long.

TON and USDT

Telegram wallet, TRC-20 and other networks — the customer chooses.

USDC and USDT

The two main stablecoins on one network — customers pay with whatever they have.

The bot flow is simple: the user taps “Buy”, the bot calls POST /v1/payments with orderId = user and product id, and sends a button with paymentUrl. The payment.confirmed webhook is the signal to grant access or deliver a key or file.

Network fees on Ethereum are higher than on TRON or BSC, so it makes sense to offer ERC-20 for large payments and B2B invoices, with alternatives on other networks for small orders. One payment page can show several options.

Recommended coin set in a Telegram bot

To cover most customers, enable on the checkout page: USDT on TON, Toncoin (TON), USDT TRC-20. The customer picks the network, and every payment lands on one project balance.

One request to create a payment

The response contains the address, the exact amount and a link to a ready-made payment page. Status updates arrive via HMAC-signed webhooks.

curl https://api.moonvex.org/v1/payments \
  -H "Authorization: Bearer $MOONVEX_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"orderId":"tg-52817734-vip","amount":"10","currency":"USDC","network":"ETHEREUM"}'

FAQ

Which currency should the price be in when customers pay in USDT ERC-20?

USDT ERC-20 is pegged to the dollar, so you can set the price in the coin or in USD; the amounts are nearly the same.

Do I need a website to accept payments in a bot?

No. You only need the bot’s server, which receives webhooks over https.

Who pays the network fee?

The sender pays the transfer fee, as with any wallet. The service covers fund sweeps and gas for payouts.

Can I do it without coding?

Yes: issue invoices in the Moonvex Telegram bot and forward the link to your customer.

What address will the customer get?

A separate 0x… address per payment, or a permanent deposit address per customer.

Other coins in a Telegram bot

USDT ERC-20 for other use cases

Compare USDT ERC-20 with others

Start accepting payments today

An account and your first project in a minute, no monthly fee.

Create account