● 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.41 or newer. Built and tested with 3.41.4 | app/pubspec.yaml (flutter: ">=3.41.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 Android SDK 36 and JDK 17 or newer; the project uses Android Gradle Plugin 8.11.1, Gradle 8.14 and Kotlin 2.2.20 | app/android/app/build.gradle.kts, app/android/settings.gradle.kts, app/android/gradle/wrapper/gradle-wrapper.properties |
| iOS | iOS 15.0 or newer (app and widget extension). A Mac with Xcode 16 or newer and CocoaPods 1.16 or newer (App Store uploads need the Xcode version Apple currently requires: Xcode 26 at the time of writing); built with Xcode 26.4.1 and CocoaPods 1.16.2 | 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 | firebase-tools 14 or newer (tested with 15.12.0); install with npm i -g firebase-tools | firebase/README.md |
| FlutterFire CLI | For flutterfire configure; install with dart pub global activate flutterfire_cli | 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
The item price covers the source code only. 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 outbound calls to CoinGecko, RPC nodes, RSS feeds and the 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 to use push notifications and in-app purchases. | Required for iOS |
| 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 |
| CoinGecko paid plan | Keyless CoinGecko and the free Demo key work, with rate limits. A busy app may need a paid plan. | If needed |
| CoinMarketCap paid plan | The free Basic key is enough for the failover. Paid only if you want more credits. | If needed |
| AI provider (Anthropic, OpenAI or compatible) | Every AI brief and coin report is billed by the provider. Without a key the app uses the free, labelled Automatic summary. | Optional |
| Private RPC endpoints | Public endpoints are free and rate-limited; a busy app may need a paid RPC provider. | Optional |
| Ad network accounts | AdMob, AppLovin MAX, Unity Ads, ironSource LevelPlay: free to open, but each reviews your app and has its own payout terms. | Optional |
| Web pages for privacy policy and terms | The stores and ad networks require them. Any hosting works. | Required |
03Accounts you will set up
- A Google account for Firebase and Google Cloud
- A free CoinGecko Demo key (recommended for production) and optionally a CoinMarketCap key
- Google Play Console, and the Apple Developer Program if you ship iOS
- A Firebase service account key for the console (created in Operator console)
- Optional: an AI provider, ad network accounts, exchange affiliate programmes