Changelog
what changed, and how to update.
Version 2.0.0 is a complete rebuild of Cryptocurrency Tracker: a new Flutter app for Android and iOS, a Firebase backend and an operator console.
012.0.0 · 2026-10 — complete rebuild in Flutter, with an operator console
Version 2.0.0 replaces the previous Kotlin Android app of this item with a new code base, written from scratch: a Flutter app for Android and iOS (plus a web demo), a Firebase backend and an operator console. The old app's data sources had stopped working (its price API now requires a paid key, its news API ended its free plan); the new version uses CoinGecko with CoinMarketCap as a fallback and free RSS news feeds, all called from your server, so no key ships inside the app.
For users
- Markets: global stats, trending, categories, sorting and search, 7-day sparklines, automatic refresh, many fiat currencies.
- Coin pages: interactive charts (1H, 24H, 7D, 30D, 90D, 1Y, ALL), stats, ATH, supply, links, exchanges and pairs.
- Watchlist; portfolios with buy, sell and transfer transactions, average-cost profit and loss (realised and unrealised), allocation chart, CSV import and export.
- Price alerts (above, below, percent up or down; once or daily) evaluated on the server every 5 minutes and sent as push notifications.
- Home-screen widgets on Android and iOS (watchlist and portfolio), refreshing themselves.
- Read-only wallet tracking by public address on Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Smart Chain, Avalanche, Solana and Bitcoin; only tokens CoinGecko lists for that chain are shown, spam tokens are hidden.
- Crypto news from RSS feeds (CoinDesk, Decrypt, Cointelegraph, The Block — configurable), linking to the publishers.
- Currency converter (crypto to fiat and crypto to crypto).
- Market summary and per-coin reports: AI-generated with the operator's own key (Anthropic, OpenAI or an OpenAI-compatible provider), or a labelled automatic summary without a key. Never investment advice.
- Onboarding, dark and light themes, 9 languages (English, German, Spanish, French, Portuguese, Arabic with RTL, Hindi, Indonesian, Turkish), optional sign-in to sync data across devices, account deletion.
For the operator
- Operator console on the MIKODES Admin Kit: brand, legal texts and labels, features, sign-in methods (Google, Apple, e-mail), market defaults, data providers and keys (write-only), budgets and caching, news sources, AI provider and limits, ads, Pro and store products, affiliates, sponsored slots, wallet chains and RPC endpoints; users, alerts, push campaigns, news, provider usage and live status checks. Owners, managers and viewers; every change audited.
- Ways to earn, each off by default: ads with AdMob, AppLovin MAX, Unity Ads or ironSource LevelPlay (app open, banners, native ads in lists, interstitials with a minimum gap, rewarded ads that unlock an AI report); Pro subscription (monthly, yearly) and lifetime Pro; remove-ads and AI report pack purchases verified on the server; exchange affiliate links on coin pages and the Buy button (labelled); sponsored coins and sponsored news (labelled "Sponsored", scheduled, with impressions and clicks).
- Revenue centre with measured figures only: verified store purchases, sponsor bookings and partner payouts you record with a reference, and ad revenue when you connect a reporting API.
Requirements
- Flutter 3.41 or newer, Android compileSdk/targetSdk 36 (minSdk 24), iOS 15.0+, Node.js 22, Firebase Blaze plan. Full list: Requirements.
Migration from 1.x
- 2.0.0 is a new code base; there is no data migration from the Kotlin app. Publish it as an update of your existing store listing by keeping your application id, or as a new app.
This entry is the same as CHANGELOG.md in the package.
02Updating from 1.x
2.0.0 is a new project, not a patch. Set it up like a new install (Installation), then:
- Same store listing: to publish 2.0 as an update of your existing Android app, use your 1.x application id (Rebranding), sign with the same upload key, and use a higher version code than your last release (2.0.0 ships with build number 200).
- User data is not migrated. 2.0 does not read anything the 1.x app stored. Tell your users in the release notes that they need to add their coins again.
- Remove any API keys or tokens you added to the 1.x code from your own copies, and revoke them with the provider.
03Applying future 2.x updates
- Read this changelogEach version lists what changed in the app, the backend and the console.
- Keep your changes separateUse git: commit your configured copy, then unpack the update in a separate folder and merge it in. Your
lib/firebase_options.dart,.env, keystores and native ids stay yours. - Deploy in orderBackend first (
firebase deploy --only firestore:rules,firestore:indexes,functions), then the console (npm ci, restart), then build and publish the app.