A score you can trust.
Gradient-boosted trees on causal card history and shared-device signals, calibrated so 0.10 really means about 10%.
LightGBM · isotonicCounterfactual payment risk engine
Risk engines stop at a score. yes, if finds the smallest change that turns a risky payment into an approval (pay part now, pay a little later, or use a different card), then learns which friction is cheapest to apply. It plugs straight into PayPal checkout.
Four layers on every payment. The detector says how risky it is; the rest decides what to do about it.
Gradient-boosted trees on causal card history and shared-device signals, calibrated so 0.10 really means about 10%.
LightGBM · isotonicEvery decision lists the signals that pushed it up or down: a new device, an odd hour, a device shared by many cards.
path contributionsSearches 83 changes a buyer can actually make (part-payment, delay, debit or credit) and returns the cheapest ones that cross the approval line.
counterfactual searchA policy that learns how well step-up, hold and block really work from their outcomes, and shifts when attackers start beating one-time passcodes.
Thompson samplingEvery number on this page is produced by one reproducible script and served from the same model the API runs.
Cumulative cost (fraud loss + friction + lost customers) over the test stream. Halfway through, step-up stops catching most fraud.
Share of flagged fraud a black-box attacker gets approved with 50 queries; line is clean PR-AUC.
Orders are created with intent AUTHORIZE, so the engine decides what happens to the money after the buyer approves.
| Decision | What happens | PayPal Orders & Payments API |
|---|---|---|
| ALLOW | Approved straight away | Authorize, then capture in full |
| STEP UP | Buyer confirms a one-time code | Authorize; capture once verified |
| HOLD | An analyst reviews it | Authorization kept; capture or void after review |
| BLOCK | Declined, unless the buyer takes a "yes, if" | No order is created |
| yes, if pay part now | Part of the amount now, the rest after verification | Partial capture with final_capture: false |
| yes, if later | The payment goes through a few hours later | Authorization kept, captured on schedule |
The engine and console are open to everyone today. Premium is in early access.
Planned launch pricing in USD. No card needed to join the early-access list.
Early access