Flutter Crypto App Boilerplate
Biometric-secured auth, real-time price-data wiring through a streamable repository, and RevenueCat subscription gating — the foundation of a crypto or portfolio tracker, built in BLoC across iOS, Android, and Web.
This Flutter crypto app boilerplate is a $69 one-time Flutter (Dart) starter for portfolio trackers and price-watching apps. It ships Firebase Auth with a biometric lock for app re-entry, a streamable price-data repository ready for any market API, and RevenueCat subscription gating to put live alerts or pro analytics behind a paywall. You own the full source, ship to iOS, Android, and Web from one codebase, and get lifetime updates. It is a tracker foundation — it is not a custodial wallet or an exchange, and you bring your own price-data provider and any on-chain logic.
A crypto tracker is real-time data plus trust
Two things define a credible crypto app: numbers that update without the user pulling to refresh, and the feeling that their data is locked down. The Flutter Kit gives you both as plumbing. A streamable price repository feeds a Cubit, so when a new quote arrives the portfolio total and every holding row repaint reactively — no manual refresh threading. On the trust side, Firebase Auth is paired with a biometric lock (Face ID / fingerprint) so re-entering the app requires the user's own face or finger. Both live behind get_it-registered services in BLoC, testable and separate from your widgets, so you can swap the data source or auth policy without touching the screens.
- Streamable price repository → Cubit → reactive portfolio UI
- Firebase Auth + biometric app lock for re-entry
- BLoC/Cubit + get_it keeps price and auth logic out of widgets
- State survives login, logout, biometric re-lock, and reinstall
Wiring real-time prices, concretely
The kit ships a repository seam rather than a hard-wired exchange, because every crypto app picks a different data provider (CoinGecko, a CEX websocket, an on-chain RPC). Prices flow through a repository interface registered in get_it and surface as a stream a Cubit subscribes to, so polling on a timer or upgrading to a websocket is a swap behind the interface, not a rewrite of your portfolio screen. The biometric gate sits on app resume, so a backgrounded app re-locks before showing balances.
class PortfolioCubit extends Cubit<PortfolioState> {
PortfolioCubit(this._prices, this._holdings)
: super(const PortfolioLoading()) {
_sub = _prices.watch(_holdings.symbols).listen(_onTick);
}
final PriceRepository _prices;
final HoldingsRepository _holdings;
late final StreamSubscription _sub;
void _onTick(Map<String, double> quotes) {
final total = _holdings.valueAt(quotes);
emit(PortfolioLoaded(quotes: quotes, totalUsd: total));
}
@override
Future<void> close() { _sub.cancel(); return super.close(); }
}Gating pro features behind a subscription
Crypto apps monetize on the edges — live price alerts, deeper analytics, more tracked portfolios. The kit wires RevenueCat so those become a paywall plus an entitlement check, with free trials, restore, and StoreKit 2 / Play Billing compliance handled. An EntitlementState Cubit answers 'is this user pro right now?' everywhere, so a price-alert screen or an extra-portfolio slot gates cleanly. Paywall screens theme from your Material 3 design tokens, and GA4 with consent management lets you measure which pro feature actually drives upgrades — useful in a category where conversion is fickle.
- RevenueCat gating for live alerts, pro analytics, extra portfolios
- EntitlementState Cubit — one 'is pro?' answer across the app
- Trials, restore, StoreKit 2 + Play Billing handled
- GA4 consent-managed analytics to find what converts
When a different starting point is the honest choice
Be clear about scope: this is a tracker and price-watch foundation, not a custodial wallet or an exchange. If you are building self-custody key management, signing transactions, or holding user funds, the security and compliance surface is enormous and dominated by audited crypto libraries and regulatory work that no app boilerplate addresses — that is a specialist build. If you only need a read-only price widget and have no Dart experience, a no-code tool may suffice for a v1. And if your product is fundamentally a web trading terminal, a web stack fits better than a mobile-first kit. The Flutter Kit is the right call when you want a code-first, biometric-secured crypto tracker you fully own, with real-time data wiring and subscription gating already done so you can focus on your data, charts, and alerts.
The Flutter Kit vs building a crypto tracker yourself
| Feature | The Flutter Kit | Build from scratch |
|---|---|---|
| Price | $69 one-time, unlimited projects | Your engineering time (weeks) |
| Biometric lock | Face ID / fingerprint app lock wired | Integrate local_auth yourself |
| Real-time prices | Streamable repository → reactive UI | Hand-roll polling/websocket + state |
| Auth | Firebase Auth, multiple providers | Build auth from zero |
| Subscription gating | RevenueCat entitlements pre-wired | Wire StoreKit 2 + Play Billing |
| Architecture | BLoC/Cubit + get_it, testable | You design it all |
| Source ownership | Full source, lifetime updates | You own and maintain it all |
Frequently Asked Questions
Which price API does the crypto app boilerplate use?
How does the crypto boilerplate keep a user's portfolio private?
Is the crypto boilerplate a wallet that holds funds?
Can I charge for price alerts in a crypto app built on this kit?
Does the crypto portfolio app update prices in real time without a manual refresh?
Can a crypto tracker built on this boilerplate run on web too?
Keep exploring
Ship the tracker, not the data and auth plumbing
Start your crypto app with biometric-secured auth, real-time price wiring, and RevenueCat subscription gating already in BLoC. $69 one-time, full source, lifetime updates, iOS + Android + Web from one Dart codebase. See /features.
Get The Flutter Kit — $69One-time purchase · Lifetime updates · Unlimited projects