Who a dispute debits
A dispute debits whoever owns the charge, the same rule a refund follows: decided once, at charge creation, by which shape you used.
A charge you collect on your own platform and split with standalone transfers afterward is liable the same way a destination charge is: your platform owns the charge, so your platform is debited.
Opening a dispute debits a flat dispute fee immediately, regardless of how the dispute is eventually resolved. A won dispute does not refund it. Nothing else is pulled while the dispute stays under review. A lost dispute then debits the disputed amount on top; the fee does not charge again at resolution, since it already moved at open. See Refunds for the identical ownership rule applied there.
What a lost dispute does to the debited balance
What a negative balance blocks
A negative balance in any one currency freezes every transfer and every withdrawal for that party, across every currency it holds, not only the one that went negative. Both are rejected withORGANIZATION_IN_DEBT until the deficit clears.
This does not contradict the rule that a transfer or withdrawal never takes a balance below zero: that rule still holds for every movement. What changes is that no movement is allowed at all while any currency is in deficit.
The debit, and the resulting negative balance, land in the charge’s settlement currency: a lost dispute on an NGN charge drives the NGN balance negative, specifically, and it heals only from that party’s future NGN settlement credits. Draining money out in a different currency would remove the volume the debt is repaid from, so the freeze covers everything that party holds rather than only the currency in deficit. Concretely: a platform whose NGN balance goes negative from a lost dispute cannot transfer or withdraw USD either, even though the USD balance was never touched.
The freeze lifts on its own once the debited currency’s balance clears; no separate action reopens it. See Transfers and Payouts.
The dispute fee
The fee is debited when the dispute is first recorded, not at resolution: opening a dispute charges it, win or lose. It comes out of the available balance first, then the pending balance, exactly as described above. A won dispute does not refund it. Because the fee moves at open, it can take the debited party’s balance negative before the dispute is even decided, which is enough on its own to trigger the freeze described above. A lost dispute then debits the disputed amount the same way, on top of the fee already charged at open. The fee itself is not charged a second time.On a direct charge
The account is liable for the full disputed amount, but it only ever received gross minus your platform fee. Work out the gap before an account asks about it: on a 20% platform fee, a lost dispute leaves the account short by more than it was ever credited for that sale, the same structural gap a refund leaves. Because the debt is the account’s own, it heals from the account’s own future settlements. There is nothing for your platform to pursue.On a destination charge or separate transfers
Your platform is liable for the full amount, the same as it is for a refund on either shape. The account keeps the share it already received: a payout transfer that already moved to it is not reversed. If you want the account’s share back, there is no automatic route. Recovery is between you and the account, off Bachs: send it back yourself while the funds are still in the account’s balance, the same way you would recover a share after a refund. See Refunds for that flow.What we do not do
There is no reserve held against future disputes: liability is decided at charge creation, by shape, and a lost dispute debits the balance.How you learn about a dispute
Whoever owns the charge is notified by email when a dispute is raised, and again on a reminder cadence while it still needs a response. On a direct charge that email goes to the account, not your platform. A dispute also drives two webhook events on the charge owner:dispute.created when it opens, and dispute.updated whenever its status actually changes, not on every inbound update from the network. The payload carries the dispute’s id, charge id, amount and currency, status, reason, whether evidence is still editable, the response deadline, and the disputed charge’s own amount and currency for comparison.
On a direct charge, these events originate in the account, the same as any other event of the account’s. Your platform receives them only on an endpoint whose event_source is connect or all; the default for a new endpoint is account, so a platform that wants to see its accounts’ disputes has to opt in explicitly, or it will silently receive nothing. See Connect events.
Acting on a dispute through the API
Listing, reading, and responding to a dispute are all API-key authenticated: list disputes, read one, upload an evidence document, save an evidence draft, and submit it. SendX-Account-Id with the account’s id to reach that account’s own disputes, the same header that makes a charge or a transfer the account’s; without it, the calls reach only your platform’s disputes.
There is no endpoint that changes who a dispute is liable for, and none that debits a party other than the one the charge already belongs to. See List Disputes, Get Dispute, Upload Dispute Document, Update Dispute Evidence, and Submit Dispute.

