Never refund to the address the payment came from.Exchange withdrawals come from a shared hot wallet belonging to the exchange, not from your customer. Sending funds back there is unattributable and almost always a permanent loss for the customer.Always ask the customer for a self-custody address at refund time.
The process
Customer requests a refund
Through your own support channel. We’re not in this loop.
Ask for a receiving address
Their own wallet, on a chain they can access, for the token you’ll send. Ask at refund time rather than reusing anything on file.
Verify it
Have them confirm the address independently — a message from a known account, not just a reply in a ticket. Address-swap fraud is common.
Send from your wallet
A normal transfer. Keep the transaction hash against the order.
Why it works this way
We can't send funds we never hold
We can't send funds we never hold
Your money goes from customer to your pool to your wallet. At no point is it ours to return.
There's no safe automatic destination
There's no safe automatic destination
For a large share of payments the sender address belongs to an exchange, so “send it back where it came from” is actively harmful. There’s no way to automate around a customer who must supply an address.
A refund window would have been exploitable
A refund window would have been exploitable
An on-chain window during which a payment can be reversed is a free option: pay, watch the market, reverse if it moves against you. Removing it protects merchants and settles funds faster.