Para provides a minimal, focused Flutter example demonstrating clean integration patterns with our v2 SDK. Our example app serves as a reference implementation that you can adapt to your specific needs.

Para Flutter Example

Explore our complete Flutter application showcasing Para v2 integration:

Flutter Example App

What’s Included

The Flutter example demonstrates essential Para v2 features with a focus on clean architecture: 🔐 Authentication Methods:
  • Email and phone verification with passkeys
  • OAuth social login (Google, Apple, Twitter, Discord, Facebook)
  • Farcaster authentication
  • External wallet connections (MetaMask, Phantom)
💰 Wallet Management:
  • Multi-chain wallet creation (EVM, Solana, Cosmos)
  • Session management and persistence
  • Wallet import/export functionality
⛓️ Blockchain Integration:
  • EVM transaction signing with web3dart
  • Solana transaction signing with native SDK
  • Cosmos transaction signing with SignDoc
  • Message signing across all chains
🛠️ Advanced Features:
  • Pregenerated wallet handling
  • Error handling and retry logic
  • Cross-platform passkey and biometric authentication
  • Modern app architecture with launch screen
  • Deep linking for auth callbacks
  • New helper methods (handleLogin, handleSignup)

Code Examples by Feature

Authentication Flow Example

The Flutter example includes a complete authentication implementation:
// From: lib/examples/auth/email_auth_example.dart
Future<void> authenticateWithEmail(String email) async {
  final authState = await para.initiateAuthFlow(
    auth: Auth.email(email)
  );
  
  switch (authState.stage) {
    case AuthStage.verify:
      // New user - show verification UI
      showVerificationScreen();
      break;
    case AuthStage.login:
      // Existing user - login with passkey
      await para.handleLogin(
        authState: authState,
        webAuthenticationSession: webAuthSession,
      );
      break;
  }
}

Transaction Signing Examples

Authentication Examples

App Architecture

The example app features a modern architecture:
  • Launch Screen: Professional splash screen during initialization
  • Auth Management: Unified authentication flow using new helper methods
  • State Management: Clean separation of concerns
  • Deep Link Handling: Proper callback handling for external auth

Getting Started with the Example

Prerequisites

  1. Flutter SDK: Version 3.1.3 or higher
  2. Device Setup: iOS simulator or Android emulator with biometric support
  3. Para API Key: Sign up at developer.getpara.com

Quick Start

# Clone the repository
git clone https://github.com/getpara/examples-hub.git
cd examples-hub/mobile/with-flutter

# Install dependencies
flutter pub get

# Configure your API key
# Edit lib/client/para.dart with your API key

# Run the example
flutter run

Configuration

Update the Para configuration in lib/client/para.dart:
final para = Para.fromConfig(
  config: ParaConfig(
    environment: Environment.beta, // or Environment.prod
    apiKey: 'YOUR_API_KEY_HERE',
  ),
  appScheme: 'yourapp',
);

E2E Testing

The Flutter example includes comprehensive end-to-end tests:
# Run E2E tests
cd test_e2e
dart run tool/setup.dart
dart run tool/run_tests.dart
The E2E tests cover:
  • Email and phone authentication flows
  • Wallet creation and management
  • Transaction signing
  • Error handling scenarios

Need Something Specific?

Don’t see an example for your use case? Para’s team is eager to create new examples to help you integrate with different libraries, third-party features, or providers.

Request New Examples