Cryptocurrency Tracker docs
v2.0.0
Live demoConsole demo Get help
● Reference · Versions

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.

2.0.0

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

  1. Read this changelogEach version lists what changed in the app, the backend and the console.
  2. 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.
  3. Deploy in orderBackend first (firebase deploy --only firestore:rules,firestore:indexes,functions), then the console (npm ci, restart), then build and publish the app.