Products

ExchangeMove your own moneyPayoutsPay many at oncePaymentsGet paid by customersClaimsLet people take their share

Company

DevelopersPricing

Resources

BlogReleases and decisions, datedLearnExplainers and comparisons
Open appSign in

Blog

“Can I pay in USDT?” Say yes in ten minutes

Cherum team · 6 min read ·

For WooCommerce store owners: let buyers pay in the coin they already hold, and try the whole thing on a test order first.

The email is about a €48 order, and it’s one line long: “Can I pay in USDT?” Maybe their card keeps getting declined abroad, or their savings sit in stablecoins. You want the €48 either way.

Then your own questions start. USDT exists on several networks, so which one will they pay on? If a dollar goes missing on the way, does the order still count as paid, or does it sit there half-open? And there’s the refund, for someone who never gave you a card.

The network question is the one that loses sales. The shop asks for one coin on one network, the buyer holds something else, and they leave to convert it on another site and don’t come back. People keep USDT wherever their exchange put it.

Cherum Pay for WooCommerce, listed in the WordPress.org plugin directory since September, lets the buyer pick the coin and the network. You still get paid in one coin, USDC on the Base network, unless you pick another. USDC is a coin pegged to the US dollar.

Buyer pays Your Cherum balance Your wallet WooCommerce order the coin they hold on its own network 99.10 USDC on Base 0.90% fee taken off after each payment or past a threshold paid, net amount noted $100 order payout status and note example: a $100 order paid in USDC
The buyer pays in the coin they hold. Your Cherum balance receives USDC on Base less the 0.90% fee and pays out to your crypto wallet from there. The order closes with a note of what arrived.

They pay with what they already hold

On the payment page the buyer picks what to pay with: Bitcoin, Ethereum, Solana, TON, Tron, BNB or Polygon, or the dollar coins USDC and USDT across eight networks. If they hold ETH and the page asks for USDC, their wallet swaps it within the same payment. The 0.30% this costs shows up before they sign.

A buyer with no wallet at all can pay with a withdrawal from Binance or Coinbase. It counts like any other payment.

There’s a minimum order, and it depends on what the buyer pays with: $2 for USDC on the Base network, $175 on Ethereum, where moving money costs more. The payment page shows the live figure up front.

When the payment arrives a dollar short

Say a buyer pays a $50 order from an exchange that keeps $1 as its withdrawal fee, so $49 arrives. That still counts as paid. The order closes and your balance gets the $49 minus our fee. The order note says so.

A payment can come up to $2 short and still count as paid. On orders above $2,000 the allowance is 0.1% of the order instead. It never goes past 3% of the order, so on a $50 order the limit is $1.50 and the $1 gap passes.

short, but still paid $50 order $500 order $5,000 order $1.50 · 3% cap $2 · flat amount $5 · 0.1% the bigger of 0.1% or $2, with the $2 capped at 3% rule in force on 27 Sep 2026 · docs.cherum.io/pay-api
The largest gap that still counts as paid, by order size. Rule in force on 27 September 2026, from docs.cherum.io/pay-api.

Anything bigger leaves the invoice open, and the payment page asks the buyer for the rest. If they overpay, the same page offers the extra back.

What you receive

Prices stay in your store’s currency. The plugin handles 32 of them, so a €48 order becomes a €48 invoice and a shop in Bangkok keeps billing in baht.

Whatever the buyer paid with, your balance at Cherum receives USDC on Base, unless you’ve picked another coin in the dashboard. It arrives within minutes, less the 0.90% fee. A $100 order paid in USDC comes to $99.10. Payouts to your wallet go out after every payment, or past a threshold you set.

The order note records what arrived after fees in your store’s currency, along with the transaction reference.

Hosting has bad days. If your site misses the notification Cherum sends when a payment arrives, the order closes anyway. The order-received page and a check every 15 minutes both ask Cherum about unpaid orders.

Refunds from the screen you already use

Open the order, type the amount into WooCommerce’s own refund box and press Refund. Partial refunds work the same way.

Cherum then asks the buyer, on their payment page, which wallet should get the money back. They receive the full amount you typed, paid in USDC on Base and converted at the exchange rate recorded on the order. The refund’s fee and network cost come out of your balance on top. Each step shows up in the order notes. If a refund can’t go out, the note says why, for example that your balance is too low.

What it costs

We take 0.90% of each payment. The buyer pays a 0.30% swap fee, and only when their coin has to be converted to pay. There’s no monthly plan, setup fee, minimum volume or balance to pre-fund.

Cards usually cost a store 2 to 3%, so some shops pass part of the difference on as a crypto discount, which the plugin shows as its own line in the cart.

Limits

Your prices, checkout, order statuses and refund button stay as they are, on block checkout or classic. The plugin is open source (GPL) and carries no trackers. It sends nothing about a shopper until they pick Cherum Pay, and never their name or postal address. The code is on GitHub.

Try it without a real order

Setup takes about ten minutes, on a test key.

  1. In WordPress, go to Plugins → Add Plugin, search for “Cherum Pay” and install it. WooCommerce 9.0 or newer needs to be active.
  2. Open dashboard.cherum.io and sign in with an e-mail link. No wallet is needed until you withdraw. Create a test API key (it starts with chm_test_) and tick the invoice and webhook permissions.
  3. Paste the key into WooCommerce → Settings → Payments → Cherum Pay and save. The plugin sets up its own notifications and shows “Connected”.
  4. Place a test order and pick a coin on the payment page, as a buyer would. The page is marked TEST, and the payment address on it is a practice one that no network accepts. Then switch the dashboard to Test, open that invoice and press “confirmed” under Rehearse. The order closes in your store, notes and all.
  5. When you’re happy with it, swap in a live key made the same way, this time with refunds ticked.

If you’d rather click around first, there’s a demo store.

After step 5 you can answer that €48 email with a yes.

Read next