diff --git a/android/app/build.gradle b/android/app/build.gradle
index 0038032f4c9322ec1a92a33c2997db24c9541ed5..c892da86f6d1b228d33371b937b27cb23bc3bd46 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -49,6 +49,7 @@ android {
         targetSdkVersion 29
         versionCode flutterVersionCode.toInteger()
         versionName flutterVersionName
+        multiDexEnabled true
     }
 
     signingConfigs {
diff --git a/assets/qrcode-scan.png b/assets/qrcode-scan.png
new file mode 100644
index 0000000000000000000000000000000000000000..acd14345289f834eaf1e52ba98d4a856b954c6f6
Binary files /dev/null and b/assets/qrcode-scan.png differ
diff --git a/lib/main.dart b/lib/main.dart
index 700fe12450c99b5c3bc5a8a0d8e665203679c3df..eabf207b1bf3cba9b5ad99f48734ab367b1e6892 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -12,45 +12,84 @@ import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:provider/provider.dart';
-import 'package:sentry_flutter/sentry_flutter.dart';
 import 'package:flutter/foundation.dart';
 import 'package:shared_preferences/shared_preferences.dart';
+import 'package:sentry_flutter/sentry_flutter.dart';
+import 'package:catcher/catcher.dart';
 
-final bool enableSentry = true;
+// import 'dart:io';
+// import 'package:flutter_logs/flutter_logs.dart';
+// import 'package:downloads_path_provider/downloads_path_provider.dart';
 
-// Future<String> getJsonEndpoints() {
-//   return rootBundle.loadString('config/gva_endpoints.json');
-// }
+final bool enableSentry = true;
 
 Future<void> main() async {
-  WidgetsFlutterBinding.ensureInitialized();
-  HomeProvider _homeProvider = HomeProvider();
-  await _homeProvider.getAppPath();
-  await _homeProvider.createDefaultAvatar();
-  appVersion = await _homeProvider.getAppVersion();
-  prefs = await SharedPreferences.getInstance();
-  final HiveStore _store =
-      await HiveStore.open(path: '${appPath.path}/gqlCache');
+  try {
+    WidgetsFlutterBinding.ensureInitialized();
 
-  // Get a valid GVA endpoint
-  endPointGVA = await _homeProvider.getValidEndpoint();
+    // var downloadsDirectory = DownloadsPathProvider.downloadsDirectory;
+    // File logFile = File(downloadsDirectory.toString() + '/gecko.log');
 
-  if (kReleaseMode && enableSentry) {
-    await SentryFlutter.init(
-      (options) {
-        options.dsn =
-            'https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110';
-      },
-      appRunner: () => runApp(Gecko(endPointGVA, _store)),
-    );
-  } else {
-    print('Debug mode enabled: No sentry alerte');
+    // await FlutterLogs.initLogs(
+    //     logLevelsEnabled: [
+    //       LogLevel.INFO,
+    //       LogLevel.WARNING,
+    //       LogLevel.ERROR,
+    //       LogLevel.SEVERE
+    //     ],
+    //     timeStampFormat: TimeStampFormat.TIME_FORMAT_READABLE,
+    //     directoryStructure: DirectoryStructure.FOR_EVENT,
+    //     logTypesEnabled: ["Locations", "APIs"],
+    //     logFileExtension: LogFileExtension.LOG,
+    //     logsWriteDirectoryName: downloadsDirectory.toString(),
+    //     logsExportDirectoryName: downloadsDirectory.toString());
+
+    HomeProvider _homeProvider = HomeProvider();
+    await _homeProvider.getAppPath();
+    await _homeProvider.createDefaultAvatar();
+    appVersion = await _homeProvider.getAppVersion();
+    prefs = await SharedPreferences.getInstance();
+    final HiveStore _store =
+        await HiveStore.open(path: '${appPath.path}/gqlCache');
 
-    runApp(Gecko(endPointGVA, _store));
+    // Get a valid GVA endpoint
+    endPointGVA = await _homeProvider.getValidEndpoint();
+
+    if (kReleaseMode &&  enableSentry) {
+      CatcherOptions debugOptions = CatcherOptions(DialogReportMode(), [
+        SentryHandler(SentryClient(SentryOptions(
+            dsn:
+                "https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110")))
+      ]);
+      // CatcherOptions releaseOptions = CatcherOptions(NotificationReportMode(), [
+      //   EmailManualHandler(["poka@p2p.legal"])
+      // ]);
+      Catcher(
+          rootWidget: Gecko(endPointGVA, _store), debugConfig: debugOptions);
+
+      // await SentryFlutter.init(
+      //   (options) {
+      //     options.dsn =
+      //         'https://c09587b46eaa42e8b9fda28d838ed180@o496840.ingest.sentry.io/5572110';
+      //   },
+      //   appRunner: () => runApp(Gecko(endPointGVA, _store)),
+      // );
+    } else {
+      print('Debug mode enabled: No sentry alerte');
+
+      runApp(Gecko(endPointGVA, _store));
+    }
+  } catch (e, stack) {
+    print(e);
+    if (kReleaseMode) {
+      await Sentry.captureException(
+        e,
+        stackTrace: stack,
+      );
+    }
   }
 }
 
-// ignore: must_be_immutable
 class Gecko extends StatelessWidget {
   Gecko(this.randomEndpoint, this._store);
   final String randomEndpoint;
@@ -68,8 +107,8 @@ class Gecko extends StatelessWidget {
         link: _httpLink,
       ),
     );
-
     DubpRust.setup();
+
     return MultiProvider(
         providers: [
           // Provider(create: (context) => HistoryProvider()),
@@ -84,6 +123,7 @@ class Gecko extends StatelessWidget {
         child: GraphQLProvider(
             client: _client,
             child: MaterialApp(
+              navigatorKey: Catcher.navigatorKey,
               title: 'Äžecko',
               theme: ThemeData(
                 primaryColor: Color(0xffFFD58D),
diff --git a/lib/models/generateWallets.dart b/lib/models/generateWallets.dart
index 77f1431db8368bea90761b880f1b0cf415193c9a..d7947eb1f16f4e194bef844b5bdf848058dc195c 100644
--- a/lib/models/generateWallets.dart
+++ b/lib/models/generateWallets.dart
@@ -7,7 +7,6 @@ import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
-import 'package:sentry_flutter/sentry_flutter.dart' as sentry;
 import 'package:pdf/pdf.dart';
 import 'package:pdf/widgets.dart' as pw;
 import 'package:printing/printing.dart';
@@ -81,6 +80,9 @@ class GenerateWalletsProvider with ChangeNotifier {
           .writeAsString('$nbrWallet:$_name:$_derivationNbr:$_pubkey');
     }
 
+    print('CODE PIN :::');
+    print(wallet.pin);
+
     Navigator.pop(context, true);
 
     return _name;
@@ -147,14 +149,8 @@ class GenerateWalletsProvider with ChangeNotifier {
       this.actualWallet = await generateWallet(this.generatedMnemonic);
       walletIsGenerated = true;
       // notifyListeners();
-    } catch (e, stack) {
+    } catch (e) {
       print(e);
-      if (kReleaseMode) {
-        await sentry.Sentry.captureException(
-          e,
-          stackTrace: stack,
-        );
-      }
     }
     // await checkIfWalletExist();
     return generatedMnemonic;
@@ -167,14 +163,8 @@ class GenerateWalletsProvider with ChangeNotifier {
           mnemonic: generatedMnemonic,
           secretCodeType: SecretCodeType.letters,
           walletType: WalletType.bip32Ed25519);
-    } catch (e, stack) {
+    } catch (e) {
       print(e);
-      if (kReleaseMode) {
-        await sentry.Sentry.captureException(
-          e,
-          stackTrace: stack,
-        );
-      }
     }
 
     mnemonicController.text = generatedMnemonic;
@@ -243,6 +233,8 @@ class GenerateWalletsProvider with ChangeNotifier {
         salt: _cesiumID, password: _cesiumPWD);
 
     cesiumPubkey.text = _walletPubkey;
+    pin.text = actualWallet.pin;
+    isPinChanged = true;
     print(_walletPubkey);
   }
 
@@ -274,13 +266,24 @@ class GenerateWalletsProvider with ChangeNotifier {
     notifyListeners();
   }
 
-  void showPinIfEmpty() {
-    if (!isPinChanged) {
-      changePinCode(reload: true);
-      isPinChanged = true;
-    }
+  void resetImportView() {
+    cesiumID.text = '';
+    cesiumPWD.text = '';
+    cesiumPubkey.text = '';
+    pin.text = '';
+    canImport = false;
+    isPinChanged = false;
+    isCesiumIDVisible = false;
+    isCesiumPWDVisible = false;
+    actualWallet = null;
+    notifyListeners();
   }
 
+  // void makeError() {
+  //   var tata = File(appPath.path + '/ddfhjftjfg');
+  //   tata.readAsLinesSync();
+  // }
+
   void reloadBuild() {
     notifyListeners();
   }
diff --git a/lib/models/history.dart b/lib/models/history.dart
index da3ce2646d0efed06499bf93ec5e046ce43d79ca..0b6f6fb6c114e6b380c24753ead1e85ec043323b 100644
--- a/lib/models/history.dart
+++ b/lib/models/history.dart
@@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:permission_handler/permission_handler.dart';
-import 'package:sentry/sentry.dart' as sentry;
 import 'package:qrscan/qrscan.dart' as scanner;
 import 'dart:math';
 import 'package:intl/intl.dart';
@@ -28,14 +27,8 @@ class HistoryProvider with ChangeNotifier {
     String barcode;
     try {
       barcode = await scanner.scan();
-    } catch (e, stack) {
+    } catch (e) {
       print(e);
-      if (kReleaseMode) {
-        await sentry.Sentry.captureException(
-          e,
-          stackTrace: stack,
-        );
-      }
       return 'false';
     }
     if (barcode != null) {
@@ -63,7 +56,6 @@ class HistoryProvider with ChangeNotifier {
       getShortPubkey(pubkey);
 
       this.outputPubkey.text = pubkey;
-      print(pubkeyShort);
 
       isHistoryScreen = false;
       historySwitchButtun = "Voir l'historique";
diff --git a/lib/models/home.dart b/lib/models/home.dart
index 9d854de8a86170bc7e30d24c003697098fa2ae96..692872885f76f501653bd1aa06ebbcee2e59497e 100644
--- a/lib/models/home.dart
+++ b/lib/models/home.dart
@@ -6,6 +6,8 @@ import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'dart:async';
 import 'package:gecko/globals.dart';
+import 'package:gecko/screens/history.dart';
+import 'package:gecko/screens/myWallets/walletsHome.dart';
 import 'package:package_info/package_info.dart';
 import 'package:path_provider/path_provider.dart';
 
@@ -15,6 +17,8 @@ class HomeProvider with ChangeNotifier {
   Icon searchIcon = Icon(Icons.search);
   final TextEditingController searchQuery = new TextEditingController();
   Widget appBarTitle = Text('Äžecko', style: TextStyle(color: Colors.grey[850]));
+  List currentTab = [HistoryScreen(), WalletsHome()];
+
 
   get currentIndex => _currentIndex;
 
diff --git a/lib/screens/history.dart b/lib/screens/history.dart
index 12c5d2b0cb26d30ca8c3498cf95b769f61b043fe..a46980c071a41fe032887a0a6fec73a3b9794d9a 100644
--- a/lib/screens/history.dart
+++ b/lib/screens/history.dart
@@ -48,7 +48,9 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
               child: Container(
                   height: 40.0,
                   width: 40.0,
-                  child: Image.asset('images/scanner.png')),
+                  child: Padding(
+                      padding: EdgeInsets.symmetric(horizontal: 3),
+                      child: Image.asset('assets/qrcode-scan.png'))),
               backgroundColor: Color(
                   0xffEFEFBF), //Color(0xffFFD68E), //Color.fromARGB(500, 204, 255, 255),
             ),
@@ -174,7 +176,9 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
                                     text: _historyProvider.pubkey));
                                 _historyProvider.snackCopyKey(context);
                               },
-                              child: Text(_historyProvider.pubkeyShort,
+                              child: Text(
+                                  _historyProvider
+                                      .getShortPubkey(_historyProvider.pubkey),
                                   style: TextStyle(
                                       fontSize: 22,
                                       fontWeight: FontWeight.w800,
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index dc5ca63c89247cd6922a755d31de83410489358f..31324437799849df9e9d6cefe0a03334efaf88e4 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -1,17 +1,12 @@
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/history.dart';
 import 'package:gecko/models/home.dart';
-import 'package:gecko/screens/history.dart';
 import 'package:flutter/material.dart';
 import 'dart:ui';
-import 'package:gecko/screens/myWallets/walletsHome.dart';
 import 'package:gecko/screens/settings.dart';
 import 'package:provider/provider.dart';
 
-// ignore: must_be_immutable
 class HomeScreen extends StatelessWidget {
-  var currentTab = [HistoryScreen(), WalletsHome()];
-
   @override
   Widget build(BuildContext context) {
     HomeProvider _homeProvider = Provider.of<HomeProvider>(context);
@@ -116,7 +111,7 @@ class HomeScreen extends StatelessWidget {
         backgroundColor: Color(0xffFFD58D),
       ),
       backgroundColor: Color(0xffF9F9F1),
-      body: currentTab[_homeProvider.currentIndex],
+      body: _homeProvider.currentTab[_homeProvider.currentIndex],
       bottomNavigationBar: BottomNavigationBar(
         backgroundColor: Color(0xffFFD58D),
         fixedColor: Colors.grey[850],
diff --git a/lib/screens/myWallets/generateWallets.dart b/lib/screens/myWallets/generateWallets.dart
index 0c163216d01d5e5c41c5245f2426a311efdfd0e0..9b2f9fbb4748de71f1c457ac22c71ca85bc6e080 100644
--- a/lib/screens/myWallets/generateWallets.dart
+++ b/lib/screens/myWallets/generateWallets.dart
@@ -21,6 +21,8 @@ class GenerateWalletsScreen extends StatelessWidget {
     GenerateWalletsProvider _generateWalletProvider =
         Provider.of<GenerateWalletsProvider>(context);
     _generateWalletProvider.generateMnemonic();
+
+    // _generateWalletProvider.makeError();
     print('IS GENERATED ? : ' +
         _generateWalletProvider.walletIsGenerated.toString());
     return Scaffold(
diff --git a/lib/screens/myWallets/importWallet.dart b/lib/screens/myWallets/importWallet.dart
index 2a548af3f508cbf2c096bf3d03640997f010b254..5955469c33d92eb2146c5f2a0cf119034ed04003 100644
--- a/lib/screens/myWallets/importWallet.dart
+++ b/lib/screens/myWallets/importWallet.dart
@@ -18,19 +18,9 @@ class ImportWalletScreen extends StatelessWidget {
     WalletOptionsProvider _walletOptions =
         Provider.of<WalletOptionsProvider>(context);
 
-        _generateWalletProvider.showPinIfEmpty();
-
     return WillPopScope(
         onWillPop: () {
-          _generateWalletProvider.cesiumID.text = '';
-          _generateWalletProvider.cesiumPWD.text = '';
-          _generateWalletProvider.cesiumPubkey.text = '';
-          _generateWalletProvider.pin.text = '';
-          _generateWalletProvider.canImport = false;
-          _generateWalletProvider.isPinChanged = false;
-          _generateWalletProvider.isCesiumIDVisible = false;
-          _generateWalletProvider.isCesiumPWDVisible = false;
-          _generateWalletProvider.reloadBuild();
+          _generateWalletProvider.resetImportView();
           return Future<bool>.value(true);
         },
         child: Scaffold(
@@ -38,15 +28,7 @@ class ImportWalletScreen extends StatelessWidget {
                 leading: IconButton(
                     icon: Icon(Icons.arrow_back, color: Colors.black),
                     onPressed: () {
-                      _generateWalletProvider.cesiumID.text = '';
-                      _generateWalletProvider.cesiumPWD.text = '';
-                      _generateWalletProvider.cesiumPubkey.text = '';
-                      _generateWalletProvider.pin.text = '';
-                      _generateWalletProvider.canImport = false;
-                      _generateWalletProvider.isPinChanged = false;
-                      _generateWalletProvider.isCesiumIDVisible = false;
-                      _generateWalletProvider.isCesiumPWDVisible = false;
-                      _generateWalletProvider.reloadBuild();
+                      _generateWalletProvider.resetImportView();
                       Navigator.of(context).pop();
                     }),
                 title: SizedBox(
@@ -195,6 +177,7 @@ class ImportWalletScreen extends StatelessWidget {
                                                 .cesiumPWD.text)
                                         .then((value) {
                                       _myWalletProvider.rebuildWidget();
+                                      _generateWalletProvider.resetImportView();
                                     });
                                   }
                                 : null,
diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart
index e66b0d38e41de2452ab649fe648a7ffeab4bf054..9ea2c06430b8d16780f9fbac1e00258fb4aceefd 100644
--- a/lib/screens/myWallets/walletsHome.dart
+++ b/lib/screens/myWallets/walletsHome.dart
@@ -9,6 +9,7 @@ import 'package:provider/provider.dart';
 // ignore: must_be_immutable
 class WalletsHome extends StatelessWidget {
   final _derivationKey = GlobalKey<FormState>();
+  int firstWalletDerivation;
 
   @override
   Widget build(BuildContext context) {
@@ -20,9 +21,14 @@ class WalletsHome extends StatelessWidget {
     myWalletProvider.listWallets = myWalletProvider.getAllWalletsNames();
     final bool isWalletsExists = myWalletProvider.checkIfWalletExist();
 
+    if (myWalletProvider.listWallets != '') {
+      firstWalletDerivation =
+          int.parse(myWalletProvider.listWallets.split('\n')[0].split(':')[2]);
+    }
+
     return Scaffold(
         floatingActionButton: Visibility(
-            visible: (isWalletsExists),
+            visible: (isWalletsExists && firstWalletDerivation != -1),
             child: Container(
                 height: 80.0,
                 width: 80.0,
diff --git a/pubspec.lock b/pubspec.lock
index efabd63f4081f151601b4ab4c9edaed4c96d1414..9a59dae69cf2b50afb2b611c62d2812aea41893f 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -36,6 +36,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.0-nullsafety.1"
+  catcher:
+    dependency: "direct main"
+    description:
+      name: catcher
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.4.1"
   characters:
     dependency: transitive
     description:
@@ -106,6 +113,27 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.1.5"
+  device_info:
+    dependency: transitive
+    description:
+      name: device_info
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.0"
+  device_info_platform_interface:
+    dependency: transitive
+    description:
+      name: device_info_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.1"
+  dio:
+    dependency: transitive
+    description:
+      name: dio
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.0.10"
   dubp:
     dependency: "direct main"
     description:
@@ -160,6 +188,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.8.1"
+  flutter_logs:
+    dependency: "direct main"
+    description:
+      name: flutter_logs
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.1.3"
+  flutter_mailer:
+    dependency: transitive
+    description:
+      name: flutter_mailer
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.1"
   flutter_plugin_android_lifecycle:
     dependency: transitive
     description:
@@ -177,6 +219,13 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  fluttertoast:
+    dependency: transitive
+    description:
+      name: fluttertoast
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "7.1.6"
   globbing:
     dependency: transitive
     description:
@@ -317,6 +366,27 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.6.2"
+  logger:
+    dependency: "direct main"
+    description:
+      name: logger
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.9.4"
+  logging:
+    dependency: transitive
+    description:
+      name: logging
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.11.4"
+  mailer:
+    dependency: transitive
+    description:
+      name: mailer
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.3.0"
   matcher:
     dependency: transitive
     description:
@@ -331,6 +401,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0-nullsafety.3"
+  mime:
+    dependency: transitive
+    description:
+      name: mime
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.9.7"
   nested:
     dependency: transitive
     description:
@@ -500,19 +577,19 @@ packages:
     source: hosted
     version: "0.24.1"
   sentry:
-    dependency: transitive
+    dependency: "direct main"
     description:
       name: sentry
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.0.1"
+    version: "4.0.4"
   sentry_flutter:
     dependency: "direct main"
     description:
       name: sentry_flutter
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.0.1"
+    version: "4.0.4"
   shared_preferences:
     dependency: "direct main"
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 74b7c4c45f622bd79b1a2218596995ca8f38f204..f38a6319cdb18d4d2ddbe2a606332740ef68bdd1 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -5,7 +5,7 @@ description: A new Flutter project.
 # pub.dev using `pub publish`. This is preferred for private packages.
 publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 
-version: 0.0.1+6
+version: 0.0.1+8
 
 environment:
   sdk: ">=2.7.0 <3.0.0"
@@ -23,7 +23,6 @@ dependencies:
   graphql_flutter: ^4.0.0 #^3.1.0
   provider: ^4.3.2+3
   truncate: ^2.1.2
-  sentry_flutter: ^4.0.1
   path_provider: ^1.6.24
   pin_code_fields: ^6.0.2
   http: ^0.12.2
@@ -34,7 +33,11 @@ dependencies:
   sync_http: ^0.2.0
   crypto: ^2.1.5
   fast_base58:
-
+  logger: ^0.9.4
+  flutter_logs: ^2.1.3
+  sentry: ^4.0.4
+  sentry_flutter: ^4.0.4
+  catcher: ^0.4.1
 
 flutter_icons:
   android: "ic_launcher"
@@ -57,3 +60,4 @@ flutter:
     - assets/
     - assets/OpenSans-Regular.ttf
     - assets/icon_user.png
+    - assets/qrcode-scan.png