crossmint_flutter) provides a headless-first SDK with optional UI widgets for integrating Crossmint wallets, authentication, and checkout into your Flutter application.
Installation
Client Setup
Initialize theCrossmintClient and set up authentication and wallet management. The controllers barrel re-exports the client and auth surfaces, so a single import is enough:
main.dart
Provider Setup (Optional UI)
For apps using the provider pattern, wrap your application withCrossmintWalletProvider. Provider mode manages its own CrossmintClient internally — skip the Client Setup step above if you only use the provider.
main.dart
Quick Example
Once the client is set up, use the wallet controller directly (headless) to access wallet state and react to status changes viaaddListener:
Headless vs UI Imports
The Flutter SDK follows a headless-first design. Most apps only need the default barrel; reach for the granular barrels when you want to narrow the surface:| Import | Description |
|---|---|
crossmint_flutter.dart | Default headless entry point — re-exports client, auth, wallets, controllers, and runtime |
crossmint_client.dart | Core client and configuration |
crossmint_flutter_auth.dart | Authentication client and models |
crossmint_flutter_wallets.dart | Wallet models and signer configs |
crossmint_flutter_controllers.dart | Wallet controller (ChangeNotifier) |
crossmint_flutter_runtime.dart | Runtime wallet classes (EVM, Solana, Stellar) |
crossmint_flutter_ui.dart | Optional UI widgets (pulls in Material) |
Next Steps
- Providers — Configure providers and scopes
- Controllers — Manage wallet and auth state
- Widgets — Optional UI widgets
- Wallet Methods — Send tokens, check balances, sign messages

