There is a specific kind of silence that falls over a marketplace founder the first time they open their Stripe dashboard and see a dispute for a product they have never touched, sold by a seller they have never met, to a buyer whose name means nothing to them — and the money has already left their own balance. Not the seller's balance. Theirs. The $15 dispute fee, theirs. The chargeback ratio it feeds, theirs. The processing relationship it eventually threatens, theirs.
You built the rails. Someone else drove the truck into a wall. And the card network sent you the bill.
This is not a bug in Stripe Connect. It is the arrangement you agreed to, usually in a single line of code you wrote in month two and never revisited. Most platform founders discover the terms of that agreement the way people discover the fine print on an insurance policy: at the exact moment it stops being theoretical.
The mechanism has a name, and economists have studied it for sixty years
What you are experiencing is textbook moral hazard — the structural problem, formalized by Kenneth Arrow in his 1963 work on medical insurance and extended by Mark Pauly shortly after, that arises whenever the party making a decision does not bear the full cost of that decision. Arrow's insight was not that insured people are dishonest. It was that behavior changes, quietly and rationally, when consequences are absorbed elsewhere. Nobody has to cheat. The incentives simply drift.
On a marketplace, the seller decides how carefully to describe the product, how fast to ship, how clearly to disclose the subscription renewal, whether to answer the support email at 11pm on a Friday. The platform absorbs the chargeback. Every one of those decisions has a cost, and the person best positioned to reduce that cost is the person who never sees it on their books.
The related idea — the principal-agent problem — sharpens it further. Your sellers are your agents. They act on your behalf, under your brand, on your processing account, and their interests are only partially aligned with yours. The gap between "partially aligned" and "fully aligned" is precisely the size of your dispute losses.
Which means the fix is not a better rebuttal letter. The fix is structural. But you cannot fix a structure you have not read.
Read your charge type. It is the whole answer.
Stripe Connect gives you three ways to move money, and the choice determines who Stripe debits when a dispute lands.
Direct charges create the charge on the connected account itself. The connected account is the merchant of record. The customer's statement shows the seller's descriptor. When a dispute arrives, the disputed amount and the dispute fee are pulled from the connected account's balance, and the dispute appears in that account's dashboard.
Destination charges create the charge on your platform account, then transfer funds onward to the seller. You are the merchant of record. When the dispute arrives, the amount and the fee come out of your balance. The seller, unless you do something about it, keeps the money.
Separate charges and transfers work the same way for liability purposes: the charge lives on your account, the transfer is a separate movement, and the dispute hits you.
Most marketplaces choose destination charges or separate charges and transfers, because those give you control over branding, refunds, and the customer relationship. That control is real. So is its price. If you did not consciously choose direct charges, assume you are the one holding the bag.
There is a subtlety worth knowing. On destination charges you can set on_behalf_of to the connected account, which makes that account the settlement merchant — affecting the statement descriptor the customer sees and which account's card-network relationship the charge settles under. It changes what the buyer reads on their statement. It does not, on its own, move the dispute liability off your balance. Founders conflate these constantly.
And on direct charges, where the seller is liable: if their balance is empty when the dispute hits, the account goes negative. Depending on how the account is configured and which party Stripe has designated as responsible for negative balances, that shortfall can roll back up to you anyway. Liability tends to flow downhill toward whoever still has money.
The reversal window closes faster than the dispute opens
Here is the operational trap. On destination or separate charges, Stripe lets you claw funds back from the connected account with a transfer reversal. This is the correct move. It is also, frequently, impossible.
A chargeback can arrive months after the transaction — the cardholder's dispute window with their issuer stretches far beyond your payout schedule. By the time it lands, your seller has been paid out to their bank account, has spent it, and may have deactivated their account entirely. A transfer reversal requires funds in the connected account balance. You cannot reverse a transfer against an empty account any more than you can un-pour a glass of water.
So the platform's dispute exposure is not really governed by its dispute rate. It is governed by the gap between when you pay sellers and when disputes can still arrive. Narrow that gap and moral hazard shrinks. Leave it wide and you are running an unfunded insurance company for strangers.
Your chargeback ratio belongs to you, not to your worst seller
There is a second cost, less visible than the money, that founders discover far too late.
When charges settle under your platform account, the disputes aggregate under your platform account. Card networks monitor dispute ratios at the merchant level, and Visa and Mastercard both run programs that escalate fees and remediation requirements when a merchant crosses their thresholds. Stripe has its own risk posture layered on top: reserves, payout delays, and in serious cases, offboarding.
One seller running a deceptive free-trial funnel can drag an entire marketplace's ratio toward the danger zone while contributing a rounding error of revenue. The distribution is brutally uneven. Your dispute problem is almost never your average seller. It is the tail — and the tail is invisible unless you measure disputes per seller rather than disputes per platform.
This is the part that stings. The honest sellers, the ones shipping on time and writing thoughtful refund policies, are subsidizing the tail. So are you. And nobody involved has done anything obviously wrong.
Your next moves
- Open the Stripe API logs and confirm your charge type today. Look at a recent successful payment: does it have a
transfer_dataobject (destination charge), atransfercreated separately, or was it created with the connected account'sStripe-Accountheader (direct charge)? Write the answer down. Most teams guess wrong. - Export your last twelve months of disputes and group them by connected account ID. Calculate dispute count and dispute value per seller, divided by that seller's processed volume. You are looking for the tail. It usually takes twenty minutes and produces one or two names.
- Set a payout delay on new connected accounts using
payout_schedule.delay_days, and hold it longer for sellers in categories with slow-arriving disputes — digital goods, subscriptions, anything shipped. This is the single highest-leverage change available to you, because it converts an unrecoverable loss into a recoverable one. - Add transfer reversal to your dispute workflow as a standing step, not an afterthought. The moment a dispute notification fires, attempt the reversal against the connected account before you begin drafting evidence. Funds available today are funds gone next week.
- Write seller liability into your platform agreement explicitly — that chargebacks on their transactions are recoverable from their balance and from future payouts. Then actually enforce it once. The enforcement is what changes behavior; the clause alone changes nothing.
When the bill is yours, the fight should be too
Everything above reduces your exposure. None of it eliminates the disputes that will still arrive — and when you are the merchant of record, you are the party Stripe expects to respond, within seven days, with evidence you will have to collect from a seller who has no financial reason to help you gather it. That asymmetry is where platforms lose disputes they could have won: not because the evidence didn't exist, but because assembling it required chasing someone else's records while the clock ran.
Argeback watches your Stripe account, pulls each dispute the moment it opens, drafts an evidence-backed response against the specific reason code, and files it before the deadline — from your phone, in the ten minutes between other fires. You still own the structural work. But you stop losing by default. See how it works at argeback.lumenlabs.works.