How to accept USDT payments
A practical guide to accepting USDT from customers: why businesses choose it, how the flow works, which network to offer, how to handle short payments and what to do with the money afterwards.

USDT is the stablecoin most customers already hold, which makes it the first asset most businesses add. A dollar price stays a dollar price, so you avoid pricing in a volatile coin. This guide covers the whole flow in order: why USDT, how a payment works, which network to offer, what can go wrong and what to do with the money.
Why businesses start with USDT
- The price is steady. USDT is designed to track the US dollar, so a $100 order stays about 100 USDT.
- Customers already have it. For many buyers it is the default way to hold and move money in crypto.
- Cross-border is simple. The payer and the receiver can be in different countries with no bank in between.
- Settlement is quick. A transfer is confirmed in minutes, not days.
It is not risk-free. The token is controlled by its issuer, who can freeze balances, and its dollar value depends on the issuer's reserves. Many businesses accept USDT together with USDC to keep a choice for customers.
How a USDT payment works with Qvard
- Your server creates a payment for the order: one
POSTtohttps://api.qvard.com/api/v1/paymentwith your order number asidand the amount in US dollars asprice, authenticated with your API key. - Qvard returns a redirectUrl to a hosted payment page.
- The customer opens the page, picks USDT and a network, and sees the exact amount and the address. The rate is fixed for one hour.
- The customer sends the transfer from their wallet or exchange.
- When the payment is completed, Qvard sends a webhook to your callback URL with your order number and the status. You mark the order paid.
Repeating the request with the same order number and method returns the existing payment instead of creating a duplicate. For the full integration see how to accept crypto payments on a website.
Which network to offer
The same coin lives on several networks, and the customer must send on the one shown on the payment page. For USDT the common choices are TRC20, ERC20 and BEP20.
- TRC20 is popular for small and frequent payments because fees are usually low.
- ERC20 is widely supported but fees are generally higher and vary with network load.
- BEP20 is another low-fee option, common among customers who use BNB Chain.
Offer the networks your customers actually use, and say plainly on your checkout that the network on the payment page must match. A transfer on the wrong network can be lost or need manual recovery. Details in TRC20, ERC20 and BEP20 for payments and how to accept USDT TRC20 payments.
What can go wrong
- A short payment. The customer sends less than the invoice, often because the exchange deducted a withdrawal fee. The payment gets the
partialstatus and no completion webhook is sent. Keep the order on hold and ask for the difference. See how to handle USDT underpayments. - A late payment. The rate on the page is fixed for one hour. Tell customers to pay within that time.
- The wrong network. Show the network clearly and repeat it in your confirmation message.
- A missed webhook. Make your endpoint answer exactly HTTP 200 and be safe to run twice. Qvard retries failed deliveries (five attempts over about six minutes), and you can resend from the cabinet.
Plan your refund rule in advance: a refund is a transfer you send yourself, to an address and network the customer confirms.
What to do with the money
Received funds appear on your Qvard balance. You can withdraw them to your own wallet; the cost is the network fee only. Withdrawal to a bank account in fiat is not available, so if you need local currency you convert on your side, for example through an exchange you already use.
Cost: there is no subscription fee. The commission is individual to your project and, per the pricing page, starts at 1% and can go down to 0.1%. Network fees depend on the network you pick, which is another reason to withdraw in sensible sizes. For the day-to-day routine see merchant operations checklist for crypto payments.
FAQ
Does Qvard support USDT?
Yes. USDT is one of the supported assets, alongside USDC, BTC, LTC, TRX, BNB and ETH. The customer chooses the asset and network on the payment page.
Which network is best for USDT payments?
It depends on your customers. TRC20 and BEP20 usually have lower fees, ERC20 is widely supported but generally costs more. Offer the ones your customers use.
What if the customer sends less than the invoice?
The payment gets the partial status and no completion webhook is sent. Hold the order and ask the customer for the difference.
Can I withdraw USDT to a bank account?
No. Fiat withdrawal is not available. You withdraw to your own crypto wallet and pay only the network fee.