Short answer
PeerPlay's referral program pays $2 once the referred developer registers their own app, gets five separate testers with at least three active days each, and puts in three testing days themselves. Payouts are reviewed by hand at first, because an earlier bug had already left wallet balances writable straight from a developer's own device.
My referral program paid out exactly zero dollars for months, and it wasn't because nobody clicked the invite button. It's because the button pointed at the wrong web address, with no parameter attached to say who had actually done the inviting. Every tap on it, going back to whenever I first shipped the feature, opened a page that had no idea a referral had happened at all.
The invite button that never worked
PeerPlay already had a working way to invite people: a developer can send a link asking a specific person to test their specific app, and that flow correctly stamps the new account with who referred them. I built a second, more general "invite a developer friend" button for the profile screen, meant for someone who just wants to share PeerPlay itself rather than one particular app. That button linked to a different domain than the one my deep-link handler actually listens on, and it carried no referral parameter at all. Two invite flows, one working, one dead, and because I'd tested the first one and seen it work, I assumed the second behaved the same way. It didn't, and nothing in the app ever told me so.
Why I didn't fix the reward sooner
Fixing the link itself took about twenty minutes once I found it. Building an actual payout on top of it took a lot longer, mostly because for weeks the honest answer to "should I build this" was no. A referral program is worthless when a developer has almost nobody in their network who'd also want the app, and for most of that stretch my weekly signups were in the single digits. So I kept re-checking the numbers every week or two instead of committing to a build.
What actually pushed me to finish it wasn't a growth milestone. It was going back through the wallet code for something unrelated and noticing that a developer's balance field could be written directly from their own device, with nothing on the server double-checking it. That's a tolerable gap when nothing external triggers a payout. It stops being tolerable the moment a feature's entire job is triggering one, so the referral build ended up being as much about closing that gap as about the referral itself.
What has to happen before anyone gets paid
The reward is $2, and it doesn't even reach a review queue on its own. The developer who was referred has to register their own app first, get five separate other developers to test it with at least three real days of use each, and put in three days of testing on other people's apps themselves. Only after all three of those are true does a payout get created for the person who sent the invite, and even then it sits in manual review by hand for a referrer's first three payouts. Only once someone has three clean approvals in a row does it start auto-approving for them specifically, and a risk score built from things like a shared device ID or reused payout details can still pull it back into the queue regardless.
Attribution across an actual Play Store install runs through Android's Install Referrer API rather than just a deep link, because a deep link only survives if the app is already installed when someone opens it, which misses exactly the new users a referral program is supposed to bring in. And a referral code only claims successfully within 60 minutes of the account being created, so it can't be stapled onto an account that's been sitting around for a month.
The budget cap nobody sees
There's also a monthly cap on how much the whole program can pay out, and I decided early on that it would never be shown to anyone. If the cap gets tight in a given month, a payout just sits marked "in review" a little longer instead of the app telling someone "sorry, we ran out of money," which felt like the wrong thing for a small, one-person tool to say out loud.
None of this existed a month ago as a real system. It existed as a database field nobody wrote to, and a button nobody could click correctly. If you're building something similar on top of an app that already has a client-writable balance or a loosely verified action anywhere in it, I'd fix that first and build the incentive on top of it, not the other way around. Retrofitting a fraud gate onto a reward that already pays out is a much worse day than building the gate before the reward exists.
FAQ
Does inviting other developers count toward Google's 12-tester requirement?
No. Google's requirement is about how many people are actually opted into your closed test and using the app, not how they found out about it. A referral or invite program can help you find people willing to become testers, but the opt-in count and the 14 consecutive days still have to happen the normal way.
How do you stop developers from gaming a referral program with fake accounts?
I gate the reward behind real activity instead of an install: the referred developer has to register their own app and get several distinct testers using it for multiple days, and put in testing days themselves, before anything even reaches review. A risk score flags shared devices or reused payout details so those cases get a manual look instead of an automatic approval.
What is the Install Referrer API used for on Android?
It's a Google Play API that tells an app, right after install, which link or campaign the person came from. Unlike a plain deep link, it works even when the app wasn't already installed, which is exactly the case a referral program most needs to attribute correctly: someone installing for the first time because a friend sent them a link.
Should a referral reward be paid automatically or reviewed by hand?
It depends on how easily forged the trigger is. If the thing that unlocks the reward can be written or faked from the user's own device, I'd start with manual review and only automate it once a referrer has a track record of clean, verified approvals behind them.
Top comments (0)