Accept USDT payments on your website or bot

Price in dollars, get paid in dollars, and let the buyer pay from a wallet that already lives in their Telegram. Paysell issues the invoice, watches the TON network and credits USDT to your balance about a minute later.

  • USDT on the TON network, credited as USDT
  • Invoices from 3 to 10,000 USDT
  • 0.2% per payment, no setup or monthly fee
  • Network fees on incoming payments are on us

What usually goes wrong

Your price is in dollars, your crypto revenue is not

Accepting a volatile coin means the amount you invoiced and the amount you can spend are two different numbers, separated by however long the buyer took to open their wallet. USDT is designed to sit at one dollar, which makes a crypto payment something an accountant can plan around.

The same ticker exists on several networks

USDT is issued on Ethereum, on Tron, on TON and elsewhere, and a wallet shows the identical three letters in each case. Send it to an address on the wrong network and it does not arrive. A USDT checkout must be explicit about the network.

Network fees decide whether a small payment is worth taking

On a congested network the fee to move a stablecoin can eat a meaningful share of a twenty-dollar order, and the buyer pays it on top of your price. Small tickets, top-ups and micro-purchases stop making sense.

Matching transfers to orders by hand

Publishing one wallet address and asking customers to write the order number in a message works until the tenth order. After that someone reads an explorer, chases amounts off by a fraction, and answers tickets that start with a screenshot.

How Paysell helps

USDT on TON, credited in the coin that was sent

Paysell works with USDT as a jetton on the TON network. A buyer pays 25 USDT and your balance grows by 25 USDT minus the fee — no conversion, no spread, no exchange-rate gap between the price on your page and the amount you withdraw.

The network fee on an incoming payment is not your problem

Transfers on TON are cheap by design, and Paysell pays the network fee on payments coming in. That is what makes an invoice of 3 USDT sensible; the largest is 10,000 USDT, and one store can create 60 invoices per hour.

A checkout your buyer already has in their pocket

The hosted page at /pay/{id} shows the exact amount, a QR code and buttons for Tonkeeper and MyTonWallet, and works from the wallet built into Telegram. Nobody installs an extension or copies an address by hand.

One rate, fixed when you register the store

0.2% of the payment received, with nothing for connecting, nothing per month and nothing for the payment page, webhooks or the dashboard. Withdrawing USDT carries its own fixed fee of 0.7 USDT, with a 25 USDT minimum, and every request passes automated anti-fraud checks before it is signed.

Where it fits

A USDT checkout on your own siteUSDT payments inside a Telegram bot or mini appA payment link for invoices agreed in chatCross-border B2B invoices up to 10,000 USDTSubscription renewals billed in dollarsDeposits and top-ups on a user balance

Integration in minutes

One call to create, one webhook to confirm

Create a store in the dashboard, take its sk_live_ API key, and post the amount with asset USDT_TON and your own order id. The response gives you a payment page and an expires_at — two hours by default, adjustable from 1 minute to 24 hours with ttl_minutes. Send the buyer to the page and wait for the HMAC-signed payment.credited webhook, which carries your order id back and is retried for up to 24 hours. An underpaid invoice stays open another 24 hours for a top-up; an overpayment is credited in full. Your key is live from minute one, so integrations are verified with a small real invoice — from 3 USDT.

Full API reference
Create a USDT invoice
curl -X POST https://paysell.me/api/merchant/v1/invoices \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"asset":"USDT_TON","amount":"25","order_id":"order-1042"}'
Response
{
  "invoice_id": "12c22c1a-a496-4c1e-abe3-72661ef8706e",
  "payment_url": "https://paysell.me/pay/12c22c1a-a496-4c1e-abe3-72661ef8706e",
  "asset": "USDT_TON",
  "amount": "25",
  "status": "pending",
  "expires_at": "2026-09-06T17:20:55Z"
}

Pricing at a glance

One rate for every payment, whatever you sell and wherever your customer is.

0.2%
per payment
0
setup and monthly fee
0.7 USDT / 0.52 TON
withdrawal fee
25 USDT / 19 TON
minimum withdrawal

Withdraw to any TON wallet in a couple of clicks from the dashboard.

Before you apply

What this gateway covers

Paysell settles in USDT on the TON network and in TON. Your balance stays in the asset that was paid, and the two are held separately, with no automatic conversion between them. Coming next: Tron. Refunds are handled through support rather than an API call, because an on-chain transfer cannot be reversed. Your key is live from minute one, so a small real invoice — from 3 USDT — is enough to verify an integration. Merchants operate under the Acceptable Use Policy, and we may ask for verification, as any payment service does.

Questions

How do I accept USDT payments on my website?

Register with Paysell, create a store, and call the invoice endpoint with the amount and your order id. Redirect the buyer to the payment page you get back, and release the order when the payment.credited webhook arrives about a minute later. If you would rather not write code, send a payment link created in the dashboard.

Is USDT on TON the same as USDT TRC-20?

It is the same asset from the same issuer, but on a different network, and the two are not interchangeable in a transfer. USDT on TON is a jetton that moves in TON transactions and confirms in seconds; USDT TRC-20 lives on Tron and only reaches a Tron address. A payment must go to an address on the matching network.

Do you support USDT on Tron (TRC-20) or Ethereum (ERC-20)?

Paysell works with the TON network — USDT as a jetton on TON, and TON itself. Coming next: Tron. Until it ships, an invoice is paid from a TON wallet, which the payment page makes explicit to the buyer.

What are the fees for accepting USDT?

0.2% of each payment received, fixed when you register the store. There is no connection fee, no monthly fee and no charge for the payment page or webhooks, and Paysell covers the network fee on the incoming transfer. Withdrawing USDT has its own fixed fee of 0.7 USDT, with a 25 USDT minimum.

What is the minimum and maximum USDT payment?

A single invoice can be between 3 and 10,000 USDT, and one store can create up to 60 invoices per hour. Larger amounts are usually split into stages; if your model needs more throughput, raise it with support before you launch.

How fast is a USDT payment confirmed?

The transfer itself confirms on TON in seconds. Paysell then waits for the masterchain block plus three more and reconciles against a second data source before crediting — about a minute from the moment the buyer sends. Your webhook fires at that point, and the payment is final: there are no chargebacks.

Can I get paid out in dollars to a bank account?

No. Your balance stays in the asset that was paid, and withdrawals go to your own crypto wallet — USDT on TON, or TON. There is no fiat settlement and no automatic conversion, so dollars in a bank are something you arrange yourself.

Related solutions

Ready to take your first crypto payment?

Create an account, connect a store and issue your first invoice today — no setup fee, no waiting for approval.

Create an account