Accept Ethereum (ETH) 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 Ethereum (ETH) fits a Telegram bot

As an extra option · Fit 17%

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

Pros

  • Transfers confirm quickly, so the customer does not wait on the checkout page.

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.
  • The coin’s price moves: set the price in USD and the amount is converted at the rate fixed when the invoice is created.
Network
Ethereum
Coins
ETH, USDT, USDC
Addresses
0x…, per payment or per customer
Notifications
HMAC-signed webhooks

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.

ETH and tokens together

One Ethereum address accepts both ETH and USDT/USDC — the customer picks the coin.

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.

ETH suits customers who received it as income or hold it long term and don’t want to swap into a stablecoin before paying.

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":"USD","asset":"ETH","network":"ETHEREUM"}'

FAQ

Which currency should the price be in when customers pay in Ethereum (ETH)?

Set the price in USD with Ethereum (ETH) as the payment coin: Moonvex converts the amount and fixes the rate when the invoice is created.

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

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

Are L2s (Arbitrum, Base) supported?

Not yet: Moonvex accepts payments on Ethereum mainnet, BNB Smart Chain, TRON, Solana, TON and Bitcoin.

Can I do it without coding?

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

Is there an SDK?

Yes, the official Node.js SDK @moonvex/node, plus a REST API for any language.

Other coins in a Telegram bot

Ethereum (ETH) for other use cases

Compare Ethereum (ETH) with others

Start accepting payments today

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

Create account