Merchant API

Accept payments in your own bot

Get a token, create invoices from your code and handle a webhook for every payment. A sandbox key lets you test payments end to end before release.

10 cryptocurrencies · 8 networks on one balance There is an MCP server: your AI agent can do the integration →
The API tokens and webhooks screen
Webhook delivered
Sandbox
Getting started

How to connect the Merchant API

From a token to your first webhook — four steps. More about the Merchant API →

Step 1

Get a token

Create an app in the bot and get your Merchant API key.

Step 2

Create an invoice

Create an invoice with its amount, asset and description. Set the webhook URL separately in the app settings.

Step 3

Show the payment link

Hand the user a link or a button — the payment happens inside Telegram.

Step 4

Handle the webhook

Receive the payment event and release the goods or access in your own service.

AI agent

Your AI agent can do the integration

Merchant API has an MCP server. Connect it in a compatible agent client: the agent can read the documentation, request an app, configure webhooks and help write the integration. You approve the app in Telegram and review and test the result.

  1. Step 1

    Send the prompt to your agent

  2. Step 2

    Approve the app in Telegram

  3. Step 3

    Finish and test the integration

How it works, prompts per client and what the agent's token can do →
Prompt for an MCP agent
Connect the tgpay MCP server (https://app.tgpaycrypto.com/mcp) and integrate payments via the TgPay Crypto Merchant API.
What you get

Payments as part of your own product

Invoices are created by request and statuses arrive by webhook — the rest is yours to define.

Token and sandbox

A separate key for testing: rehearse the payment process before it reaches real users.

Invoices from code

Create, cancel and check invoices with plain HTTP requests — no SDK required.

Recurring charges

Subscriptions as a product: the user agrees once, then charges run on schedule through the Merchant API.

Payment webhooks

Payment events are sent to your webhook URL and retried on delivery failure. You can also check an invoice's status through the API.

Docs and examples

Method reference, error codes and request examples in the API documentation.

How it all works in detail — in the help center

10 cryptocurrencies · 8 networks on one balance

GRAM BTC ETH SOL BNB LTC DOGE TRX
USDTTRC-20 · ERC-20 · BEP-20 · TON · SOL USDCERC-20 · BEP-20 · SOL

Run a channel? Sell in Telegram?

See the page as your role sees it — the feature set changes to match.

For creators For sellers For developers
The withdrawal confirmation screen
Valid address format
Security

Verified before it leaves, not after

A withdrawal sends crypto to an external blockchain address. Here is what to check before you confirm.

  • Before you confirm
  • Address, network and memo Check the recipient's address, network and any required memo before confirming. A valid format does not prove that the address belongs to the intended recipient.
  • Saved addresses Optional: withdrawals can go only to addresses you saved in advance.
  • PIN or Face ID Confirmation is required for every withdrawal, not once per session.
  • You tap “Confirm”
  • And even after that
  • A delay on large amounts If you enable a safety delay, qualifying withdrawals wait before sending. You can cancel while the withdrawal is scheduled.
  • An AML check on the transaction The transaction is screened before the funds reach the recipient.
  • Withdrawal notifications Check withdrawal notifications in the bot and contact support if you do not recognize an operation.

The security section in the help center

Terms

Terms you can see up front

The amount to be charged is always shown before you confirm — there are no hidden fees.

Deposits to the wallet Credited after network confirmations
No fee
Transfers by username inside Telegram The crypto never goes on-chain, so there is no network fee to pay
No fee
Swap in the wallet Rate, fee and final amount on the swap screen
Shown before you confirm
On-chain withdrawal Address, network and memo are checked before sending
Fee shown before confirmation

Current fees and minimums are shown in the app. The full list is in the help center.

USDT GRAM BTC ETH SOL BNB LTC DOGE
10 cryptocurrencies · 8 networks — one balance

No need for a separate wallet per network: deposit and withdraw through whichever network suits you.

TRC-20 · ERC-20 · BEP-20 · TON · SOL · BTC · LTC · DOGE

online Live support in Telegram
My TRC-20 withdrawal hasn't arrived — what should I do? Looking at the transaction now — we'll answer right here in the chat.
@tgpayhelpbot
FAQ

Frequently asked questions

The short version on the wallet, transfers and taking payments.

No. The wallet is created the first time you open @tgpaycryptobot — there is no login, no password and no seed phrase. Access is tied to your Telegram account.

Ten cryptocurrencies across eight networks: GRAM, BTC, ETH, SOL, BNB, LTC, DOGE and TRX, plus USDT on five networks and USDC on three. You pick the network when you deposit or withdraw — each one has its own address.

Enter their username — no address is needed, the transfer stays inside the wallet and there is no network fee. If they don't have a wallet yet, send a check: they will claim it themselves.

A check is crypto as a link or a QR code. It can be made for a single recipient or for several claims, protected with a password, limited by an expiry date, restricted to subscribers of your channels or to Telegram Premium users. Once created, a check can be paused, its amount and number of claims edited, or deleted — whatever is left returns to your balance.

Transfers by username are free. Withdrawal fees depend on the asset and network. The swap rate and final amount are shown before you confirm; current fees and minimums are in the app.

Create invoices in the app. For automation, connect the Merchant API: create invoices by request and receive payment webhooks. The methods are described in the API documentation.

All the answers are in the help center Can't find your answer? Write to @tgpayhelpbot

Open your wallet in a minute

Launch @tgpaycryptobot in Telegram — the wallet is already there, ready to receive crypto.

Viewing as:
Personal For creators For sellers For developers