← All posts
stablecoin commerce·7 min

Accepting USDT for ecommerce: a practical guide

USDT is the most-held stablecoin in the world. If your customers hold any crypto at all, there's a good chance they hold USDT. For a global ecommerce business, accepting USDT widens your funnel without forcing customers through fiat rails.

This guide covers the practical version: how to accept it, which networks to support, and what to watch for.

Why USDT specifically

There are stronger arguments to be made for USDC if you're optimizing for regulatory clarity. There are stronger arguments for native crypto if you're optimizing for ideology. But for reach — the number of customers who hold the token and can pay you with it — USDT wins.

A few reasons:

  • USDT has higher market cap and volume than any other stablecoin
  • It's the de facto unit of account on a lot of regional exchanges
  • It's deeply integrated into wallets, exchanges, and bridges across every major chain
  • Customers in markets where the dollar is hard to access often hold USDT as their dollar exposure

If you accept USDT, you reduce friction for a meaningful percentage of crypto-paying customers. For an ecommerce business, that translates directly to checkout completion.

Which network to accept it on

USDT is one token issued on multiple networks. Each issuance is a different smart contract on a different chain. The token is fungible (1 USDT is 1 USDT), but the network matters.

Practical guidance:

  • Tron (TRC-20) — by far the cheapest network for USDT transfers. Customer pays cents in fees. If you only support one network, this is often the highest-converting.
  • Ethereum (ERC-20) — the original. Higher fees per transfer but maximum compatibility with wallets and exchanges.
  • Polygon, BNB Chain, Arbitrum, Optimism — fast and cheap. Strong support in wallets. Good fallback if customer doesn't have Tron.
  • Solana — fastest confirmation. Good for high-frequency / low-ticket items.

The right answer for most merchants: support all of them. Customers pay on the network they hold. Forcing a network choice on the customer drops conversion.

How payment flows for USDT

Same as any other on-chain payment:

  1. Customer picks USDT and a network in your checkout.
  2. Your gateway generates a session with a fresh address (from a pool you control) and the exact amount due.
  3. Customer sends the transfer from their wallet.
  4. The network confirms. Your gateway notices.
  5. Webhook fires to your endpoint. Order is paid.

Settlement is on-chain — funds arrive directly in the wallet you supplied. No processor balance sits between the customer and you.

Pricing in USD, settling in USDT

Most ecommerce stores price in fiat. The gateway's job is to quote the customer the right USDT amount based on the current rate, then accept settlement in USDT.

The amount in USDT will track the dollar very closely (USDT is pegged) but not exactly. A few cents of slippage is normal. PaySovra handles overpayments and underpayments explicitly:

  • OVERPAID: customer sent more than asked. Full amount is in your wallet; the dashboard shows the excess. Refund at your discretion.
  • UNDERPAID: customer sent less. Status reflects it. Customer can send the remainder to the same address; the session waits.

For most merchants, a small payment tolerance (e.g., 1%) absorbs minor exchange-rate movement during the payment window. PaySovra's tolerance setting handles this automatically.

What to watch for

Network confusion at checkout. Customers occasionally send USDT on the wrong network. The transaction won't reach your gateway-monitored address — it'll be sitting on a different chain at a similar-looking address. Modern wallets warn about this; older wallets don't always. Display the network clearly at the QR step.

Network fees on customer side. Tron is cheap. Ethereum can be expensive during congestion. Customers paying $20 don't want to pay $5 in fees, so route them to a cheaper network if their wallet supports it.

Compliance considerations. USDT issuer Tether has compliance practices that vary by jurisdiction. This is a Tether issue, not a gateway issue, but it's worth knowing. The token can be frozen at the issuer level in rare cases. This is independent of any payment processor.

Gas-sponsorship and abstraction. Some wallets pay gas in USDT itself rather than the chain's native token. This is fine — your gateway sees the inbound USDT regardless of how the gas was paid.

What changes for your accounting

USDT settles on-chain, in USDT. Your accounting system needs to handle stablecoin balances:

  • Treat USDT as a dollar-equivalent for revenue recognition (track the rate at the moment of settlement)
  • Convert to fiat when you sweep the wallet — at that point you have a realized FX gain or loss
  • Keep wallet history; tax reporting will want the chain hashes

Most modern accounting platforms support stablecoin tracking. If yours doesn't, the data is on-chain and exportable.

A note on volatility risk

USDT tracks the dollar within a few basis points 99% of the time. Historically there have been short windows of de-pegging. If you're holding USDT for more than a few days, you have minor de-pegging exposure.

The simplest mitigation: sweep regularly. Convert to fiat or hold in a treasury asset on your schedule. Don't accumulate large balances unless you've decided that's a treasury choice.


PaySovra accepts USDT across Ethereum, Tron, Polygon, BNB Chain, Solana, Arbitrum, and Optimism. Funds arrive directly in your wallet. The gateway never holds them.