Cryptocurrency Tracker
from zip to store.
Everything you need to run, configure, rebrand and publish your own crypto tracker app. Read it top to bottom the first time. After that, press / and search.
01What you bought
Cryptocurrency Tracker is a crypto price tracker for Android and iOS, built with Flutter and Firebase. Users follow live markets, open coin charts, keep a watchlist and portfolios with profit and loss, set price alerts that arrive as push notifications, watch public wallet addresses, read crypto news, convert between coins and currencies, and put watchlist and portfolio widgets on the home screen, in 9 languages. You run everything from a web console, the operator console, without changing code.
The app shows public market data and looks up public addresses read-only. It holds no private keys or seed phrases and cannot send, swap or trade. Nothing in it gives investment advice: summaries are labelled "AI-generated" or "Automatic summary" and carry a disclaimer. Keep it that way in your store listing.
The package has three parts that share one data contract (docs/CONTRACT.md):
| Folder | What it is |
|---|---|
app/ | The Flutter app: Android, iOS and a web demo mode, with native home-screen widgets. |
firebase/ | Cloud Functions (TypeScript, Node 22): one /v1 API that holds every key and talks to CoinGecko, CoinMarketCap, RSS feeds, public RPC nodes, the AI provider and the stores; four scheduled jobs for alerts, news, the market brief and push campaigns; Firestore security rules and indexes. |
admin/ | The operator console, a small Node server built on the MIKODES Admin Kit: settings, keys with Test buttons, users, alerts, push campaigns, sponsored slots, affiliate clicks, news, provider usage and the revenue centre. |
docs/CONTRACT.md | The data and API contract: every endpoint, Firestore collection and setting with its default. |
02Features at a glance
- Markets: top coins with sparklines, global market header, trending, categories, search, 30 fiat currencies by default, watchlist.
- Coin screen: chart from 1 hour to all time, statistics, description and links, exchange tickers, coin news.
- Portfolio: buys, sells and transfers with fees, average-cost profit and loss, several portfolios, CSV import and export.
- Price alerts checked on the server every 5 minutes, with push.
- Wallet tracking of public addresses on 9 chains, verified tokens only.
- News from RSS feeds, linking to the publishers.
- Market brief and coin reports, AI or rules-based, always labelled.
- Widgets for Android and iOS, which you can switch off or make Pro-only from the console.
- Accounts: anonymous by default, optional Google, Apple or e-mail sign-in to sync across devices, and in-app account deletion.
- Light and dark themes. 9 languages.
03How the app can make money for you
The app is revenue-ready: it contains the mechanisms below, all switched off until you turn them on. How much they bring depends on your traffic, users' countries, the networks and partners you work with, and policy compliance. These docs do not estimate income, and the console shows only measured revenue (Revenue centre).
| Mechanism | Page |
|---|---|
| Ads from AdMob, AppLovin MAX, Unity Ads or ironSource LevelPlay: banner, native, interstitial, app open, rewarded | Ads |
| Pro subscription (monthly, yearly) and Pro lifetime | Purchases |
| Remove ads and an AI report pack | Purchases |
| Exchange affiliate links, labelled | Affiliates |
| Sponsored coins and sponsored news, labelled | Sponsored |
Overview: How the app earns.
04Pick your path
05What is not included
A Firebase project on the paid Blaze plan, Google Play and Apple developer accounts, hosting for the operator console, and your privacy policy and terms pages. If you need them: a paid CoinGecko or CoinMarketCap plan, an AI provider's usage, private RPC endpoints, ad network and affiliate accounts. None of these are part of the purchase. See Paid services.
06How to read these docs
- Dark boxes are commands. Press Copy in the corner and paste them into a terminal.
- Grey text after
#is an explanation. The Copy button leaves it out. - Text in angle brackets, like
<your-project-id>, is a placeholder. Replace it, brackets included. - Paths start at the
source/folder of the download (next to thisdocumentation/folder).app/lib/ads/means theadsfolder insidelibinsideapp. - Required marks steps you cannot skip before a public release. Optional marks steps you only need for a feature you want.