Logo

How to Accept Crypto Payments in a Telegram Bot

image

To learn how to accept crypto payments in a Telegram bot, first decide what the customer is paying for and which payment flow Telegram allows. Businesses can use direct wallet transfers, Telegram Stars, or an external crypto payment gateway connected through payment links or an API. For automated crypto checkout, the gateway route can create invoices, confirm on-chain payments through webhooks, and trigger delivery or access where Telegram rules permit it.

TL;DR

  • Telegram does not provide a native crypto checkout for businesses; crypto payments normally rely on wallet transfers or an external provider.

  • Telegram Stars are virtual currency, not cryptocurrency, and are mandatory for digital goods and services sold inside Telegram bots and Mini Apps.

  • Wallet-to-wallet transfers are simple but usually require manual reconciliation.

  • A crypto payment gateway can automate invoices, payment updates, and fulfillment where third-party payment methods are permitted.

3 Ways Businesses Actually Get Paid in Crypto Through Telegram

Crypto payments via Telegram can describe three very different flows. Each method has different automation, compliance, and platform-rule implications.

Method

What it is

Best suited to

Automation

Wallet-to-wallet transfer

The buyer manually sends crypto to a wallet address provided by the seller

One-off payments and trusted counterparties

Low; payment matching is usually manual unless separately automated

Telegram Stars

Telegram virtual currency purchased through supported Telegram purchase flows; it is not cryptocurrency

Digital goods and services sold inside Telegram bots and Mini Apps

High, through Telegram’s own payment flow

Bot payment gateway (API / links)

A bot creates or shares an external crypto invoice or payment link through a provider, and the customer pays in BTC, USDT, or another supported asset

Physical goods, eligible services, and external payment flows where Telegram rules allow third-party payments

High; invoice creation, webhook notification, and fulfillment can be automated

Telegram currently requires digital goods and services sold inside its bots and Mini Apps to use Telegram Stars. A third-party crypto payment API should therefore not be presented as a way to bypass Stars for in-app digital products. For physical goods and eligible services, other payment methods may be available.

Methodology

This guide uses Telegram’s official Bot Payments and Stars documentation and PassimPay’s current Payment API documentation. The examples follow the payment flow from creating a payment request to receiving a status update, verifying the callback, and triggering fulfillment.

The compliance section provides general information only and is not legal, tax, or regulatory advice.

Why Accept Crypto Payments via Telegram?

A Telegram bot can combine customer interaction and payment initiation in a single flow. It can present an invoice or payment link, wait for confirmation, and continue the customer journey after the payment is confirmed.

For international audiences, crypto provides another payment rail where both the merchant and customer can use it legally. Customers can pay with supported cryptocurrencies without relying on a card payment flow.

Automation is one of the main reasons to use a Telegram bot payment API instead of simply posting a wallet address. The bot can connect an order ID with a payment request, receive a webhook when the status changes, update the order, and trigger the next action automatically.

This is particularly useful when merchants handle more than a small number of transactions. Manual wallet reconciliation can work for occasional payments, but it becomes harder to manage when multiple customers are sending similar amounts at the same time.

Confirmed on-chain transactions also do not use the same card-network chargeback mechanism as card payments. Merchants still need refund procedures, customer support, fraud controls, and clear payment terms.

The PassimPay crypto payment gateway provides payment infrastructure that can be connected to a Telegram bot. PassimPay supports 74 cryptocurrencies and 18+ blockchains, fees starting at 0.5%, Payment Links & QR Codes, Payment API, and Webhooks & Notifications.

How to Accept Crypto Payments in a Telegram Bot Step by Step

The right Telegram payment bot integration depends on whether you need a simple payment flow or fully automated checkout. Payment links require less development, while API integration gives the bot direct control over payment creation, status tracking, and fulfillment.

Option 1: Start With a Payment Link or QR Code

  • Create a merchant account and complete verification.

Register with the payment provider and complete the required business or identity verification. The exact onboarding process can depend on the provider, merchant entity, jurisdiction, and risk profile.

  • Create the payment request.

Use Payment Links & QR Codes to generate a payment link or QR code for the required amount. With PassimPay, the merchant can create a payment request without building a custom checkout interface.

  • Send the payment link in Telegram.

The bot or an administrator can send the payment link directly in a private chat or another suitable Telegram flow. The customer opens the link, selects the available payment option, and sends the required amount.

Keep an order reference in your own system so the transaction can be matched to the correct customer and purchase.

  • Confirm the payment before fulfillment.

For a small number of transactions, the merchant can verify payment through the provider dashboard before delivering the product or service.

This approach is relatively simple to launch because it does not require a full Telegram bot payment API integration. However, manual verification becomes inefficient as transaction volume increases.

Option 2: Build a Full Telegram Bot Payment API Integration

API integration is more suitable when the bot needs to generate payment requests and process payment statuses automatically.

  • Set up API access and connect the bot to payment creation.

After creating the merchant account, set up the required platform and obtain the credentials needed for API requests, such as an API key and Platform ID. PassimPay requires API requests to be signed, with the signature included in the request headers.

Store API credentials on the server. They should not be exposed inside Telegram messages, Mini App front-end code, or other client-side components.

When a customer selects a product or service, the Telegram bot sends the request to your backend, which then communicates with the payment provider. Depending on the integration model, the provider can return a cryptocurrency payment address or an invoice link that the bot sends to the customer.

  • Associate each payment with an order.

Create a unique order identifier for every payment request. It should allow your system to connect the Telegram user, product or service, expected amount, selected cryptocurrency, and payment status.

This is important because several customers may pay at approximately the same time. The amount alone should not be used as the main way to identify an order.

  • Configure and verify webhooks.

Set a Notification URL that points to an endpoint controlled by the merchant. When the payment status changes, the provider sends a webhook to this endpoint, allowing the backend to update the corresponding order.

With PassimPay, the Notification URL is configured in the platform settings. Before processing a webhook, verify the x-signature header and check the sender’s IP address against PassimPay’s authorized IP addresses. Requests from unknown or unauthorized IP addresses should not be accepted.

  • Handle duplicate notifications and return HTTP 200.

Webhook processing should be idempotent so that the same transaction cannot trigger fulfillment more than once.

This is particularly relevant for BTC, LTC, DASH, Dogecoin, and Bitcoin Cash. PassimPay can send up to two webhook notifications for the same transaction: one after the first confirmation and another after the second. If the transaction is first detected after two confirmations, only one notification may be sent.

After successfully processing a valid deposit callback, the server should return HTTP 200. If PassimPay does not receive HTTP 200, two additional webhook delivery attempts can be made.

  • Trigger fulfillment and test the full flow.

Once the required payment status has been confirmed, update the order and tell the bot to continue the customer flow. Depending on the use case, this could mean confirming an order, scheduling delivery, notifying an administrator, or providing another permitted service action. 

Do not mark an order as paid solely because the customer sends a screenshot or transaction hash. Before launch, test successful payments, delayed confirmations, duplicate callbacks, invalid signatures, temporary server errors, and cases where a customer creates a payment request but never completes it.

PassimPay's Payment API and Payment Links & QR Codes cover both integration models: payment links for simpler implementation and API-based processing for automated workflows.

Telegram Stars vs Crypto Payments

Telegram Stars and crypto payments serve different purposes.

Telegram Stars are virtual items used inside Telegram. Users acquire Stars through supported Telegram purchase flows and can use them to pay for digital goods and services offered through bots and Mini Apps.

Stars are not cryptocurrency. Their payment flow is controlled by Telegram, and Telegram requires them for digital goods and services sold inside its apps.

Crypto payments use blockchain assets such as BTC, USDT, ETH, or other supported cryptocurrencies. They normally require an external wallet or payment provider.

A Telegram crypto payment gateway can connect the bot to this blockchain payment flow, but whether the merchant can use an external payment method depends on what is being sold.

The same distinction applies to Telegram Mini App payments. Creating a Mini App does not create an exception for digital products that Telegram requires to be paid for in Stars.

For physical goods and eligible services, external payment providers may be used where Telegram rules and applicable laws permit them.

Compliance, Security, and Scaling

Accepting crypto payments through Telegram means the business is combining a messaging interface with external payment infrastructure. Both parts of the flow need to be considered when planning compliance, accounting, and security.

Check the Business Jurisdiction

Requirements can depend on where the merchant is registered, where customers are located, what the business sells, and how cryptocurrency is handled after payment.

Simply accepting cryptocurrency as payment and providing regulated crypto services are not always treated the same way. Businesses should determine which rules apply to their specific model.

Plan for KYC and AML

A payment provider may require merchant verification before processing payments.

Providers can also use AML monitoring to review incoming transactions. PassimPay states that it is registered with FINTRAC under registration number C100000852 and applies AML checks to transactions before funds are credited.

Whether additional customer verification is required can depend on the provider, jurisdiction, transaction type, and applicable compliance requirements.

Keep Payment Records

Crypto payments still need to be recorded for accounting and reporting purposes.

Businesses should keep relevant information such as:

  • order ID;

  • cryptocurrency and blockchain;

  • crypto amount;

  • applicable fiat value;

  • transaction hash;

  • payment time;

  • provider fees;

  • settlement details;

  • refunds where applicable.

The required accounting and tax treatment depends on the jurisdiction.

Manage Cryptocurrency Volatility

If a bot receives payments in volatile assets such as BTC, the value of those funds can change after the transaction.

Merchants need to decide whether they want to keep the original cryptocurrency or convert incoming payments into another asset.

PassimPay provides Auto Conversion to Stablecoins, which can convert incoming payments into USDT or USDC. Businesses that prefer to receive stablecoin payments directly can also use a USDT payment gateway.

Protect API Credentials and Webhook Endpoints

API keys should remain on the server and should never be sent to customers or stored inside publicly accessible bot code.

Webhook signatures should be verified before an order status is changed. Administrative bot commands should also be protected from unauthorized users.

Payment events should be logged so the merchant can investigate failed or disputed transactions later.

Prepare for Scaling

A setup that works for ten payments may not work for thousands.

Monitor failed callbacks, delayed blockchain confirmations, unavailable networks, provider downtime, and unusual payment activity.

Businesses should also have a fallback process for cases where automatic fulfillment fails even though the payment itself has been confirmed.

This is general information, not legal advice. Consult a licensed legal, tax, or compliance professional for the requirements that apply to your jurisdiction and business model.

FAQ

Can I accept crypto payments directly inside Telegram without a separate website?

A separate website is not always required. A bot can send an external crypto payment link or connect to a payment API. However, digital goods and services sold inside Telegram bots and Mini Apps must currently use Telegram Stars under Telegram’s platform rules.

What’s the difference between Telegram Stars and crypto payments?

Telegram Stars are virtual items used inside Telegram and are not cryptocurrency. Crypto payments use blockchain assets such as BTC or USDT. Telegram requires Stars for in-app digital goods and services, while other payment methods may apply to eligible physical goods or services.

Is it legal to accept crypto payments through a Telegram bot?

Legality depends on the merchant’s jurisdiction, customer locations, product, and payment flow. Accepting crypto may trigger tax, accounting, consumer-protection, AML, or licensing requirements. Businesses should review local rules and provider terms before launching a Telegram crypto payment flow.

How do I integrate a crypto payment API into my Telegram bot?

Connect the bot backend to a payment provider’s API, create an invoice or payment address for each order, store a unique order reference, receive a signed webhook after payment, verify it server-side, update the order, and then trigger fulfillment.

How fast are crypto payments confirmed when using a Telegram bot?

Confirmation speed depends mainly on the blockchain, required confirmation count, network conditions, and provider processing. The Telegram bot itself does not determine blockchain settlement time. Some payments can update within seconds, while others may require several minutes or longer.

Do I need KYC verification to accept crypto payments in Telegram?

A payment provider will typically require merchant verification before enabling payment services. Whether customers also need KYC depends on the provider, jurisdiction, transaction type, and risk controls. Telegram account verification does not replace payment-provider compliance checks.

Related Reading

Final Thoughts

The practical answer to how to accept crypto payments in a Telegram bot is to separate the messaging layer from the payment infrastructure. Telegram manages the customer interaction, while a Telegram crypto payment gateway can handle payment requests, blockchain confirmation, webhooks, and transaction records for eligible payment flows.

For low payment volumes, Payment Links & QR Codes can provide a simpler starting point. For automated processing, merchants can connect a Telegram bot payment API to their backend and use verified payment status as the trigger for the next action.

Before launch, confirm Telegram’s rules for what you sell, verify the payment provider and integration flow, and make sure compliance, accounting, security, and failed-payment handling are covered.

Start accepting crypto payments with PassimPayimage contactsContact us →

Do you like this article? Share it with your friends.

icon
icon
icon
icon

More