Free audit · no account required
Quantify your silent Stripe Connect fee leaks in under 90 seconds
Paste your charge.refunded events or charge objects. The same four detectors that run in production return your recoverable baseline, broken down by cause. No signup, no credentials, nothing stored.
We deliberately do not accept Stripe API keys here. An unauthenticated form collecting credentials has no audit trail and no way to revoke — so this works on event data instead. Key-based monitoring lives behind signup, where the key is encrypted and revocable.
Understand what the scan is looking for
Four ways Stripe Connect quietly costs platforms money. Each guide explains the mechanism and shows the arithmetic.
Marketplace CTO
Marketplace refund leaks: when reverse_transfer is missing
Refund a destination charge without reverse_transfer and your platform pays the buyer while the seller keeps the money. The exact math, and how to audit it.
Fintech CFO / Finance Lead
Dispute clawback: recovering a lost chargeback from a seller
Lose a Connect dispute and Stripe debits your platform while the seller keeps the funds. The liability model, the recovery playbook, and why timing matters.
Bootstrapped Founder
Application fee leaks: keeping a cut of a refunded sale
refund_application_fee defaults to false, so platforms keep their cut on refunded sales. The proportional math, and when returning the fee is the right call.
Cross-border platforms
FX slippage: the leak you cannot claw back
Settle in USD, pay out in EUR, and every conversion carries a spread. How to measure it, and why FX slippage is a monitoring problem, not a recovery one.
The seven-step manual check
Works on any Connect platform. No signup, no key, no tooling beyond the Stripe API you already use.
- 1
Export all charge.refunded events for the last 90 days.
- 2
For each charge that has a transfer, retrieve the transfer and sum reversals.
- 3
Calculate expected reversal = (amount_refunded / amount) × transfer.amount. Flag if actual < expected.
- 4
For every application_fee on those charges, confirm amount_refunded is proportional.
- 5
Pull all charge.dispute.closed with status=lost; verify transfer reversal + fee refund occurred.
- 6
Sum missing amounts. That number is your recoverable baseline.
- 7
Connect FeeGuard if you would rather this ran continuously than once.
Would rather it ran continuously than once?
Connect FeeGuard — detection is free