What a dispute is
A dispute is the broad term for a customer contesting a payment after the fact. The customer says something about the transaction was wrong: they did not authorise it, they did not receive what they paid for, the item was not as described, or they were charged twice. How that complaint is resolved depends entirely on the payment rail the money moved over.
On card networks, a dispute the customer raises with their issuing bank can escalate into a chargeback — a forced reversal that debits the merchant, usually with a per-dispute fee, and is decided through the card network's rules rather than by the merchant. The merchant can submit evidence to contest it, but the bank has the power to move the funds back. That ability to reverse a settled card payment, sometimes weeks after fulfilment, is what makes disputes a structural cost of accepting cards.
Disputes on crypto rails
A confirmed on-chain payment is final. Once a transaction is included in a block and reaches the network's settlement guarantee, no bank or third party can reverse it — there is no issuer to claw the funds back and no dispute channel that can move coins out of the recipient's address against the merchant's wishes. The closest on-chain event to an involuntary reversal is a chain reorganization, which can briefly undo a very recent transaction before it is final; that is a temporary settlement state, not a customer-initiated dispute, and it is removed by waiting for confirmations.
Because the network will not reverse a payment, a customer who is owed money back cannot force the issue through a bank. Resolving the dispute is a deliberate, merchant-initiated action: the merchant decides the claim is valid and sends the money back as a separate outbound payment. That outbound payment is a refund. So on crypto rails a dispute does not have a built-in adjudication mechanism the way cards do — it is a customer-service conversation that ends, when the merchant agrees, in a refund rather than a chargeback.
What this means on halfin
halfin settles crypto payments on-chain, so there is no card-style dispute-to-chargeback path to defend against. A deposit is credited reorg-aware: an invoice reflects that a payment is confirming and is only marked paid once the transaction has reached the per-chain confirmation threshold that stands in for finality on that network. Crediting only sticks once the deposit is deep enough to rely on, so a transaction undone by a reorganization before it is final does not leave a paid invoice behind. Once an invoice is paid, that settlement is final and cannot be reversed by the customer or their bank.
When a customer raises a legitimate complaint — wrong amount, an order that was cancelled, an overpayment to correct — the merchant resolves it by sending money back, not by losing a forced reversal. halfin handles that through refunds: outbound transfers the merchant initiates and approves, with the same controls as any other payout. For an online business this removes chargeback fraud and dispute fees from the accept-payment path, and shifts the work to a deliberate refund decision the merchant stays in control of.