When a customer asks for a refund on a stablecoin payment, you can’t just reverse it. You send a new payment back. This guide shows a simple way to track each refund from request to approval, payment and bookkeeping.

In short

  • A confirmed stablecoin payment can’t be undone. A refund is a separate payment.
  • Check the customer’s receiving address, the token and the network before anyone approves it.
  • Tie every refund to the original invoice and keep the outgoing payment reference.
  • With a Smart USD Wallet, you stay in control of your funds, and only people with wallet access can approve a payment out.

Why this matters

Once a stablecoin transfer is confirmed, it’s final. You can’t edit it like an unpaid invoice. To give money back, you approve and send a second payment. Then you link both in your records.

Bank payments work much the same way. A US domestic wire is very hard to pull back once it is sent. You can read more in Can a Bank Wire Transfer Be Reversed? ACH reversals are only for errors, like a duplicate payment or a wrong amount. They are not a way to give a customer a refund.

Bancoli is a chartered bank and a fintech together in one. Your business gets named USD account details for ACH, RTP and US domestic wires, plus a Smart USD Wallet for stablecoins. It feels like a normal account. You control your funds. Bancoli does not own or control them. Smart USD (eligible USDC, USDi and USDT) is not a deposit and is not FDIC-insured.

A customer who paid by ACH or wire and a customer who sent stablecoins need different checks before you send money back. That is true even if both sales sit in the same ledger.

Before you start

  • Gather the paperwork. You need the original invoice, the incoming payment reference, the customer’s messages, your refund policy and access to the account you’ll pay from.
  • Keep a refund register. Use your accounting system or a locked-down spreadsheet. It should connect the original payment, the approval and the refund.
  • Don’t send back to the sending address by default. Exchanges and payment apps often send from an address that can’t receive. Ask the customer for confirmed receiving details first.

The labels in bold below are suggestions for your own records. They aren’t Bancoli screen labels or a built-in refund feature.

Set up the refund record

Create the record before anyone opens a payment screen. That way, no request turns into a payment nobody tracked.

  1. Identify the purchase. Create a Refund ID and note the Original invoice, Customer, Original payment reference and Payment received. For a stablecoin payment, write down the token and network. For ACH or wire, keep the bank reference.
  2. Confirm what you owe. Check the order, delivery, past refunds and your terms. Record the Refund reason, Approved amount and Refund currency (for example, the invoice currency or a set amount of USDC).
  3. Set the status. Mark it Requested, not paid. Note who asked and assign an approver. A customer email is not an approval.
  4. Check for duplicates. Search the invoice and payment reference across open and finished refunds. Include refunds that are still on their way.

What you should have now: one record that shows what you owe, how the customer paid and who will approve. No money has moved yet.

Decide in your refund policy what you owe. A refund of $500 is not the same as a refund of 500 USDC. Pick one and write it down.

Keep these apart in the record

Keep the Approved amount apart from the Amount sent and any Fee. A fee should not quietly come out of what you owe the customer. Follow the terms you gave the customer.

Also keep Sent apart from Received. A payment that has been sent is not proof that the customer has the money.

Check the destination and get approval

Treat the refund address as a brand-new payment instruction. The original payment shows where the money came from. It does not show where the refund should go.

  1. Ask for receiving details. Ask the customer for the token, network and receiving address. Use a contact channel you already trust. If they use an exchange or payment app, ask them to get deposit details for that exact token and network.
  2. Check that it fits. Make sure the receiving service accepts that token on that network. Check if it needs a memo or tag. A familiar token name alone is not enough.
  3. Double-check any change. If the details differ from ones you checked before, confirm the change through a second, known contact. A new email address is not proof.
  4. Approve the payment. Record the Verified destination, Token, Network, Approved amount and Approver together. If anything changes later, approve it again.

What you should have now: the approver can see what will be sent, where it will go and why that address belongs to the customer.

Do three checks before you approve: who the customer is, whether the destination fits and whether the refund is owed. Each one covers a different risk. A matching address does not mean the purchase qualifies for a refund.

With a Smart USD Wallet, only people with wallet access can approve a payment out. They sign in with at least two social logins from Google, Apple, X or Telegram. They approve each payment with MFA or a passkey.

Choose how to send the refund

Each option below fits a different case. None of them skips the checks above.

How you refund Best for Good to know
Stablecoins to the customer’s wallet or exchange Customers who paid in stablecoins and can receive the same token and network Needs fresh, confirmed receiving details
Stablecoins on a different network Customers whose service only takes another network Needs the customer’s OK, a token your account can send on that network, and a new compatibility check
To the customer’s Bancoli account Customers who also bank with Bancoli Arrives in minutes and is free or nearly free
USD by ACH, RTP or US domestic wire Customers who want the money in a US bank account Needs checked bank details for the customer
Local currency payout Customers outside the US who want their own currency Your USD is converted when the payout is sent, with free FX in 25 currencies

Don’t switch the token or network just because it is easier for you. Get the customer’s OK and check the new details first.

Refund steps from recording the request through checking, approval, payment and reconciliation

Send the refund and close the books

Send only what was approved. Then finish the bookkeeping. Keep payment approval separate from customer service chats.

  1. Check your balance. Make sure you have enough to cover the refund and any fee shown before you approve.
  2. Compare before you approve. Match the payment screen to the approved record: recipient, token, network and amount. Stop if anything is different.
  3. Send the refund. Approve only the payment in the record. Write down the outgoing payment reference, the time and the status right away.
  4. Check that it arrived. Look at the payment status in your account. Don’t promise the customer a time you can’t confirm.
  5. Close the loop. Update the original invoice or customer ledger. Record the refund and any fees as separate lines. Send the customer the payment reference. Mark the refund Completed only when you have proof of payment.

What you should have now: the sale and the refund are linked. The customer has a reference they can use. Your accountant can explain the change without digging through chats.

Keep two references for every refund: the incoming payment and the outgoing refund. Add the credit note your bookkeeping and tax rules need. The payment record does not replace it.

The order is simple: record, check, approve, send, then reconcile. Keep that order even when one person does several steps.

Approve checked payment details before the refund goes out.

Partial refunds and local currency refunds

A partial refund uses the same steps. The original invoice just stays partly paid. A local currency refund adds a conversion, so treat it as its own decision.

Partial refunds

  • Record the Amount still refundable for the original purchase.
  • Before you approve a new request, subtract refunds already paid and refunds approved but not yet sent.
  • Link each refund to its own record and to the same original invoice.

What you should have now: several fair partial refunds that don’t look like duplicates. A second request can’t use money already set aside for a pending refund.

Local currency refunds

Your Bancoli balance stays in USD. If a customer wants a refund in their own currency, the USD is converted when the payout is sent. Bancoli offers free FX in 25 currencies.

  • Check that the customer, their country, their bank details and the currency can receive the payout.
  • Agree whether you owe a set amount in the invoice currency or a set amount in the customer’s currency.
  • Look at the rate and payout details before you approve. Record what the customer gets apart from what the payout cost your business.
  • Keep the payout reference. Record the conversion and the refund as two linked lines.

What you should have now: a clear refund amount for the customer, and a ledger that explains any gap between the USD you sent and the local currency they got.

For more, see Free FX conversions: which costs still apply?

Troubleshooting

The customer asks you to refund the sending address

Ask the customer for current receiving details instead. Exchanges often send from addresses that are not set up to receive. Keep the refund on hold until the address is confirmed.

The refund won’t go through

Check your balance and any fee shown. Also check for payments that are already pending. Don’t shrink the approved refund to make it fit.

The refund was sent but has not arrived

Check the payment status before you do anything else. Don’t send a second refund just because the customer has not seen it yet. If a payment failed or was rejected, find out what happened to the money before you approve a new one.

The customer can’t see a refund that went through

Compare the token, network and address with the customer’s confirmed details. An exchange may take extra time to credit a deposit. Send the customer the payment reference and ask them to contact their exchange if everything matches.

Your ledger and the customer’s balance don’t match

Look for duplicate refund records, pending partial refunds, conversion lines and fees taken from the customer amount. Check what you owed first. Then check what you sent. A balance on its own can’t tell you if the customer was refunded correctly.

Make the process your own

Set approval rules that match who can spend money in your business. For bigger or riskier changes, ask a second person to review any new destination and the final approval.

Start by making intake and paperwork the same every time. If you later automate parts of the process, like creating records or sending customer updates, keep a person in charge of destination changes and payment approval. A support message should never trigger a payment on its own.

Want refunds and payments in one place? See how the Smart USD Wallet works.

FAQ

Can I reverse a stablecoin payment to refund a customer?

No. Once a stablecoin payment is confirmed, the sender can’t reverse it. A refund is a new payment that you link to the original payment and invoice.

Should I refund the same address that paid me?

Not by default. The sending address may not accept deposits, especially if the customer paid from an exchange or payment app. Ask for confirmed receiving details first.

Can I refund a customer on a different network?

Yes, if the customer agrees, your account can send that token on that network, and their receiving service supports that exact token and network. Check the new details before you send.

How do I record a partial stablecoin refund?

Create a separate refund record linked to the original invoice. Lower the amount still refundable. Count refunds already paid and refunds approved but not yet sent.

Can I refund a stablecoin payment into a bank account?

Yes. You can send USD by ACH, RTP or US domestic wire to checked bank details, using the options your account shows. For a refund in another currency, the USD is converted when the payout is sent. Agree on the refund currency with the customer first.

Is Smart USD covered by FDIC insurance?

No. Smart USD (eligible USDC, USDi and USDT) is not a deposit and is not FDIC-insured. You control your funds, and Bancoli does not own or control them.

What should I do if a refund looks stuck?

Check the outgoing payment reference before you send anything else. Find out if the first payment went through, failed or is still pending. That way you don’t pay the customer twice.

One last thing

Even a small change to the destination needs a fresh approval. The amount can be right while the money goes to the wrong person. Lock the approved details to the refund record. Approve again if the token, network, address or recipient changes.

Related guides