A rewards app pays its users small amounts, usually in points or coins, for doing things advertisers value: completing surveys, trying apps, signing up for services. The advertiser pays an offerwall network, the network pays you, and you pass part of that to the user. There's no gambling in it. Nobody stakes anything, and every reward is for a completed task.
This guide covers how the money flows, how payouts and fraud work in practice, and where these apps run into trouble. Examples come from PrizeX, our self-hosted platform. Its earn features (Offerwalls, Daily Bonus and Withdrawals) are included in the PrizeX edition.
No income promises here. What a rewards app earns depends on your traffic, your users' countries, the offers available to them and how much fraud you let through. Many rewards apps never cover their costs. Treat every number you see online, including any you build from this article, as a guess until your own data says otherwise.
How offerwall money flows
- A user opens your offerwall and picks an offer, such as a survey or an app trial.
- They complete it on the advertiser's side.
- The network confirms the completion and sends your site a postback: a server-to-server request saying which user completed what, and for how much.
- Your site credits the user's wallet.
- The network pays you on its own schedule. If it later decides the completion was invalid, it sends a reversal and you take the reward back.
Your margin is the gap between what the network pays you and what you credit the user. Most networks let you set your currency and payout rate in their dashboard. That's where you decide how generous you are.
Setting up offerwalls in PrizeX
Offers are managed under Engagement & Rewards › Offerwalls. Each offer is either a custom link or a connected network. PrizeX has built-in postback handling for seven networks: OfferToro, AdGate Media, Lootably, CPX Research, BitLabs, AyeT Studios and TimeWall. The wall itself loads inside your site, with the user's ID passed to the network.
What happens when a postback arrives:
- It's verified. Each network signs its postbacks with a shared secret, and PrizeX checks the signature the way that network specifies. A network offer can't be saved without its secret key, and an unsigned or wrongly signed postback is refused.
- It's credited once. Each network transaction ID can only pay once. A repeated postback is logged and acknowledged, but not paid again.
- It's capped. Each offer has a "most coins one completion can pay" limit.
- Reversals are handled. When a network reverses a completion, PrizeX takes the coins back, down to the user's current balance and never below zero. Any shortfall is recorded. Each completion can only be reversed once.
- Everything is logged. Every postback, whether paid, refused (and why), repeated or reversed, is kept and visible from the offer's panel.
- Banned users aren't paid.
Set each network to pay in your coin unit. PrizeX credits the amount the network sends one-to-one as coins, capped by the offer's limit. There's no separate conversion setting. If your coin is worth $0.01 and the network sends amounts in dollars, users would get a hundredth of what you intended. Configure the currency and rate in each network's dashboard so the amount it sends is already in your coins.
Retention: the daily bonus
Offerwalls bring users in. A daily bonus gives them a reason to come back. In PrizeX's Daily Bonus, users claim once per calendar day along a seven-day streak, and each day's reward is set by you. The default ladder is 5, 10, 20, 35, 50, 75 and 150 coins. From day 8 the streak keeps paying the day-7 amount, and missing a day resets it to day 1.
Every coin you hand out as a bonus is a cost with no advertiser behind it. Keep the ladder small compared with what offers pay, and watch how many people only ever claim the bonus.
A note on "watch an ad, earn coins"
Many rewards apps pay users to watch ads. Be careful here. Most ad networks forbid paying users to view their regular ad units. Google AdSense's programme policies, for example, prohibit "offering compensation to users for viewing ads", except for inventory the network specifically designates as rewarded. Breaking that rule can cost you your ad account.
PrizeX has a Watch & Earn feature that pays coins after a countdown. It's checked on the server (a one-time token, a minimum watch time, daily and per-IP limits), but it can't confirm that an ad actually loaded. It has two modes: countdown only, and an option to show Google AdSense ads during the countdown.
Paying users for viewing regular AdSense ads breaks Google's AdSense policies. If you switch on the AdSense option, you as the site owner are responsible for complying with Google's policies, and an account that breaks them can be suspended. We recommend the countdown-only mode, or earning through offerwalls, which pay for completed offers rather than ad views. If you want rewarded video, use only an ad format your network explicitly allows for rewards, and read its policy first.
Cash-out: withdrawals
Users will want to cash out their coins. PrizeX's Withdrawals handles the request side; you make the actual payment yourself:
- Methods. You define each payout method, such as bank transfer, UPI or PayPal, under Withdrawals › Methods. Each has a minimum and maximum in coins, a conversion rate, a payout currency, a fixed or percentage fee, and the details the user must provide.
- Requests. When a user requests a withdrawal, the coins leave their wallet immediately and the request waits as pending.
- Review. Under Withdrawals › Requests you approve, mark as paid once you've sent the money, or reject with a reason. Rejecting refunds the coins. Nothing pays out automatically.
Set a minimum that makes each payment worth its transaction cost. Review new accounts' first withdrawals carefully: that's where fraud shows up.
Fraud: the part that decides whether you make money
Rewards apps attract people who try to farm rewards with VPNs, emulators and stacks of accounts. If fraud gets through, networks reverse completions and may drop you. In a rewards app, PrizeX's fraud checks run on daily bonus claims, Watch & Earn, games and withdrawal requests, as well as sign-up. They don't run on offerwall postbacks, because those come from the network's server rather than the user, which is why the cash-out check matters most. Settings live under Security › Fraud Prevention:
- VPN and proxy detection. The user's IP is checked against an IP lookup service, and results are cached for 24 hours. You can also choose to treat data-centre and hosting IPs as VPN. With blocking on, the action is refused, and you can auto-ban after a set number of VPN attempts.
- Devices and multiple accounts. Each device is recognised by a long-lived browser cookie plus network and browser details, so clearing cookies gets a new ID. You can limit a device to one account, and auto-ban when a device reaches a set number of accounts.
- Country changes. With the VPN check on, you can ban accounts once their country changes reach a set number.
- Sign-up farming. Once too many accounts sign up from the same IP or subnet in 24 hours, or from a device already linked to another account, new accounts stop earning sign-up and referral bonuses. The accounts are still created, because a shared connection such as a mobile network can legitimately produce many sign-ups.
- Risk score. Each account gets a 0–100 score from its recent fraud events, banded Low to Critical, so you can see who to review first.
Referrals deserve a mention too. PrizeX pays referral bonuses on sign-up and when a referred user buys coins, not on their offer earnings. Referrers can also have a daily cap. Both limit how far a farmed referral tree can pay out.
App stores and policies
Plenty of rewards apps launch as a website first, which is how PrizeX runs out of the box. If you later wrap it as a mobile app, read the store rules before you build around them. Apple's App Store Review Guideline 3.2.2(x) says apps "must not force users to rate the app, review the app, download other apps, or other store-related actions" to access functionality. It allows apps to "incentivize users to take specific actions within apps". Offerwalls often include app-install offers, so check carefully how the stores treat them. Google Play has its own policies on rewarded content too. Nothing here guarantees approval: each store decides for itself, and rules change.
Beyond app stores, check the offerwall networks' own terms (most forbid self-completion and incentivised fraud), and the consumer and tax rules where your users are.
Common questions
How do rewards apps make money?
Mainly from offerwall networks, which pay the app when its users complete advertisers' offers. The app passes part of that to users as coins and keeps the difference. Reversals, fraud and payout costs come out of that margin.
Is a rewards app gambling?
Not if every reward is earned by completing a task, with no stake and no chance element deciding the payout. Adding paid games of chance to the same app changes that, so keep the two apart and check with a lawyer if you mix them.
Can I pay users to watch ads?
Only with ad formats your network explicitly allows for rewards. Paying users for viewing regular AdSense ads breaks Google's AdSense policies, and the site owner is responsible for following them. PrizeX's Watch & Earn has a countdown-only mode, and offerwalls pay for completed offers rather than ad views.
How do offerwall postbacks work?
When a user completes an offer, the network calls a URL on your server with the user, the amount and a transaction ID, signed with a shared secret. Your site verifies the signature, credits the user once per transaction, and handles reversals the same way. PrizeX shows the postback URL to paste into each network's dashboard.