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

FAQ
short answers.

The questions buyers ask most, with links to the full pages.

01About the product

Is this a crypto wallet or an exchange?

No. It is a tracker only: market data, a manual portfolio, price alerts, news and read-only lookups of public addresses. There are no private keys or seed phrases, no sending, swapping or trading, and no custody anywhere in the code. See Wallets.

Does the app give investment advice or signals?

No. Prices, the market brief and coin reports describe data; the AI is instructed and filtered so it never advises or predicts, and every screen with a summary carries the disclaimer. Do not market the app as advice or signals. See AI summaries.

Is the market data real?

Yes. Prices, charts and coin data are real public data from CoinGecko, with CoinMarketCap as the failover. See Data providers.

Is the demo data real?

Market data in the web demo is live public data. Everything else is labelled: the sample portfolio says "Sample portfolio — demo data", ads are simulated, purchases say "Demo — no charge", affiliate links and the sponsored items are labelled samples, and the demo console has sample users and no revenue at all.

Can users delete their account?

Yes, in Settings → Delete account, as Google Play and the App Store require. It removes the account and its server data; purchase and revenue records are kept for accounting. See Account deletion.

Are the Fear & Greed index and community sentiment signals?

No. The Fear & Greed index is Alternative.me's market-mood index, shown with "Data by Alternative.me"; community sentiment is the share of CoinGecko community votes, labelled "Votes from the CoinGecko community. Not a forecast." Neither is advice. See Fear & Greed index.

Can I use the Fear & Greed index in a commercial app?

Alternative.me's API rules allow commercial use as long as the attribution is given right next to the data, which the card does. Keep the "Data by Alternative.me" link, or switch the card off in Console → Features. See Fear & Greed index.

Why can't I pick 1H with candlesticks?

CoinGecko's smallest candle is 30 minutes, so candles start at 24H on every plan. The line chart still has 1H. See Candlesticks.

Do I need an AI key?

No. Without one the app shows the labelled Automatic summary, built from rules. With a key, AI text is labelled "AI-generated" and you pay your AI provider for its use. See AI summaries.

02Setup

I own version 1.x. How do I upgrade?

2.0.0 is a complete rebuild, so you set it up as a new install; nothing is migrated from the Kotlin app. Keep your application id and upload key to publish it as an update of the same Google Play listing. See Upgrading from 1.x.

Can I run it without Firebase?

Only as the web demo (DEMO_MODE=true). The Android and iOS app needs the Firebase backend: it gets all data through your API, signs users in anonymously and receives push through Firebase Cloud Messaging. See Quick start.

Why does Firebase need the paid Blaze plan?

Cloud Functions, the scheduled jobs and calls to outside services (CoinGecko, RPC nodes, RSS feeds, the stores) only run on Blaze. Google bills usage above the free tier. See Firebase backend.

Where do I put my CoinGecko or AI key?

In the operator console, never in the app. Keys are stored encrypted, written to config/private in Firestore, which no app can read, and used only by the backend. See Operator console.

The app opens a setup screen instead of the markets. Why?

The build has no API_BASE_URL, or lib/firebase_options.dart still has the empty placeholder values. Run flutterfire configure and build with --dart-define=API_BASE_URL=…. See Installation.

I have never used Firebase or a terminal. Can I still set this up?

Yes, if you follow the steps exactly. A few copy-and-paste commands are unavoidable, because Firebase deploys the backend from a terminal; you never write code. Start with Step-by-step setup, which says what you should see after every step.

The console says "config sync failed". What now?

The console could not reach Firestore with its service account. The message after the colon names the cause (missing key file, no credentials, revoked key, missing permission). Each one is listed with its fix in Service account and permissions.

Which Google Cloud role does the console's service account need?

Only Firestore access: Cloud Datastore User. The key Firebase generates under Project settings → Service accounts already has access. See Which roles.

Everything in the console is green, but the app ignores my settings.

Usually the console and the API use different Firebase projects: the API then runs on its defaults without an error. Compare the project ids as described in Firestore connectivity, and restart the app, which loads its settings when it starts.

Can I host the API somewhere else than Cloud Functions?

The API code (firebase/functions/src/api/) is a portable Hono app with no Firebase imports, and the public demo runs it on Vercel with an in-memory store. A production install documented here uses Cloud Functions with Firestore; any other host is your own integration work.

03Money

How much can I earn with it?

That depends on your traffic, users' countries, networks and partners. The docs and the console do not estimate income; the console shows only revenue that was measured. See How the app earns.

Are ads on when I build the app?

No. Every money switch ships off: ads and every placement, Pro, in-app purchases, affiliates and sponsored slots. You switch them on in the console.

Ads work in debug builds but not in my release build. Why?

Debug builds fall back to Google's test ads; release builds need your own ids, your AdMob app id in AndroidManifest.xml and Info.plist instead of Google's test id, and ad networks often send few ads to new ad units. Work through Ads do not show in release builds.

Which services will I pay for?

Firebase Blaze usage, console hosting and the developer accounts are needed; a CoinGecko paid plan, an AI provider and private RPC endpoints only if you choose or need them. See Services and costs.

Why is my ad revenue "not measured"?

Connect AdMob or AppLovin MAX reporting, or record network payouts by hand. See Revenue centre.

04Customizing

Can I change the app name, colour and logo without rebuilding?

The name shown inside the app, the accent colour and the support e-mail: yes, in Console → Brand, and users see them the next time they open the app. The name under the icon, the icon or logo and the other colours are part of the build and need a new release. The full list is in What the console can and cannot change.

Can I change the name, colours, fonts and icon?

Yes. See Rebranding. The name and accent colour can also be changed live from the console; the rest of the palette and the fonts are design tokens in app/lib/core/theme.dart (Colours, Fonts).

Are the fonts licensed for my app?

Yes. Inter and Space Grotesk are under the SIL Open Font License 1.1, which allows bundling them in a commercial app. The licence texts ship with the fonts and appear in the app's Open-source licences page. See Credits.

Does the app respect "reduce motion"?

Yes. With the system setting on, decorative animations are skipped and values change instantly. See Motion.

Can I add a language?

Yes, by adding an ARB file and the server-side templates. See Localization.

Can I add another chain to wallet tracking?

Not from the console: the 9 chains are defined in the backend code (firebase/functions/src/api/wallets.ts). Adding one is custom development.