● Start · Before you begin
Requirements
tools, versions, accounts.
What you need on your computer, which versions the code expects, and which services cost money.
01Tools and versions
| Tool | Version | Where the code says so |
|---|---|---|
| Flutter (stable) | 3.29 or newer. Built and tested with 3.41.4 | app/pubspec.yaml (flutter: ">=3.29.0") |
| Dart | ^3.7 (comes with Flutter) | app/pubspec.yaml (sdk: ^3.7.0) |
| Android | minSdk 24 (Android 7.0), compileSdk 36, targetSdk 36. Android Studio with the Android SDK | app/android/app/build.gradle.kts |
| iOS | iOS 15.0 or newer. A Mac with Xcode and CocoaPods | app/ios/Podfile (platform :ios, '15.0') |
| Node.js and npm | 22 | firebase/functions/package.json (engines), firebase/firebase.json (runtime nodejs22), admin/package.json (engines >=22) |
| Firebase CLI | Recent firebase-tools (npm i -g firebase-tools) | firebase/README.md |
| FlutterFire CLI | For flutterfire configure | app/lib/firebase_options.dart |
| Java | 21 or newer, only for the Firebase emulators | firebase/README.md |
| Docker | Optional, to run the console in a container | admin/Dockerfile |
Check what you have:
flutter --version
node --version
firebase --version
java -version
02Paid services
These cost money and are not part of the purchase
Check each provider's current pricing yourself. These docs do not quote prices.
| Service | Why you need it | |
|---|---|---|
| Firebase Blaze (pay-as-you-go) plan | Cloud Functions, Cloud Scheduler and the outbound calls to ad networks and stores only run on Blaze. Google bills usage above the free tier. Set a budget alert in Google Cloud Billing. | Required |
| Google Play developer account | One-time registration fee to publish on Google Play. | Required for Android |
| Apple Developer Program | Yearly membership to publish on the App Store and use Sign in with Apple, push and in-app purchases. | Required for iOS |
| Ad network account | AdMob, AppLovin MAX, Unity Ads or ironSource LevelPlay. Free to open, but each network reviews your app and has its own payout terms. | Required |
| Hosting for the operator console | Any host that runs Node 22 (a VPS, Render, Railway, Fly, Cloud Run, a container), plus HTTPS and a domain if you want one. Optional Postgres for serverless hosts. | Required |
| Web pages for privacy policy, terms and rewards rules | Stores and ad networks require them. Any hosting works. | Required |
03Accounts you will set up
- A Google account for Firebase and Google Cloud
- One ad network account (you can switch later in the console)
- Google Play Console, and Apple Developer Program if you ship iOS
- A Firebase service account key for the console (created in Operator console)