How to Refund a Crypto Payment: A Merchant's Guide to USDT Refunds
There is no chargeback button on a blockchain. A crypto refund is a fresh payment from you to the customer — and most refund mistakes happen when the wrong address or network is used. Here is a safe process, a policy template and the records to keep.

To refund a crypto payment, you send a new transaction from your own wallet to an address the customer confirms in writing, on a network they confirm, for an amount you agree in advance. Blockchain payments cannot be reversed by the sender or the receiver, so a refund is never "undoing" the original transfer — it is a separate payment, and it needs the same care as any other outgoing payment.
This guide gives you a simple refund process, explains the three decisions every crypto refund involves, and shows what to write in your refund policy so customers know what to expect.
Why crypto refunds work differently
| Card payment | Crypto payment | |
|---|---|---|
| Who can reverse it | Bank or card network, even weeks later (chargeback) | Nobody — the transfer is final once confirmed |
| How a refund happens | The original charge is reversed to the same card | A new payment from merchant to customer |
| Where it goes | Automatically to the card used | Only to the address you send it to |
| Fees | Usually absorbed in card fees | A network fee on the refund transaction |
That finality is also why merchants like crypto: no surprise chargebacks. Our comparison of crypto payments vs credit cards covers the other side of the story.
Step by step: a safe refund process
- Find the original payment — locate the invoice and its transaction hash in your dashboard, and check the amount that was actually received.
- Agree the refund amount — full or partial, in USDT or as a fiat value (see below). Confirm it in writing.
- Ask for a refund address and network — in the same support thread, from the customer's verified contact. For USDT, the network must match the address (a TRON address starts with
T). - Verify the address — compare the full address, not just the first and last characters. Send a small test amount first for large refunds.
- Send the refund — from your own wallet, after withdrawing the funds from your gateway balance if needed.
- Share the proof — send the customer the transaction hash and an explorer link.
- Record it — note the invoice ID, refund amount, network fee, date and refund transaction hash for your books.
The three decisions in every crypto refund
1. Amount: crypto amount or fiat value?
With stablecoins such as USDT the difference is small, which is one reason they suit commerce. With volatile coins it matters a lot. State in your policy whether refunds are made in the same amount of the same asset, or for the original fiat price at today's rate.
2. Network fee: who pays it?
A refund is a new transaction and costs a network fee. Many merchants absorb it for refunds caused by their own mistake and deduct it when the customer cancels. Whatever you choose, write it down.
3. Address and network
Sending USDT on the wrong network, or to an address on a different chain, can make funds very hard or impossible to recover. Ask the customer to state the network explicitly, and see USDT TRC-20 vs ERC-20 for how the networks differ.
Underpayments, overpayments and expired invoices
- Underpaid — the customer can usually pay the remaining amount on the same invoice instead of getting a refund. Refund only if the order is cancelled.
- Overpaid — the webhook and dashboard show the expected and received amounts; refund the difference or offer store credit.
- Paid after expiry — decide whether to honour the old price, ask for the difference or refund. A clear rule saves long chats.
How these statuses appear in the API is explained in our crypto payment gateway API guide.
A refund policy you can copy
Put the policy on your checkout or terms page, and link to it from the order confirmation email.
Bookkeeping for crypto refunds
- Link refund to invoice — every refund should reference the original invoice ID and transaction hash.
- Record both legs — the original receipt and the refund payment, each with date, amount and fee.
- Use a stable unit — record values in your reporting currency at the time of each transaction.
- Export regularly — keep invoice exports from your dashboard alongside wallet statements.
Refunds with mistKET
mistKET keeps every invoice with its status, received amount and transaction hash, so finding the payment you are refunding takes seconds. Your confirmed balance can be withdrawn to your own wallet from the merchant panel, and refunds are then sent from that wallet. See pricing, log in to the merchant panel, or apply as a merchant on Telegram at @mistnetwork.


