
Rewardo
Flutter App for Rewarded Ads With Admin Panel

AI disclosure: AI tools were used to assist with parts of the code, documentation and graphics of this item. The author directed and reviewed the work; exactly what was tested is listed under Declarations below.
What it does
- Two balances that never mix: points from ads, games and streaks have no cash value and never become cash; the cash wallet is credited only by cash grants and contest prizes the operator approves in the console, audited (enforced by tests)
- Cash wallet (off by default): available and locked balances in integer minor units, cash grants from the console, every change a server-written ledger entry
- Contest cash prizes (off by default): operator-funded weekly or monthly prize table by rank; a scheduled job snapshots the ranking and creates pending awards, credited only after console approval (bulk, reason, audit, optional two-person rule); skill-only ranking (mini-game and quiz points before multipliers, never VIP-only games, never rewarded ads; no setting changes it); official rules shown in the app
- Payouts by PayPal (optional PayPal Payouts API with verified webhook and polling) and manual crypto, bank transfer and gift-card payouts managed from the console
- Payout rules: per-method minimum, fee and countries, daily and monthly limits, account age, verified sign-in, 3 requests per hour, idempotent requests, IBAN checksum and crypto address patterns
- Fraud signals on every payout request (shared device, emulator, root, VPN, velocity, young account, first payout, shared destination, flagged user); a flagged request always waits for review
- Approval step before any payment: managers approve, reject and mark manual payouts paid (only after approval); only the owner sends through the PayPal Payouts API, grants cash and changes money settings. An optional owner-only two-person rule (off by default) stops the approver from also sending or marking the same request paid, and auto-approve (off by default) lets small, unflagged requests skip human approval; every console action is an audited walletOps document the backend applies once
- Console pages Payouts, Wallets and Business: measured revenue, payouts by method, margin and what is owed to users now, plus an example calculator that is not a forecast
You need
- Flutter >= 3.41 (stable), Dart 3.11+
- Android: minSdk 24, compileSdk 36, targetSdk 36
- iOS 15.0+, Xcode with CocoaPods on a Mac
- Node.js 22 and npm
- Firebase CLI (firebase-tools) and Java 21+ for the emulators