Demo docs: examples are illustrative.
Referral API

Fraud checks

Catch self-referrals and fake accounts before you pay for them.

Every referral gets a risk score between 0 and 1. Referrals above your program's review threshold are held in the review queue instead of converting automatically.

Signals we check

  • The referrer and friend share an email domain, device, or IP address.
  • Many signups from the same network in a short time.
  • Disposable email providers.
  • The friend's payment method was already used by another account.
  • The friend cancels or refunds right after the reward unlocks.

Risk scores are guidance, not proof. Some legitimate referrals look risky, such as two coworkers on the same office network.

Reviewing a referral

Open Review queue in the dashboard, or use the review endpoint to approve or reject from your own tools.

await client.referrals.review('rfl_7Yp1aZc6', {
  decision: 'approve', 
  note: 'Coworkers, confirmed by support',
});

Rejections are final

A rejected referral can't be approved later. If you're unsure, leave it in the queue.

Tuning the threshold

How is this guide?