Back to blog

· RefRef team

Referral Program for AI Apps: Credits, Costs and Abuse

Design a referral program for AI apps: price rewards on inference cost, qualify on payment, cap credits, and deliver them in Stripe, Polar or RevenueCat.

You want referrals. A "give a friend a free month" offer would take an afternoon to ship. Then you do the arithmetic: in an AI app, a free month is a month of inference you pay for on every prompt, open to anyone with a spare email address.

A referral program for AI apps works when you reward in usage rather than cash, pay a referral only after a real payment, cap what one referrer can earn, and deliver the reward inside the billing provider you already use. RefRef publishes this blog and makes referral software, so it's the worked example here; each step works with any tool.

You'll get one hypothetical app's reward priced four ways, three real programs and the rule each one teaches, and a map of what Stripe, Polar, Dodo Payments, Paddle and RevenueCat can deliver natively.

Why referrals cost more in an AI app

In most SaaS apps, a referred user who never pays costs you close to nothing: a database row and a welcome email. In an AI app, that same user starts costing money with their first prompt. WorkOS puts it bluntly: creating a fake account is cheap, and GPU-backed inference is expensive.

That changes what a referral reward is. Stripe's guide to free-trial abuse lists "AI-driven platforms where inference costs money per query" among the places where prevention pays off most. It also names referral and credit farming directly, and warns that a referral bonus can end up paying an abuser to refer themselves.

WorkOS describes abusive accounts that sign up once, drain their tokens and never come back. Stripe's illustration of the warning sign is 50 sign-ups in 24 hours from one device cluster. If your referral leaderboard has a sudden new champion, check their devices before you send the congratulations email.

A fake referral and a real reward both cost you inference, so design them together.

Four reward types, priced on what they cost you

You're choosing which of four things to hand a referrer. They look equal on the banner and aren't on your bill.

Cash costs its full face value and leaves the business. It can be spent anywhere, which is why it's the reward farmers want most.

A discount costs its face value too, as revenue you don't collect. Nothing leaves your account, but the hole in the invoice is the same size.

A plan upgrade puts someone on a higher tier for a while. It costs only the extra inference they use, because they're still paying for their own plan.

Usage credits give a bounded amount of your product: generations, minutes, tokens. They cost your inference per unit, not the price you sell units at, and only when they're spent. They can expire, and they're useless outside your app, which makes them dull to resell.

RefRef's AI SaaS page draws the same line between bounded usage, such as "100 standard generations", and a fixed money credit on the account. It also shows why your unit cost matters: the same $8 budget buys 400 generations at $0.02 each, or 100 at $0.08. Know your cost per unit before you write the offer.

A credit costs you its inference; cash costs its face value and walks out the door. Usage credits are the default for AI apps, and cash belongs in the affiliate program, which we'll come to.

Worked example: one hypothetical app

Every number in this example is ours, made up to show the method. It isn't a benchmark, a customer result or any model's real price.

Picture an AI image app with one paid plan. Each generation costs you $0.02 in inference, the low end of RefRef's own illustration. The referrer's reward is worth one month of the plan, and you can pay it four ways:

Hypothetical app (our assumptions)
Plan price:            $20 a month
Inference cost:        $0.02 per generation
Reward per referral:   $20 of value
Invitee bonus:         50 generations on sign-up, paid or not
                       (50 x $0.02 = $1 per sign-up)

Reward          What the referrer gets
Cash            $20, paid out
Discount        $20 off the next invoice
Upgrade month   a free month on the next tier ($20 more),
                with 600 extra generations
Usage credits   500 generations, sold at $0.04 each

Bar chart, hypothetical: a $20 referral reward costs you $10 to $20 depending on how you pay it. Cash $20, discount $20, upgrade month $12, usage credits $10 at full redemption, with a note that credits cost $6 if only 60% are redeemed

Even if every credit gets spent, usage credits cost you half of what cash does. Cash and the discount cost the full face value, because both are money: one leaves and the other never arrives. The upgrade month lands in between, because it costs only the extra inference the referrer burns. Credits come out cheapest because you sell them above what they cost to serve, so the same face value buys fewer generations than an upgrade month does.

Budget credits at full redemption, not at the rate you hope for. The people who refer are often your heaviest users, and heavy users don't leave credits on the table. The chart notes what credits cost if only some get spent; count that as upside, never as the plan. A credit you reserve at full face value is a budget you can't overspend.

RefRef's post on choosing referral rewards makes the same call with its own example: 100 customers earning $20 of credit means $2,000 of exposure, even if a 60% redemption rate puts the expected cost at $1,200.

Then check whether the referrals are actually new. Some referred customers would have signed up anyway, and you pay their reward too. The break-even question is what share of referred customers must be truly new for the program to pay for itself:

Break-even share = reward cost per referred customer
                   / contribution from one truly new customer

Contribution (our assumption): $20 plan - $8 inference
(400 generations a month at $0.02) = $12 a month,
over a three-month horizon = $36

Cash reward:                $20 / $36 = about 56%
Usage credits (all used):   $10 / $36 = about 28%

With cash, more than half of your referred customers have to be people who wouldn't have come otherwise. With credits budgeted at full redemption, a little over a quarter will do. That's the case for credits in one division. Run your own numbers through the referral reward calculator before you pick a reward.

Keep an eye on the invitee's bonus too. It's the smallest line in the example and the one farmers aim at, because it pays out on every sign-up, real or not, before anyone has paid you. The section on qualifying covers how to keep it small.

How real AI apps run referrals

AI companies document their referral programs in help centers, and the good ones read like a list of abuse cases with a reward attached. Each of the three below shows one design choice. Lovable's and Fireflies' pages are quoted as they stood on November 10, 2026.

Lovable pays in credits and qualifies on payment. Per Lovable's docs, an invited person gets 10 bonus credits on sign-up, and each rule for the referrer maps to a way people game referrals:

  • Pay on payment. The referrer gets 100 bonus credits when the invitee makes a first monthly payment, then 25 on each later payment. The invitee's plan must include at least 100 credits a month, and a free first month earns nothing.
  • Cap per person and per day. Rewards stop at 400 credits per referred person, and one workspace link counts up to 100 joined people. Sign-ups are capped at 5 a day on Free and 15 on Pro.
  • Block alias emails. Plus-sign and temporary emails earn nothing.
  • Claw back on refund. A full refund removes the credits for good.
  • Expire the credits. Bonus credits expire 12 months after they're granted.

Lovable's rules are the template, and you can see the program laid out here. The plus-sign rule alone catches the you+1@ address every growth team meets in its first week.

Codex paid in capacity, not cash. Per GrowSurf's summary of OpenAI's help page, the promo ran from June 11 to June 24, 2026, and Plus and Pro users could invite up to three friends. Both people got a rate-limit reset, good for 30 days, once the friend sent a first Codex message, with up to four resets in all. The resets couldn't be transferred, sold or cashed out as API credit, and self-referrals, alias emails and device-linked fake accounts were banned. Codex qualified on activation rather than payment, which fits a reward that can't be cashed out and runs out on its own.

Fireflies pays a little and limits who counts. Fireflies gives the referrer a $5 credit per sign-up and the new user 10% off, and only business email domains qualify, per an undated help page. The domain rule keeps out free-mail sign-ups with a single line of policy.

Programs also end. Cursor's referral discount "officially closed as of July 23, 2026," per a Cursor forum reply, and credits already earned stay usable. Decide your own ending at launch: an end date, a spend ceiling, and what happens to credits people have already earned.

Qualify on a paid event, then cap it

The rules that protect an AI app's referral program are the same in any tool. Here they are in order, each with the RefRef setting that does it; the docs on qualifying events (including how to attach referrals only on payment) and rewards have the details.

  1. Reward on purchase, not signup. Set the reward rule's event to purchase. The referral itself can attach at sign-up, since signup and purchase are RefRef's default qualifying events, but nothing is earned until the purchase. A rule can also wait for proof of paid history.
  2. Hold the reward through your refund window. For rewards RefRef delivers through your billing provider, the account reward hold runs from 0 to 365 days and defaults to 0, so change it. For credits you grant from a webhook, wait out the window in your own backend.
  3. Cap each referrer. Each reward rule takes either no limit or a per-beneficiary cap. A refunded reward still counts toward that cap; only a void frees the place.
  4. Reserve credits at face value. Budget the all-used line from the worked example. RefRef caps per referrer, not across the program, so watch total exposure in the Rewards view.
  5. Take rewards back on a full refund. A full refund before delivery cancels the reward. After delivery, RefRef takes back a credit, discount or plan upgrade it delivered through your billing provider; a partial refund leaves it alone. A reward you granted yourself stays flagged until you record the removal. If the customer already spent the credit, the take-back stops for you to decide.

Step two is the one you'll thank yourself for. The refund that lands the day after the reward did is the one every operator remembers.

RefRef's own rules stop the simplest farm: a referrer's own link or code never credits them, and a customer who already has a referral can't be credited to a second partner. It doesn't match on email, IP or card. The rest of the abuse work lives in your app, and most of it is about the invitee, not the referrer:

  • Keep the sign-up bonus small, or hold it until payment. Lovable's invitee gets a small bonus on sign-up, while the referrer's reward waits for a payment.
  • Restrict inference on unpaid accounts until they show real engagement, as Stripe suggests.
  • Filter emails and devices. Lovable refuses plus-sign and temporary emails, and Codex banned alias emails and device-linked fake accounts.
  • Limit sign-ups per referrer per day, the way Lovable caps them by plan.

Deliver the reward inside your billing provider

Deliver the reward where the customer already pays you. It then shows up on their invoice or in their plan, your support team finds it where they find everything else, and you don't build a second balance beside your billing. Each provider has its own objects for this, and they don't match.

Stripe alone has two different things called credit, and mixing them up is a rite of passage. Customer balance comes off the customer's next invoice in the same currency and never expires; it isn't usage credit. Billing credits are usage credit: they apply only to metered prices, and they can expire. Paddle has a credit balance too, but only Paddle adds to it, for instance when a prorated downgrade leaves the customer with credit; you can't grant into it yourself.

Here's what each provider offers natively, and what RefRef delivers there, per each provider's docs as of November 10, 2026:

ProviderNative objects for a referral rewardWhat RefRef delivers there
StripeCoupons and promotion codes; customer balance; billing credits, for metered prices onlyCustomer balance credit, a single-redemption coupon with a customer-only promotion code, a plan upgrade for 1 to 12 periods
PolarDiscounts, code optional; a Credits benefit and manual meter credits; Polar doesn't block usage over balanceA percentage discount on the active subscription, a plan upgrade for 1 to 12 periods; no account credit
Dodo PaymentsDiscount codes with first-time eligibility; credit entitlements; doesn't block usage at zeroWallet credit, a single-use discount code, a plan upgrade for 1 to 12 periods
PaddlePercentage, flat or per-seat discounts with recurring limits; a credit balance only Paddle can add to, so no grantable creditA discount on the subscription, a plan upgrade; no account credit
RevenueCatPromotional entitlements with an expiry; offer codes, with no redemption callback from AppleAn entitlement grant for 1 to 12 periods; no credits or discounts

RefRef connects all five, and several can share one Project if you sell on web and mobile. Credits, discounts and plan upgrades delivered through your billing provider cost nothing extra on any plan. Stripe customer balance and Dodo wallet credit are money credits, so they suit a flat subscription: the referrer sees a smaller next invoice. For a mobile AI app on RevenueCat, an entitlement grant is the natural reward, since that's the primitive RevenueCat itself offers, and RefRef attributes mobile referrals natively. One catch: the customer needs exactly one active, renewing store subscription. A free trial doesn't count, and until there is one the reward waits.

Usage credits are the gap. Stripe billing credits, Polar meter credits and Dodo credit entitlements are their native homes, and RefRef doesn't deliver into any of the three; it doesn't meter usage either. Use the operator delivery instead, which works the same on all five providers. It means RefRef records the reward and sends your backend a signed webhook, without touching the customer's usage balance. Your side of the work: verify the signature, grant the units once per Reward ID, and expire or deduct them in your app.

That's less of a detour than it sounds. Polar and Dodo both leave enforcement to you: neither blocks usage when a balance hits zero, so your app is already the part that says no. RefRef's AI SaaS page says the same of its own side, that your app enforces eligible models, consumption limits and expiry. And when RefRef does deliver through a provider, it retries failed calls up to 12 times, where "delivered" means the provider accepted it, not that the customer spent it.

The chart lays the same five providers out by reward type, so you can read across from the reward you have in mind.

Compare table: Stripe, Polar, Dodo Payments, Paddle and RevenueCat against plan upgrade, discount and usage credits. Usage credits read "Your app, via webhook" for all five providers, with footnotes that Paddle's credit balance can't be granted into and RevenueCat's native reward is an entitlement

If your plan is metered, deliver usage. If it's a flat subscription, deliver a discount or an upgrade month.

When to add an affiliate program for creators

A user referral program works when your best advocates already use the product. An affiliate program is for people outside it: YouTubers, newsletter writers and course creators whose audiences haven't tried you yet. The difference between referral and affiliate programs is mostly about who brings the customer and how you pay them.

Affiliates expect cash, so this is where cash belongs. Pay a commission on paid revenue, hold it past the refund window, and collect tax forms before the first payout. Which forms apply is a question for your accountant; this post isn't tax advice. Don't pay creators in credits they won't use. Someone reviewing a new AI tool every week doesn't need more generations; they need a payout they can reconcile.

Lovable runs both kinds side by side: the user referral program above, plus a Partner Program announced on September 9, 2026 and a separate affiliates page.

RefRef runs the affiliate kind on the same integration. You get a public join page with application questions and a Turnstile bot check, partner tiers, and payouts through PayPal in 98 countries at 2% of payout volume, or through Stripe Connect. W-9 and W-8BEN forms are kept on record, and cash payouts start on Starter.

Which tool to run it on

Disclosure again, since this is the recommendation: RefRef publishes this blog, and we think it's the right pick for an AI app. It's the only open-source platform that runs referral, affiliate and loyalty programs together, and it covers every non-cash reward kind. Credits, discounts and plan upgrades go in through your billing provider, as the table above shows provider by provider, and usage credits go through your app by webhook. The AI SaaS page walks through the same setup for usage-priced apps.

The usual alternatives are built for different jobs. As of November 10, 2026, Rewardful is built around affiliate commissions and starts at $49 a month or $490 billed yearly, while RefRef's Starter is $49 a month or $29 a month billed yearly. The two plans meter different things: Rewardful's Starter covers up to $7,500 a month of affiliate revenue, and RefRef's covers 5,000 monthly active participants. GrowSurf runs referral programs that can reward customers in account credits or coupons, plus affiliate programs; referral plans start at $179 a month, and affiliate costs 3% of referral revenue. RefRef has a free plan for up to 1,000 monthly active participants, with no time limit, and like Rewardful it takes no share of referred revenue. Neither alternative is open source. The comparisons with Rewardful and GrowSurf go feature by feature.

Where RefRef falls short, plainly:

  • No native usage-credit object. The operator webhook covers it, as above.
  • No program-wide cap. Cap each referrer, as in step 4.
  • No email, IP or card matching. Rewardful lists self-referral fraud detection on all its plans; with RefRef, the abuse checks above run in your app.
  • A younger product with a smaller community. The code is open, the free plan lets you try it in a Sandbox Project, and nothing locks you in if it doesn't fit.

Pick the tool that delivers rewards where your billing already lives. Everything else is a spreadsheet you'll maintain at midnight.

FAQ

Should an AI app give cash for referrals?

Not to users. Cash costs its full face value, spends anywhere and is exactly what credit farmers are after; Stripe warns that referral bonuses can end up paying abusers to refer themselves. Give users credits or an upgrade month, and save cash for affiliates who bring in audiences you can't reach.

What should qualify a referral in an AI app?

A first payment, not a sign-up or a first prompt. Lovable pays the referrer only on the invitee's first monthly payment, and a free first month earns nothing. Codex qualified on a first message, which fits because its reward was a rate-limit reset nobody could cash out. If your reward costs you inference, wait for revenue.

Can I give referral credits in Stripe?

Yes, but pick the right object. Customer balance credit comes off the next invoice and suits a flat subscription; billing credits apply only to metered prices and suit usage-based plans. RefRef delivers customer balance credit directly; for billing credits, create the grant from its webhook in your backend.

Send one test referral

The quickest way to see whether this fits your app is to run one referral end to end, and the free plan is enough to do it.

  1. Sign up for RefRef Cloud and open your Project's Sandbox.
  2. Create one referral program with a credit reward whose rule earns on purchase.
  3. Send a test referral through it, then check that the reward was earned at the purchase, not at sign-up.

If you'd rather read the code first, it's open source under AGPLv3 on GitHub.