diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 1061e9e8236a90388eaa9ec2e8fcebd4158a810a..91a21cbd1d1ffbe2d743d5d8cb97440549a7c87a 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -19,6 +19,8 @@
         <activity
             android:requestLegacyExternalStorage="true"
             android:name=".MainActivity"
+            android:resource="@style/NormalTheme"
+            android:icon="@mipmap/ic_launcher"
             android:launchMode="singleTop"
             android:theme="@style/LaunchTheme"
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
@@ -29,16 +31,12 @@
                  the Android process has started. This theme is visible to the user
                  while the Flutter UI initializes. After that, this theme continues
                  to determine the Window background behind the Flutter UI. -->
-            <meta-data
+            <!-- <meta-data
               android:name="io.flutter.embedding.android.NormalTheme"
               android:resource="@style/NormalTheme"
-            />
+              android:icon="@mipmap/ic_launcher"
+            /> -->
             
-            <!-- Theme to apply as soon as Flutter begins rendering frames -->
-            <meta-data
-                android:name="io.flutter.embedding.android.NormalTheme"
-                android:resource="@style/NormalTheme"
-            />
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER"/>
diff --git a/assets/onBoarding/coffre-fort-code-secret-dans-telephone.png b/assets/onBoarding/coffre-fort-code-secret-dans-telephone.png
new file mode 100644
index 0000000000000000000000000000000000000000..3cc870ea06f1a6077668dbb1f74137c6adafa85d
Binary files /dev/null and b/assets/onBoarding/coffre-fort-code-secret-dans-telephone.png differ
diff --git a/assets/onBoarding/coffre-fort-protege-les-portefeuilles.png b/assets/onBoarding/coffre-fort-protege-les-portefeuilles.png
new file mode 100644
index 0000000000000000000000000000000000000000..aec07f2519b31d8f7750e384d8a43270ec1b4d97
Binary files /dev/null and b/assets/onBoarding/coffre-fort-protege-les-portefeuilles.png differ
diff --git a/assets/onBoarding/coffre-voleur-perplexe.png b/assets/onBoarding/coffre-voleur-perplexe.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f5b6eee858e65d5a9189be3a546b749bf078744
Binary files /dev/null and b/assets/onBoarding/coffre-voleur-perplexe.png differ
diff --git a/assets/onBoarding/fabrication-de-portefeuille-impossible-sans-phrase.png b/assets/onBoarding/fabrication-de-portefeuille-impossible-sans-phrase.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f78701bdaf9ffef833f89938eb1a45a7e31fb9e
Binary files /dev/null and b/assets/onBoarding/fabrication-de-portefeuille-impossible-sans-phrase.png differ
diff --git a/assets/onBoarding/fabrication-de-portefeuille.png b/assets/onBoarding/fabrication-de-portefeuille.png
new file mode 100644
index 0000000000000000000000000000000000000000..0984ccc05a8499418a2105dcc1dd52e259c85f9c
Binary files /dev/null and b/assets/onBoarding/fabrication-de-portefeuille.png differ
diff --git a/assets/onBoarding/gecko-oublie-aussi.png b/assets/onBoarding/gecko-oublie-aussi.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4e165ae41b1eafc96083c4302bb5203a0cbbba8
Binary files /dev/null and b/assets/onBoarding/gecko-oublie-aussi.png differ
diff --git a/assets/onBoarding/good-bad-passphrase.png b/assets/onBoarding/good-bad-passphrase.png
deleted file mode 100755
index edbda62ec80d1b6360b4f101d47a708114cb1271..0000000000000000000000000000000000000000
Binary files a/assets/onBoarding/good-bad-passphrase.png and /dev/null differ
diff --git a/assets/onBoarding/keys-and-wallets-horizontal.png b/assets/onBoarding/keys-and-wallets-horizontal.png
deleted file mode 100755
index e94e57dbabb8883d7c9b7ee0c49c49274ea91f14..0000000000000000000000000000000000000000
Binary files a/assets/onBoarding/keys-and-wallets-horizontal.png and /dev/null differ
diff --git a/assets/onBoarding/mot-de-passe-oublie.png b/assets/onBoarding/mot-de-passe-oublie.png
new file mode 100644
index 0000000000000000000000000000000000000000..8d80bc9113f52970688c0f0c6b33b4da862b252e
Binary files /dev/null and b/assets/onBoarding/mot-de-passe-oublie.png differ
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 42976420fe2a1f131484a7f8a45cc30ba1058c3c..f5b3c153753d829723f8d7dfac60f1ec172ca24e 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -492,4 +492,4 @@
 /* End XCConfigurationList section */
 	};
 	rootObject = 97C146E61CF9000F007C117D /* Project object */;
-}
\ No newline at end of file
+}
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
index a65cade11257755be4213c75402f538c157589da..d08d914cb197c18a95b08a4fcc4b72bf0654b3e6 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
index c081abb0d8f30c90594d42feda1a0e9771ea6c9c..6cb6241930badf9acc80f7ce52acb6eeb7f4c978 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
index bdb5fed331b866baf447be9eff1c8173048bb712..3e54e80e816ecaee013b6eb8d9fc24cdb055ffe9 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
index 9708740d7f6d19d9f8464280c5af0b977150a7ba..a544812c10915a5bafbb14b4fa2961411b3c2e8c 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index 3b4e54e2199540a895f218a715cb9c150dc74b24..db4c93212315fca1bb93972241d0b5d4ae43ae7f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
index 05066047f3207448c49aaf93f88290e6d9962534..4005a0d105b9714c7857a7e71926af24bdbed048 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
index 7168d21fb097e8ccb6c81b2d1eb96abf10d5bb6a..852aa3158849d8b8727ed7aeb6d4c24db1801c6c 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
index bdb5fed331b866baf447be9eff1c8173048bb712..3e54e80e816ecaee013b6eb8d9fc24cdb055ffe9 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
index 475acee2ed7e25ca5f1da80e36738fc08534b0fc..b6fb5054080b504859943b8a1d91ea242cc2da26 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index 9ed9156eacf2572af0fe2f34641024728ef3a185..aad11e21030478b30e30420320e93c33c271fc6f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index 9ed9156eacf2572af0fe2f34641024728ef3a185..aad11e21030478b30e30420320e93c33c271fc6f 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index 3f1ee216eeecb6daa51e0e0e70e8b274e76c8a9a..afc4220df553a1e6a8d41e5065b0645a4067d3db 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index f32e8920443f641988ae6213fa4db899dff6914b..3c6974e098d9fb889c93ed8abad1c3c5afba93c9 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
index f6dd0108cb941bb162edee1a0c97b7134de72173..7740bbd3d827783a50fa01754c8788bedad53c7c 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
index 97d30a6ac46e458899ac9130c98f01483d2f6205..2b683d06110417f93faa3677a433e491763b4c64 100644
Binary files a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/lib/providers/generate_wallets.dart b/lib/providers/generate_wallets.dart
index dd3b4bc3a151263b53cf3b1296a06d1645249e5c..8d4c2678a8c3bf4dfb377e66f187ce1f6d02f72e 100644
--- a/lib/providers/generate_wallets.dart
+++ b/lib/providers/generate_wallets.dart
@@ -155,25 +155,6 @@ class GenerateWalletsProvider with ChangeNotifier {
     notifyListeners();
   }
 
-  Future<durt.NewWallet?> generateWallet(String generatedMnemonic,
-      {required bool isImport}) async {
-    try {
-      actualWallet = await durt.Dewif().generateDewif(
-          generatedMnemonic, durt.randomSecretCode(pinLength),
-          lang: appLang);
-    } catch (e) {
-      log.e(e);
-    }
-
-    if (!isImport) {
-      mnemonicController.text = generatedMnemonic;
-      pin.text = actualWallet!.password;
-    }
-    // notifyListeners();
-
-    return actualWallet;
-  }
-
   String changePinCode({required bool reload}) {
     pin.text = durt.randomSecretCode(pinLength);
     if (reload) {
@@ -229,56 +210,6 @@ class GenerateWalletsProvider with ChangeNotifier {
     log.d(_walletPubkey);
   }
 
-  // Future<int?> importCesiumWallet() async {
-  //   // String _walletPubkey = await DubpRust.getLegacyPublicKey(
-  //   //     salt: _cesiumID, password: _cesiumPWD);
-  //   // String shortPubkey = truncate(_walletPubkey, 9,
-  //   //     omission: "...", position: TruncatePosition.end);
-  //   // await storeWallet(
-  //   //     actualWallet, 'Portefeuille Cesium - $shortPubkey', context);
-  //   // NewWallet myCesiumWallet = await DubpRust.genWalletFromDeprecatedSaltPassword(salt: _cesiumID, password: _cesiumPWD);
-
-  //   cesiumID.text = '';
-  //   cesiumPWD.text = '';
-  //   cesiumPubkey.text = '';
-  //   canImport = false;
-  //   isCesiumIDVisible = false;
-  //   isCesiumPWDVisible = false;
-
-  //   int chestNumber = 0;
-  //   chestBox.toMap().forEach((key, value) {
-  //     if (value.isCesium!) {
-  //       chestNumber++;
-  //     }
-  //   });
-
-  //   String chestName;
-  //   if (chestNumber == 0) {
-  //     chestName = 'Coffre à Césium';
-  //   } else {
-  //     chestName = 'Coffre à Césium ${chestNumber + 1}';
-  //   }
-
-  //   log.d(pin.text);
-  //   durt.NewWallet cesiumDewif =
-  //       await durt.Dewif().generateCesiumDewif(cesiumWallet.seed, pin.text);
-
-  //   ChestData cesiumChest = ChestData(
-  //       dewif: cesiumDewif.dewif,
-  //       name: chestName,
-  //       imageName: 'cesium.png',
-  //       defaultWallet: 0,
-  //       isCesium: true);
-
-  //   await chestBox.add(cesiumChest).then((value) => null);
-  //   int? chestKey = await chestBox.toMap().keys.last;
-  //   // chestBox.toMap().
-  //   await configBox.put('currentChest', chestKey);
-
-  //   pin.text = '';
-  //   return chestKey;
-  // }
-
   void cesiumIDisVisible() {
     isCesiumIDVisible = !isCesiumIDVisible;
     notifyListeners();
@@ -371,25 +302,6 @@ class GenerateWalletsProvider with ChangeNotifier {
     }
   }
 
-  Future<bool> isSentenceValid() async {
-    String inputMnemonic =
-        '${cellController0.text} ${cellController1.text} ${cellController2.text} ${cellController3.text} ${cellController4.text} ${cellController5.text} ${cellController6.text} ${cellController7.text} ${cellController8.text} ${cellController9.text} ${cellController10.text} ${cellController11.text}';
-
-    // Needed for bad encoding of UTF-8
-    inputMnemonic = inputMnemonic.replaceAll('é', 'é');
-    inputMnemonic = inputMnemonic.replaceAll('è', 'è');
-
-    durt.NewWallet? generatedWallet =
-        await generateWallet(inputMnemonic, isImport: true);
-
-    if (generatedWallet == null) {
-      return false;
-    } else {
-      generatedMnemonic = inputMnemonic;
-      return true;
-    }
-  }
-
   Future pasteMnemonic(BuildContext context) async {
     final sentence = await Clipboard.getData('text/plain');
     int nbr = 0;
diff --git a/lib/providers/my_wallets.dart b/lib/providers/my_wallets.dart
index 953b4461d6605a18c535680250b954602054c2a0..2f12bae434629bb302fe58f49f043df0e85e0be3 100644
--- a/lib/providers/my_wallets.dart
+++ b/lib/providers/my_wallets.dart
@@ -26,7 +26,7 @@ class MyWalletsProvider with ChangeNotifier {
     // configBox.delete('endpoint');
     if (!configBox.containsKey('endpoint') || configBox.get('endpoint') == '') {
       log.d('No endpoint, configure...');
-      configBox.put('endpoint', 'ws://192.168.1.72:9944');
+      configBox.put('endpoint', 'ws://127.0.0.1:9944');
     }
 
     if (chestBox.isEmpty) {
diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart
index 902bf626634dd58d61e7ee3c77fb8219cd2085a1..d865caf0c095811b6b052ff0d04944d709501270 100644
--- a/lib/providers/substrate_sdk.dart
+++ b/lib/providers/substrate_sdk.dart
@@ -315,6 +315,14 @@ class SubstrateSdk with ChangeNotifier {
 
     return await importAccount(fromMnemonic: true, derivePath: '//$number');
   }
+
+  Future<bool> isMnemonicValid(String mnemonic) async {
+    // Needed for bad encoding of UTF-8
+    mnemonic = mnemonic.replaceAll('é', 'é');
+    mnemonic = mnemonic.replaceAll('è', 'è');
+
+    return await sdk.api.keyring.checkMnemonicValid(mnemonic);
+  }
 }
 
 void snack(BuildContext context, String message, {int duration = 2}) {
@@ -339,8 +347,10 @@ void snackNode(BuildContext context, bool isConnected) {
     _message =
         "Vous êtes connecté au noeud\n${configBox.get('endpoint').split('//')[1]}";
   }
-  final snackBar =
-      SnackBar(content: Text(_message), duration: const Duration(seconds: 2));
+  final snackBar = SnackBar(
+      padding: const EdgeInsets.all(20),
+      content: Text(_message, style: const TextStyle(fontSize: 16)),
+      duration: const Duration(seconds: 2));
   ScaffoldMessenger.of(context).showSnackBar(snackBar);
 }
 
diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart
index d2e918fa6fff43a3c7c165432a6a95fc5a2b342d..9f2c4a1f57ad7072de33573e1d60d4323e579091 100644
--- a/lib/providers/wallet_options.dart
+++ b/lib/providers/wallet_options.dart
@@ -4,10 +4,11 @@ import 'package:fast_base58/fast_base58.dart';
 import 'package:flutter/material.dart';
 import 'dart:async';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/chest_data.dart';
 import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
+import 'package:gecko/providers/substrate_sdk.dart';
 import 'package:image_picker/image_picker.dart';
+import 'package:provider/provider.dart';
 import 'package:truncate/truncate.dart';
 
 class WalletOptionsProvider with ChangeNotifier {
@@ -25,33 +26,16 @@ class WalletOptionsProvider with ChangeNotifier {
   Future<NewWallet>? get badWallet => null;
 
   int getPinLenght(_walletNbr) {
-    // TODOo: Get real Dewif lenght
-    // String _localDewif;
-    // if (_walletNbr is int || _walletNbr == null) {
-    //   _localDewif = chestBox.get(configBox.get('currentChest')).dewif;
-    // } else {
-    //   _localDewif = _walletNbr;
-    // }
-
-    // final int _pinLenght = DubpRust.getDewifSecretCodeLen(
-    //     dewif: _localDewif, secretCodeType: SecretCodeType.letters);
-
     return pinLength;
   }
 
-  void _renameWallet(List<int?> _walletID, _newName,
+  void _renameWallet(List<int?> _walletID, String _newName,
       {required bool isCesium}) async {
-    if (isCesium) {
-      ChestData _chestTarget = chestBox.get(_walletID[0])!;
-      _chestTarget.name = _newName;
-      await chestBox.put(_chestTarget.key, _chestTarget);
-    } else {
-      MyWalletsProvider myWalletClass = MyWalletsProvider();
+    MyWalletsProvider myWalletClass = MyWalletsProvider();
 
-      WalletData _walletTarget = myWalletClass.getWalletData(_walletID)!;
-      _walletTarget.name = _newName;
-      await walletBox.put(_walletTarget.key, _walletTarget);
-    }
+    WalletData _walletTarget = myWalletClass.getWalletData(_walletID)!;
+    _walletTarget.name = _newName;
+    await walletBox.put(_walletTarget.key, _walletTarget);
 
     _newWalletName.text = '';
   }
@@ -124,14 +108,6 @@ class WalletOptionsProvider with ChangeNotifier {
     );
   }
 
-  snackCopyKey(context) {
-    const snackBar = SnackBar(
-        content:
-            Text("Cette clé publique a été copié dans votre presse-papier."),
-        duration: Duration(seconds: 2));
-    ScaffoldMessenger.of(context).showSnackBar(snackBar);
-  }
-
   String getShortPubkey(String pubkey) {
     List<int> pubkeyByte = Base58Decode(pubkey);
     Digest pubkeyS256 = sha256.convert(sha256.convert(pubkeyByte).bytes);
@@ -161,10 +137,14 @@ class WalletOptionsProvider with ChangeNotifier {
 
     if (pickedFile != null) {
       _image = File(pickedFile.path);
+
+      ////TODO: Store image on disk, store path in walletBox.imagePath
+
       log.i(pickedFile.path);
       return _image;
     } else {
       log.w('No image selected.');
+      return null;
     }
   }
 
@@ -186,3 +166,30 @@ class WalletOptionsProvider with ChangeNotifier {
     return _address;
   }
 }
+
+Widget balance(BuildContext context, String address, double size) {
+  String balanceCache = '';
+
+  return Column(children: <Widget>[
+    Consumer<SubstrateSdk>(builder: (context, _sdk, _) {
+      return FutureBuilder(
+          future: _sdk.getBalance(address),
+          builder: (BuildContext context, AsyncSnapshot<num?> _balance) {
+            if (_balance.connectionState != ConnectionState.done ||
+                _balance.hasError) {
+              return Text(balanceCache,
+                  style: TextStyle(
+                    fontSize: isTall ? size : size * 0.9,
+                  ));
+            }
+            balanceCache = "${_balance.data.toString()} $currencyName";
+            return Text(
+              balanceCache,
+              style: TextStyle(
+                fontSize: isTall ? size : 18,
+              ),
+            );
+          });
+    }),
+  ]);
+}
diff --git a/lib/providers/wallets_profiles.dart b/lib/providers/wallets_profiles.dart
index 015124e5e90c38f7789f835ea9a911e379080294..e26291e0220302581b0de1da43e1cbda679c3815 100644
--- a/lib/providers/wallets_profiles.dart
+++ b/lib/providers/wallets_profiles.dart
@@ -239,25 +239,6 @@ class WalletsProfilesProvider with ChangeNotifier {
     return num.parse(result);
   }
 
-  snackCopyKey(context) {
-    const snackBar = SnackBar(
-        padding: EdgeInsets.all(20),
-        content:
-            Text("Cette clé publique a été copié dans votre presse-papier."),
-        duration: Duration(seconds: 2));
-    ScaffoldMessenger.of(context).showSnackBar(snackBar);
-  }
-
-  void switchProfileView() {
-    isHistoryScreen = !isHistoryScreen;
-    if (isHistoryScreen) {
-      historySwitchButtun = "Payer";
-    } else {
-      historySwitchButtun = "Voir l'historique";
-    }
-    notifyListeners();
-  }
-
   String generateIdenticon(String _pubkey) {
     return Jdenticon.toSvg(_pubkey);
   }
@@ -285,3 +266,12 @@ class WalletsProfilesProvider with ChangeNotifier {
     return balance;
   }
 }
+
+snackCopyKey(context) {
+  const snackBar = SnackBar(
+      padding: EdgeInsets.all(20),
+      content: Text("Cette clé publique a été copié dans votre presse-papier.",
+          style: TextStyle(fontSize: 16)),
+      duration: Duration(seconds: 2));
+  ScaffoldMessenger.of(context).showSnackBar(snackBar);
+}
diff --git a/lib/screens/history.dart b/lib/screens/history.dart
index 2b0b878af750c4ad7b54709a64549cb91dc870cd..a3b5c443c848ca58d6da616a682c421243bd000e 100644
--- a/lib/screens/history.dart
+++ b/lib/screens/history.dart
@@ -403,7 +403,7 @@ class HistoryScreen extends StatelessWidget with ChangeNotifier {
                             key: const Key('copyPubkey'),
                             onTap: () {
                               Clipboard.setData(ClipboardData(text: pubkey));
-                              _historyProvider.snackCopyKey(context);
+                              snackCopyKey(context);
                             },
                             child: Text(
                               _historyProvider.getShortPubkey(pubkey!),
diff --git a/lib/screens/myWallets/cesium_wallet_options.dart b/lib/screens/myWallets/cesium_wallet_options.dart
deleted file mode 100644
index bce4b458f491f751477a2c0e5b12e2a9f4c247b3..0000000000000000000000000000000000000000
--- a/lib/screens/myWallets/cesium_wallet_options.dart
+++ /dev/null
@@ -1,410 +0,0 @@
-import 'dart:async';
-import 'dart:io';
-import 'dart:ui';
-import 'package:flutter/material.dart';
-import 'package:gecko/globals.dart';
-import 'package:gecko/models/chest_data.dart';
-import 'package:gecko/providers/chest_provider.dart';
-import 'package:gecko/providers/wallets_profiles.dart';
-import 'package:gecko/providers/my_wallets.dart';
-import 'package:gecko/models/queries.dart';
-import 'package:gecko/providers/wallet_options.dart';
-import 'package:gecko/screens/history.dart';
-import 'package:gecko/screens/myWallets/change_pin.dart';
-import 'package:graphql_flutter/graphql_flutter.dart';
-import 'package:provider/provider.dart';
-import 'package:flutter/services.dart';
-import 'package:qr_flutter/qr_flutter.dart';
-
-bool _isNewNameValid = false;
-
-class CesiumWalletOptions extends StatelessWidget {
-  const CesiumWalletOptions(
-      {Key? key, Key? keyMyWallets, required this.cesiumWallet})
-      : super(key: key);
-
-  final ChestData cesiumWallet;
-
-  @override
-  Widget build(BuildContext context) {
-    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
-    WalletOptionsProvider _walletOptions =
-        Provider.of<WalletOptionsProvider>(context, listen: false);
-    ChestProvider _chestProvider =
-        Provider.of<ChestProvider>(context, listen: false);
-    WalletsProfilesProvider _historyProvider =
-        Provider.of<WalletsProfilesProvider>(context, listen: false);
-    MyWalletsProvider _myWalletProvider =
-        Provider.of<MyWalletsProvider>(context, listen: false);
-
-    final String shortPubkey =
-        _walletOptions.getShortPubkey(_walletOptions.address.text);
-
-    if (_isNewNameValid == false) {
-      _walletOptions.nameController.text = cesiumWallet.name!;
-    } else {
-      cesiumWallet.name = _walletOptions.nameController.text;
-    }
-
-    return WillPopScope(
-      onWillPop: () {
-        _walletOptions.isEditing = false;
-        _walletOptions.isBalanceBlur = true;
-        Navigator.popUntil(
-          context,
-          ModalRoute.withName('/'),
-        );
-        return Future<bool>.value(true);
-      },
-      child: Scaffold(
-        resizeToAvoidBottomInset: false,
-        appBar: AppBar(
-          toolbarHeight: 60 * ratio,
-          elevation: 0,
-          leading: IconButton(
-              icon: const Icon(Icons.arrow_back, color: Colors.black),
-              onPressed: () {
-                _walletOptions.isEditing = false;
-                _walletOptions.isBalanceBlur = true;
-                Navigator.popUntil(
-                  context,
-                  ModalRoute.withName('/'),
-                );
-              }),
-          title: SizedBox(
-            height: 22,
-            child: Consumer<WalletOptionsProvider>(
-                builder: (context, walletProvider, _) {
-              return Text(_walletOptions.nameController.text);
-            }),
-          ),
-        ),
-        body: Builder(
-          builder: (ctx) => SafeArea(
-            child: Column(children: <Widget>[
-              Consumer<WalletOptionsProvider>(
-                  builder: (context, walletProvider, _) {
-                return Container(
-                  decoration: BoxDecoration(
-                      gradient: LinearGradient(
-                    begin: Alignment.topCenter,
-                    end: Alignment.bottomCenter,
-                    colors: [
-                      yellowC,
-                      const Color(0xfffafafa),
-                    ],
-                  )),
-                  child: Row(
-                      crossAxisAlignment: CrossAxisAlignment.start,
-                      mainAxisAlignment: MainAxisAlignment.spaceAround,
-                      children: <Widget>[
-                        const Spacer(flex: 1),
-                        InkWell(
-                          onTap: () async {
-                            File newAvatar =
-                                await (_walletOptions.changeAvatar());
-                            cesiumWallet.imageFile = newAvatar;
-                            _walletOptions.reloadBuild();
-                          },
-                          child: cesiumWallet.imageFile == null
-                              ? Image.asset(
-                                  'assets/chests/${cesiumWallet.imageName}',
-                                  width: 110,
-                                )
-                              : Image.file(cesiumWallet.imageFile!, width: 110),
-                        ),
-                        InkWell(
-                            onTap: () async {
-                              File newAvatar =
-                                  await (_walletOptions.changeAvatar());
-                              cesiumWallet.imageFile = newAvatar;
-                              _walletOptions.reloadBuild();
-                            },
-                            child: Column(children: <Widget>[
-                              Image.asset(
-                                'assets/walletOptions/camera.png',
-                                height: 40,
-                              ),
-                              const SizedBox(height: 80)
-                            ])),
-                        const Spacer(flex: 1),
-                        Column(children: <Widget>[
-                          SizedBox(
-                            width: 260,
-                            child: TextField(
-                                key: const Key('walletName'),
-                                autofocus: false,
-                                focusNode: _walletOptions.walletNameFocus,
-                                enabled: _walletOptions.isEditing,
-                                controller: _walletOptions.nameController,
-                                minLines: 1,
-                                maxLines: 3,
-                                textAlign: TextAlign.center,
-                                decoration: const InputDecoration(
-                                  border: InputBorder.none,
-                                  focusedBorder: InputBorder.none,
-                                  enabledBorder: InputBorder.none,
-                                  disabledBorder: InputBorder.none,
-                                  contentPadding: EdgeInsets.all(15.0),
-                                ),
-                                style: TextStyle(
-                                  fontSize: isTall ? 27 : 23,
-                                  color: Colors.black,
-                                  fontWeight: FontWeight.w400,
-                                )),
-                          ),
-                          SizedBox(height: isTall ? 5 : 0),
-                          Query(
-                            options: QueryOptions(
-                              document: gql(getBalance),
-                              variables: {
-                                'pubkey': _walletOptions.address.text,
-                              },
-                              // pollInterval: Duration(seconds: 1),
-                            ),
-                            builder: (QueryResult result,
-                                {VoidCallback? refetch, FetchMore? fetchMore}) {
-                              if (result.hasException) {
-                                return Text(result.exception.toString());
-                              }
-
-                              if (result.isLoading) {
-                                return const Text('Loading');
-                              }
-
-                              // List repositories = result.data['viewer']['repositories']['nodes'];
-                              String wBalanceUD;
-                              if (result.data!['balance'] == null) {
-                                wBalanceUD = '0.0';
-                              } else {
-                                int wBalanceG1 =
-                                    result.data!['balance']['amount'];
-                                int currentUD =
-                                    result.data!['currentUd']['amount'];
-                                double wBalanceUDBrut =
-                                    wBalanceG1 / currentUD; // .toString();
-                                wBalanceUD = double.parse(
-                                        (wBalanceUDBrut).toStringAsFixed(2))
-                                    .toString();
-                              }
-                              return Row(children: <Widget>[
-                                ImageFiltered(
-                                  imageFilter: ImageFilter.blur(
-                                      sigmaX: _walletOptions.isBalanceBlur
-                                          ? 6
-                                          : 0.001,
-                                      sigmaY: _walletOptions.isBalanceBlur
-                                          ? 5
-                                          : 0.001),
-                                  child: Text(wBalanceUD,
-                                      style: TextStyle(
-                                          fontSize: isTall ? 20 : 18,
-                                          color: Colors.black)),
-                                ),
-                                Text(' DU',
-                                    style: TextStyle(
-                                        fontSize: isTall ? 20 : 18,
-                                        color: Colors.black))
-                              ]);
-
-                              // Text(
-                              //   '$wBalanceUD DU',
-                              //   style: TextStyle(
-                              //       fontSize: 20, color: Colors.black),
-                              // );
-                            },
-                          ),
-                          const SizedBox(height: 5),
-                          InkWell(
-                            key: const Key('displayBalance'),
-                            onTap: () {
-                              _walletOptions.bluringBalance();
-                            },
-                            child: Image.asset(
-                              _walletOptions.isBalanceBlur
-                                  ? 'assets/walletOptions/icon_oeuil.png'
-                                  : 'assets/walletOptions/icon_oeuil_close.png',
-                              height: 35,
-                            ),
-                          ),
-                        ]),
-                        Column(children: <Widget>[
-                          InkWell(
-                              key: const Key('renameWallet'),
-                              onTap: () async {
-                                _isNewNameValid = _walletOptions.editWalletName(
-                                    [cesiumWallet.key, 0],
-                                    isCesium: cesiumWallet.isCesium);
-                                await Future.delayed(
-                                    const Duration(milliseconds: 30));
-                                _walletOptions.walletNameFocus.requestFocus();
-                              },
-                              child: ClipRRect(
-                                child: Image.asset(
-                                    _walletOptions.isEditing
-                                        ? 'assets/walletOptions/android-checkmark.png'
-                                        : 'assets/walletOptions/edit.png',
-                                    width: 20,
-                                    height: 20),
-                              )),
-                          const SizedBox(
-                            height: 60,
-                          )
-                        ]),
-                        const Spacer(flex: 3),
-                      ]),
-                );
-              }),
-              SizedBox(height: 4 * ratio),
-              QrImageWidget(
-                data: _walletOptions.address.text,
-                version: QrVersions.auto,
-                size: isTall ? 300 : 270,
-              ),
-              SizedBox(height: 15 * ratio),
-              GestureDetector(
-                  key: const Key('copyPubkey'),
-                  onTap: () {
-                    Clipboard.setData(
-                        ClipboardData(text: _walletOptions.address.text));
-                    _walletOptions.snackCopyKey(ctx);
-                  },
-                  child: SizedBox(
-                      height: 50,
-                      child: Row(children: <Widget>[
-                        const SizedBox(width: 30),
-                        Image.asset(
-                          'assets/walletOptions/key.png',
-                          height: 45,
-                        ),
-                        const SizedBox(width: 20),
-                        Text("${shortPubkey.split(':')[0]}:",
-                            style: const TextStyle(
-                                fontSize: 22,
-                                fontWeight: FontWeight.w800,
-                                fontFamily: 'Monospace',
-                                color: Colors.black)),
-                        Text(shortPubkey.split(':')[1],
-                            style: const TextStyle(
-                                fontSize: 22,
-                                fontWeight: FontWeight.w800,
-                                fontFamily: 'Monospace')),
-                        const SizedBox(width: 15),
-                        SizedBox(
-                            height: 40,
-                            child: ElevatedButton(
-                                style: ElevatedButton.styleFrom(
-                                  shape: RoundedRectangleBorder(
-                                    borderRadius: BorderRadius.circular(8),
-                                  ),
-                                  elevation: 1,
-                                  primary: orangeC, // background
-                                  onPrimary: Colors.black, // foreground
-                                ),
-                                onPressed: () {
-                                  Clipboard.setData(ClipboardData(
-                                      text: _walletOptions.address.text));
-                                  _walletOptions.snackCopyKey(ctx);
-                                },
-                                child: Row(children: <Widget>[
-                                  Image.asset(
-                                    'assets/walletOptions/copy-white.png',
-                                    height: 25,
-                                  ),
-                                  const SizedBox(width: 7),
-                                  Text('Copier',
-                                      style: TextStyle(
-                                          fontSize: 15, color: Colors.grey[50]))
-                                ]))),
-                      ]))),
-              SizedBox(height: 10 * ratio),
-              InkWell(
-                  key: const Key('displayHistory'),
-                  onTap: () {
-                    _historyProvider.nPage = 1;
-                    Navigator.push(
-                      context,
-                      MaterialPageRoute(builder: (context) {
-                        return HistoryScreen(
-                            pubkey: _walletOptions.address.text);
-                      }),
-                    );
-                  },
-                  child: SizedBox(
-                      height: 50,
-                      child: Row(children: <Widget>[
-                        const SizedBox(width: 30),
-                        Image.asset(
-                          'assets/walletOptions/clock.png',
-                          height: 45,
-                        ),
-                        const SizedBox(width: 22),
-                        const Text('Historique des transactions',
-                            style:
-                                TextStyle(fontSize: 20, color: Colors.black)),
-                      ]))),
-              SizedBox(height: 7 * ratio),
-              InkWell(
-                key: const Key('changePin'),
-                onTap: () async {
-                  // await _chestProvider.changePin(context, cesiumWallet);
-                  String? newPin = await Navigator.push(
-                    context,
-                    MaterialPageRoute(
-                      builder: (context) {
-                        return ChangePinScreen(
-                          walletName: cesiumWallet.name,
-                          walletProvider: _myWalletProvider,
-                        );
-                      },
-                    ),
-                  );
-
-                  if (newPin != null) _myWalletProvider.pinCode = newPin;
-                },
-                child: SizedBox(
-                  height: 50,
-                  child: Row(children: <Widget>[
-                    const SizedBox(width: 31),
-                    Image.asset(
-                      'assets/chests/secret_code.png',
-                      height: 24,
-                    ),
-                    const SizedBox(width: 20),
-                    const Text('Changer mon code secret',
-                        style: TextStyle(fontSize: 20, color: Colors.black)),
-                  ]),
-                ),
-              ),
-              SizedBox(height: 7 * ratio),
-              InkWell(
-                key: const Key('deleteWallet'),
-                onTap: () async {
-                  await _chestProvider.deleteChest(context, cesiumWallet);
-                },
-                child: SizedBox(
-                  height: 50,
-                  child: Row(children: <Widget>[
-                    const SizedBox(width: 33),
-                    Image.asset(
-                      'assets/walletOptions/trash.png',
-                      height: 45,
-                    ),
-                    const SizedBox(width: 21),
-                    const Text(
-                      'Supprimer ce coffre',
-                      style: TextStyle(
-                        fontSize: 20,
-                        color: Color(0xffD80000),
-                      ),
-                    ),
-                  ]),
-                ),
-              ),
-            ]),
-          ),
-        ),
-      ),
-    );
-  }
-}
diff --git a/lib/screens/myWallets/generate_wallets.dart b/lib/screens/myWallets/generate_wallets.dart
index c7abdad7ddaf735fb93ae248510d5d01cd1c6eb4..91360b100e88d1a91b1a5d89dea657c62d78cc8b 100644
--- a/lib/screens/myWallets/generate_wallets.dart
+++ b/lib/screens/myWallets/generate_wallets.dart
@@ -1,4 +1,3 @@
-import 'package:durt/durt.dart';
 import 'package:flutter/foundation.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
@@ -127,11 +126,6 @@ class GenerateFastChestScreen extends StatelessWidget {
                       ? () async {
                           _generateWalletProvider.nbrWord =
                               _generateWalletProvider.getRandomInt();
-                          _generateWalletProvider.actualWallet = await Dewif()
-                              .generateDewif(
-                                  _generateWalletProvider.generatedMnemonic!,
-                                  _generateWalletProvider.pin.text,
-                                  lang: appLang);
                           await Navigator.push(
                             context,
                             MaterialPageRoute(builder: (context) {
diff --git a/lib/screens/myWallets/restore_chest.dart b/lib/screens/myWallets/restore_chest.dart
index 61a6e147ae38e413a336dd397ca7d01877d7bba7..51106f7b96bfe079d9e658ec4ddbbfd44ed0bea2 100644
--- a/lib/screens/myWallets/restore_chest.dart
+++ b/lib/screens/myWallets/restore_chest.dart
@@ -3,6 +3,7 @@ import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/providers/generate_wallets.dart';
+import 'package:gecko/providers/substrate_sdk.dart';
 import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/onBoarding/11.dart';
 import 'package:provider/provider.dart';
@@ -15,14 +16,19 @@ class RestoreChest extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
-    GenerateWalletsProvider generateWalletProvider =
+    GenerateWalletsProvider genW =
         Provider.of<GenerateWalletsProvider>(context, listen: false);
+    SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
 
-    generateWalletProvider.actualWallet = null;
+    genW.actualWallet = null;
+    if (genW.isSentenceComplete(context)) {
+      genW.generatedMnemonic =
+          '${genW.cellController0.text} ${genW.cellController1.text} ${genW.cellController2.text} ${genW.cellController3.text} ${genW.cellController4.text} ${genW.cellController5.text} ${genW.cellController6.text} ${genW.cellController7.text} ${genW.cellController8.text} ${genW.cellController9.text} ${genW.cellController10.text} ${genW.cellController11.text}';
+    }
 
     return WillPopScope(
       onWillPop: () {
-        generateWalletProvider.resetImportView();
+        genW.resetImportView();
         return Future<bool>.value(true);
       },
       child: Scaffold(
@@ -31,7 +37,7 @@ class RestoreChest extends StatelessWidget {
             leading: IconButton(
                 icon: const Icon(Icons.arrow_back, color: Colors.black),
                 onPressed: () {
-                  generateWalletProvider.resetImportView();
+                  genW.resetImportView();
                   Navigator.of(context).pop();
                 }),
             title: const SizedBox(
@@ -48,32 +54,32 @@ class RestoreChest extends StatelessWidget {
               Row(
                   mainAxisAlignment: MainAxisAlignment.spaceAround,
                   children: <Widget>[
-                    arrayCell(context, generateWalletProvider.cellController0),
-                    arrayCell(context, generateWalletProvider.cellController1),
-                    arrayCell(context, generateWalletProvider.cellController2),
-                    arrayCell(context, generateWalletProvider.cellController3),
+                    arrayCell(context, genW.cellController0),
+                    arrayCell(context, genW.cellController1),
+                    arrayCell(context, genW.cellController2),
+                    arrayCell(context, genW.cellController3),
                   ]),
               const SizedBox(height: 15),
               Row(
                   mainAxisAlignment: MainAxisAlignment.spaceAround,
                   children: <Widget>[
-                    arrayCell(context, generateWalletProvider.cellController4),
-                    arrayCell(context, generateWalletProvider.cellController5),
-                    arrayCell(context, generateWalletProvider.cellController6),
-                    arrayCell(context, generateWalletProvider.cellController7),
+                    arrayCell(context, genW.cellController4),
+                    arrayCell(context, genW.cellController5),
+                    arrayCell(context, genW.cellController6),
+                    arrayCell(context, genW.cellController7),
                   ]),
               const SizedBox(height: 15),
               Row(
                   mainAxisAlignment: MainAxisAlignment.spaceAround,
                   children: <Widget>[
-                    arrayCell(context, generateWalletProvider.cellController8),
-                    arrayCell(context, generateWalletProvider.cellController9),
-                    arrayCell(context, generateWalletProvider.cellController10),
-                    arrayCell(context, generateWalletProvider.cellController11),
+                    arrayCell(context, genW.cellController8),
+                    arrayCell(context, genW.cellController9),
+                    arrayCell(context, genW.cellController10),
+                    arrayCell(context, genW.cellController11),
                   ]),
             ]),
             // const Spacer(),
-            if (generateWalletProvider.isSentenceComplete(context))
+            if (genW.isSentenceComplete(context))
               Expanded(
                   child: Align(
                 alignment: Alignment.center,
@@ -87,8 +93,8 @@ class RestoreChest extends StatelessWidget {
                       onPrimary: Colors.white, // foreground
                     ),
                     onPressed: () async {
-                      if (await generateWalletProvider.isSentenceValid()) {
-                        generateWalletProvider.resetImportView();
+                      if (await _sub.isMnemonicValid(genW.generatedMnemonic!)) {
+                        genW.resetImportView();
                         await Navigator.push(
                           context,
                           FaderTransition(
@@ -121,7 +127,7 @@ class RestoreChest extends StatelessWidget {
                       onPrimary: Colors.black, // foreground
                     ),
                     onPressed: () {
-                      generateWalletProvider.pasteMnemonic(context);
+                      genW.pasteMnemonic(context);
                     },
                     child: const Text(
                       'Coller depuis le\npresse-papier',
@@ -193,7 +199,7 @@ class RestoreChest extends StatelessWidget {
         return AlertDialog(
           title: const Text('Phrase incorrecte'),
           content: const Text(
-              'Votre phrase de restauration semble incorrecte, veuillez la corriger.'),
+              'Votre phrase de restauration semble incorrecte, les mots ne sont pas dans le bon ordre.\nVeuillez la corriger.'),
           actions: <Widget>[
             TextButton(
               child: const Text("OK"),
diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart
index 83346fa2dc3e0e6a633cb0514d5235e5afea0e48..a91563ba576a353a4f7af4b1f43692063ad0e01d 100644
--- a/lib/screens/myWallets/unlocking_wallet.dart
+++ b/lib/screens/myWallets/unlocking_wallet.dart
@@ -8,7 +8,6 @@ import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/providers/wallet_options.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/screens/myWallets/cesium_wallet_options.dart';
 import 'package:gecko/screens/myWallets/choose_chest.dart';
 import 'package:gecko/screens/myWallets/choose_wallet.dart';
 import 'package:gecko/screens/myWallets/wallets_home.dart';
@@ -214,20 +213,12 @@ class UnlockingWallet extends StatelessWidget {
               } else {
                 pinColor = Colors.green[400];
                 if (action == "mywallets") {
-                  currentChest.isCesium!
-                      ? Navigator.push(
-                          context,
-                          MaterialPageRoute(builder: (context) {
-                            return CesiumWalletOptions(
-                                cesiumWallet: currentChest);
-                          }),
-                        ).then((value) => _myWalletProvider.mnemonic = '')
-                      : Navigator.push(
-                          context,
-                          MaterialPageRoute(builder: (context) {
-                            return const WalletsHome();
-                          }),
-                        );
+                  Navigator.push(
+                    context,
+                    MaterialPageRoute(builder: (context) {
+                      return const WalletsHome();
+                    }),
+                  );
                 } else if (action == "pay") {
                   Navigator.push(
                     context,
diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart
index a9b1d77a8ef6b9f80388c9af2d5f871935137903..19a39fcae4552a2552ef2decd02ecf020f06f26c 100644
--- a/lib/screens/myWallets/wallet_options.dart
+++ b/lib/screens/myWallets/wallet_options.dart
@@ -1,11 +1,8 @@
 import 'dart:async';
-import 'dart:io';
-import 'dart:ui';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
-import 'package:gecko/providers/substrate_sdk.dart';
 import 'package:gecko/providers/wallet_options.dart';
 import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:gecko/screens/history.dart';
@@ -92,13 +89,13 @@ class WalletOptions extends StatelessWidget {
                         Column(children: <Widget>[
                           walletName(walletProvider, _walletOptions),
                           SizedBox(height: isTall ? 5 : 0),
-                          balance(context, walletProvider),
+                          balance(context, walletProvider.address.text, 20),
                         ]),
                         const Spacer(flex: 3),
                       ]),
                 );
               }),
-              SizedBox(height: 4 * ratio),
+              SizedBox(height: 10 * ratio),
               QrImageWidget(
                 data: _walletOptions.address.text,
                 version: QrVersions.auto,
@@ -132,8 +129,10 @@ class WalletOptions extends StatelessWidget {
       children: <Widget>[
         InkWell(
           onTap: () async {
-            File newAvatar = await (walletProvider.changeAvatar());
-            wallet.imageFile = newAvatar;
+            wallet.imageFile = await (walletProvider.changeAvatar());
+            if (wallet.imageFile != null) {
+              walletBox.put(wallet.key, wallet);
+            }
             walletProvider.reloadBuild();
           },
           child: wallet.imageFile == null
@@ -151,8 +150,7 @@ class WalletOptions extends StatelessWidget {
           top: 0,
           child: InkWell(
             onTap: () async {
-              File newAvatar = await (walletProvider.changeAvatar());
-              wallet.imageFile = newAvatar;
+              wallet.imageFile = await (walletProvider.changeAvatar());
               walletProvider.reloadBuild();
             },
             child: Image.asset(
@@ -223,52 +221,6 @@ class WalletOptions extends StatelessWidget {
     );
   }
 
-  Widget balance(BuildContext context, WalletOptionsProvider walletProvider) {
-    String balanceCache = '';
-
-    return Column(children: <Widget>[
-      Consumer<SubstrateSdk>(builder: (context, _sdk, _) {
-        return FutureBuilder(
-            future: _sdk.getBalance(walletProvider.address.text),
-            builder: (BuildContext context, AsyncSnapshot<num?> _balance) {
-              if (_balance.connectionState != ConnectionState.done ||
-                  _balance.hasError) {
-                return Text(balanceCache,
-                    style: TextStyle(
-                      fontSize: isTall ? 20 : 18,
-                    ));
-              }
-              balanceCache = "${_balance.data.toString()} $currencyName";
-              return ImageFiltered(
-                imageFilter: ImageFilter.blur(
-                    sigmaX: walletProvider.isBalanceBlur ? 6 : 0,
-                    sigmaY: walletProvider.isBalanceBlur ? 5 : 0),
-                child: Text(
-                  balanceCache,
-                  style: TextStyle(
-                    fontSize: isTall ? 20 : 18,
-                  ),
-                ),
-              );
-            });
-      }),
-
-      const SizedBox(height: 15),
-      // InkWell(
-      //   key: const Key('displayBalance'),
-      //   onTap: () {
-      //     walletProvider.bluringBalance();
-      //   },
-      //   child: Image.asset(
-      //     walletProvider.isBalanceBlur
-      //         ? 'assets/walletOptions/icon_oeuil.png'
-      //         : 'assets/walletOptions/icon_oeuil_close.png',
-      //     height: 35,
-      //   ),
-      // ),
-    ]);
-  }
-
   Widget pubkeyWidget(WalletOptionsProvider walletProvider, BuildContext ctx) {
     final String shortPubkey =
         walletProvider.getShortPubkey(walletProvider.address.text);
@@ -276,7 +228,7 @@ class WalletOptions extends StatelessWidget {
       key: const Key('copyPubkey'),
       onTap: () {
         Clipboard.setData(ClipboardData(text: walletProvider.address.text));
-        walletProvider.snackCopyKey(ctx);
+        snackCopyKey(ctx);
       },
       child: SizedBox(
         height: 50,
@@ -313,7 +265,7 @@ class WalletOptions extends StatelessWidget {
               onPressed: () {
                 Clipboard.setData(
                     ClipboardData(text: walletProvider.address.text));
-                walletProvider.snackCopyKey(ctx);
+                snackCopyKey(ctx);
               },
               child: Row(children: <Widget>[
                 Image.asset(
diff --git a/lib/screens/onBoarding/1.dart b/lib/screens/onBoarding/1.dart
index e0e7c725dd6a20c4e53d85ea8eba3d0eb5e997a7..126c3b2a9963c3134eae3f363c7e82b53a7a0d0f 100644
--- a/lib/screens/onBoarding/1.dart
+++ b/lib/screens/onBoarding/1.dart
@@ -18,20 +18,30 @@ class OnboardingStepOne extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
-    CommonElements common = CommonElements();
+    ////TODO: Continue onbarding refactoring
 
     return Scaffold(
+        appBar: AppBar(
+          toolbarHeight: 60 * ratio,
+          title: const SizedBox(
+            height: 22,
+            child: Text(
+              'Nouveau portefeuille',
+              style: TextStyle(fontWeight: FontWeight.w600),
+            ),
+          ),
+        ),
         extendBodyBehindAppBar: true,
         body: SafeArea(
           child: Column(children: <Widget>[
-            common.onboardingProgressBar(
-                context, 'Nouveau portefeuilles', progress),
-            common.bubbleSpeak(
-                "Il semblerait que vous n’ayez pas encore de coffre.\n\nUn coffre vous permet de gérer un ou plusieurs portefeuilles.",
-                textKey: const Key('step1')),
+            // common.onboardingProgressBar(
+            //     context, 'Nouveau portefeuilles', progress),
+            // common.bubbleSpeak(
+            //     "Il semblerait que vous n’ayez pas encore de coffre.\n\nUn coffre vous permet de gérer un ou plusieurs portefeuilles.",
+            //     textKey: const Key('step1')),
             const SizedBox(height: 90),
             Image.asset(
-              'assets/onBoarding/keys-and-wallets-horizontal.png',
+              'assets/onBoarding/fabrication-de-portefeuille.png',
               height: 200,
             ),
             Expanded(
diff --git a/lib/screens/search_result.dart b/lib/screens/search_result.dart
index 5005a41134a29db007ed739cf99e8250331b06b5..d619d70845e335cc00f5f960c15528071bc2fb68 100644
--- a/lib/screens/search_result.dart
+++ b/lib/screens/search_result.dart
@@ -3,6 +3,7 @@ import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/providers/cesium_plus.dart';
 import 'package:gecko/models/g1_wallets_list.dart';
+import 'package:gecko/providers/wallet_options.dart';
 import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:gecko/providers/search.dart';
 import 'package:gecko/screens/wallet_view.dart';
@@ -133,6 +134,11 @@ class SearchResultScreen extends StatelessWidget {
                                         fontWeight: FontWeight.w500),
                                     textAlign: TextAlign.center),
                               ]),
+                              trailing: Column(
+                                  mainAxisAlignment: MainAxisAlignment.center,
+                                  children: [
+                                    balance(context, g1Wallet.pubkey!, 16)
+                                  ]),
                               subtitle: Row(children: <Widget>[
                                 Text(g1Wallet.id?.username ?? '',
                                     style: const TextStyle(
diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart
index 100dee28ae9b5e2dc17171ef625407a232eb9414..12aa8783ecf2e3aa7e81d2d2ab4bd1cce7e42603 100644
--- a/lib/screens/wallet_view.dart
+++ b/lib/screens/wallet_view.dart
@@ -2,15 +2,12 @@ import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/providers/cesium_plus.dart';
+import 'package:gecko/providers/wallet_options.dart';
 import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/providers/wallets_profiles.dart';
-import 'package:gecko/models/queries.dart';
 import 'package:gecko/screens/avatar_fullscreen.dart';
-import 'package:gecko/screens/common_elements.dart';
-import 'package:gecko/screens/history.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
-import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:provider/provider.dart';
 
 class WalletViewScreen extends StatelessWidget {
@@ -53,7 +50,8 @@ class WalletViewScreen extends StatelessWidget {
                   height: buttonSize,
                   child: ClipOval(
                     child: Material(
-                      color: const Color(0xffFFD58D), // button color
+                      color: Colors
+                          .grey[300], //const Color(0xffFFD58D), // button color
                       child: InkWell(
                           key: const Key('viewHistory'),
                           splashColor: orangeC, // inkwell color
@@ -64,19 +62,20 @@ class WalletViewScreen extends StatelessWidget {
                                       'assets/walletOptions/clock.png'),
                                   height: 90)),
                           onTap: () {
-                            _historyProvider.nPage = 1;
-                            Navigator.push(
-                              context,
-                              FaderTransition(
-                                  page: HistoryScreen(
-                                    pubkey: pubkey,
-                                    username: username ??
-                                        g1WalletsBox.get(pubkey)?.username,
-                                    avatar: avatar ??
-                                        g1WalletsBox.get(pubkey)?.avatar,
-                                  ),
-                                  isFast: false),
-                            );
+                            ////TODO: wait for subsquid indexer
+                            // _historyProvider.nPage = 1;
+                            // Navigator.push(
+                            //   context,
+                            //   FaderTransition(
+                            //       page: HistoryScreen(
+                            //         pubkey: pubkey,
+                            //         username: username ??
+                            //             g1WalletsBox.get(pubkey)?.username,
+                            //         avatar: avatar ??
+                            //             g1WalletsBox.get(pubkey)?.avatar,
+                            //       ),
+                            //       isFast: false),
+                            // );
                           }),
                     ),
                   ),
@@ -105,7 +104,7 @@ class WalletViewScreen extends StatelessWidget {
                                   height: 90)),
                           onTap: () {
                             Clipboard.setData(ClipboardData(text: pubkey));
-                            _historyProvider.snackCopyKey(context);
+                            snackCopyKey(context);
                           }),
                     ),
                   ),
@@ -286,21 +285,21 @@ class WalletViewScreen extends StatelessWidget {
                                   primary: orangeC, // background
                                   onPrimary: Colors.white, // foreground
                                 ),
-                                onPressed:
-                                    _walletViewProvider.payAmount.text != ''
-                                        ? () {
-                                            Navigator.push(
-                                              context,
-                                              MaterialPageRoute(
-                                                builder: (context) {
-                                                  return UnlockingWallet(
-                                                      wallet: defaultWallet,
-                                                      action: "pay");
-                                                },
-                                              ),
-                                            );
-                                          }
-                                        : null,
+                                onPressed: _walletViewProvider.payAmount.text !=
+                                        ''
+                                    ? () {
+                                        Navigator.push(
+                                          context,
+                                          MaterialPageRoute(
+                                            builder: (context) {
+                                              return UnlockingWallet(
+                                                  wallet: defaultWallet,
+                                                  action: "pay");
+                                            },
+                                          ),
+                                        );
+                                      }
+                                    : null,
                                 child: const Text(
                                   'Effectuer le virement',
                                   style: TextStyle(
@@ -352,7 +351,7 @@ class WalletViewScreen extends StatelessWidget {
                       key: const Key('copyPubkey'),
                       onTap: () {
                         Clipboard.setData(ClipboardData(text: pubkey));
-                        _historyProvider.snackCopyKey(context);
+                        snackCopyKey(context);
                       },
                       child: Text(
                         _historyProvider.getShortPubkey(pubkey!),
@@ -363,40 +362,45 @@ class WalletViewScreen extends StatelessWidget {
                       ),
                     ),
                   ]),
-                  const SizedBox(height: 10),
-                  if (username == null &&
-                      g1WalletsBox.get(pubkey)?.username == null)
-                    Query(
-                      options: QueryOptions(
-                        document: gql(getId),
-                        variables: {
-                          'pubkey': pubkey,
-                        },
-                      ),
-                      builder: (QueryResult result,
-                          {VoidCallback? refetch, FetchMore? fetchMore}) {
-                        if (result.isLoading || result.hasException) {
-                          return const Text('...');
-                        } else if (result.data!['idty'] == null ||
-                            result.data!['idty']['username'] == null) {
-                          g1WalletsBox.get(pubkey)?.username = '';
-                          return const Text('');
-                        } else {
-                          g1WalletsBox.get(pubkey)?.username =
-                              result.data!['idty']['username'] ?? '';
-                          return SizedBox(
-                            width: 230,
-                            child: Text(
-                              result.data!['idty']['username'] ?? '',
-                              style: const TextStyle(
-                                fontSize: 27,
-                                color: Color(0xff814C00),
-                              ),
-                            ),
-                          );
-                        }
-                      },
-                    ),
+                  const SizedBox(height: 25),
+                  Consumer<WalletOptionsProvider>(
+                      builder: (context, walletProvider, _) {
+                    return balance(context, pubkey!, 20);
+                  }),
+                  ////
+                  // if (username == null &&
+                  //     g1WalletsBox.get(pubkey)?.username == null)
+                  //   Query(
+                  //     options: QueryOptions(
+                  //       document: gql(getId),
+                  //       variables: {
+                  //         'pubkey': pubkey,
+                  //       },
+                  //     ),
+                  //     builder: (QueryResult result,
+                  //         {VoidCallback? refetch, FetchMore? fetchMore}) {
+                  //       if (result.isLoading || result.hasException) {
+                  //         return const Text('...');
+                  //       } else if (result.data!['idty'] == null ||
+                  //           result.data!['idty']['username'] == null) {
+                  //         g1WalletsBox.get(pubkey)?.username = '';
+                  //         return const Text('');
+                  //       } else {
+                  //         g1WalletsBox.get(pubkey)?.username =
+                  //             result.data!['idty']['username'] ?? '';
+                  //         return SizedBox(
+                  //           width: 230,
+                  //           child: Text(
+                  //             result.data!['idty']['username'] ?? '',
+                  //             style: const TextStyle(
+                  //               fontSize: 27,
+                  //               color: Color(0xff814C00),
+                  //             ),
+                  //           ),
+                  //         );
+                  //       }
+                  //     },
+                  //   ),
                   if (username == null &&
                       g1WalletsBox.get(pubkey)?.username != null)
                     SizedBox(
@@ -421,19 +425,20 @@ class WalletViewScreen extends StatelessWidget {
                       ),
                     ),
                   const SizedBox(height: 25),
-                  FutureBuilder(
-                      future: _cesiumPlusProvider.getName(pubkey),
-                      initialData: '...',
-                      builder: (context, snapshot) {
-                        return SizedBox(
-                          width: 230,
-                          child: Text(
-                            snapshot.data.toString(),
-                            style: const TextStyle(
-                                fontSize: 18, color: Colors.black),
-                          ),
-                        );
-                      }),
+                  //// To get Cs+ name
+                  // FutureBuilder(
+                  //     future: _cesiumPlusProvider.getName(pubkey),
+                  //     initialData: '...',
+                  //     builder: (context, snapshot) {
+                  //       return SizedBox(
+                  //         width: 230,
+                  //         child: Text(
+                  //           snapshot.data.toString(),
+                  //           style: const TextStyle(
+                  //               fontSize: 18, color: Colors.black),
+                  //         ),
+                  //       );
+                  //     }),
                   const SizedBox(height: 30),
                 ]),
             const Spacer(),
diff --git a/pubspec.lock b/pubspec.lock
index c069f08dbdabd946bf614686eac24f0fdd881489..12dc69daf9b3cec0265b436d53b3e8d925da8267 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -8,13 +8,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "40.0.0"
-  aes_ecb_pkcs5_flutter:
-    dependency: transitive
-    description:
-      name: aes_ecb_pkcs5_flutter
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.1.2"
   analyzer:
     dependency: transitive
     description:
@@ -349,6 +342,13 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_aes_ecb_pkcs5:
+    dependency: transitive
+    description:
+      name: flutter_aes_ecb_pkcs5
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.2"
   flutter_driver:
     dependency: "direct main"
     description: flutter
@@ -368,13 +368,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "5.4.3+7"
-  flutter_launcher_icons_maker:
-    dependency: "direct dev"
-    description:
-      name: flutter_launcher_icons_maker
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.10.2"
   flutter_lints:
     dependency: "direct main"
     description:
@@ -566,7 +559,7 @@ packages:
       name: http_parser
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.0.0"
+    version: "4.0.1"
   http_server:
     dependency: transitive
     description:
@@ -574,6 +567,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.0.0"
+  icons_launcher:
+    dependency: "direct dev"
+    description:
+      name: icons_launcher
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.1.8"
   image:
     dependency: transitive
     description:
@@ -615,7 +615,7 @@ packages:
       name: image_picker_ios
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.8.5+4"
+    version: "0.8.5+5"
   image_picker_platform_interface:
     dependency: transitive
     description:
@@ -914,7 +914,7 @@ packages:
       name: pdf
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.8.0"
+    version: "3.8.1"
   permission_handler:
     dependency: "direct main"
     description:
@@ -976,7 +976,7 @@ packages:
     description:
       path: "."
       ref: fixAndroidActivityVersion
-      resolved-ref: db17df1a7e421066dd88a16ed46c5cc945b77f82
+      resolved-ref: e33351cde5ea9b55d191772fe3b36f9dbb8277e6
       url: "https://github.com/poka-IT/sdk.git"
     source: git
     version: "0.4.5"
@@ -992,7 +992,7 @@ packages:
     description:
       path: printing
       ref: HEAD
-      resolved-ref: "726aab13746a4f515601febfb0824ba71dbe4f80"
+      resolved-ref: "95bbc1f33b7cb45f7a4b98088b96bc541fefc495"
       url: "https://github.com/DavBfr/dart_pdf.git"
     source: git
     version: "5.9.1"
@@ -1069,7 +1069,7 @@ packages:
       name: responsive_framework
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.8"
+    version: "0.1.9"
   rxdart:
     dependency: transitive
     description:
@@ -1306,6 +1306,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.3.0"
+  universal_io:
+    dependency: transitive
+    description:
+      name: universal_io
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.4"
   unorm_dart:
     dependency: "direct main"
     description:
@@ -1361,7 +1368,7 @@ packages:
       name: webkit_inspection_protocol
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.1"
+    version: "1.1.0"
   webview_flutter:
     dependency: transitive
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 586d40399d48cec934c7e7e489380f9738f0e774..e4409a5ce118e04fab49f4f19190a484d68d1b54 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -81,7 +81,9 @@ dependencies:
       ref: fixAndroidActivityVersion
 
 dev_dependencies:
-  flutter_launcher_icons_maker: ^0.10.2
+  # flutter_launcher_icons: ^0.9.2
+  # flutter_launcher_icons_maker: ^^0.10.2
+  icons_launcher: ^1.1.8
   build_runner: ^2.1.2
   flutter_test:
     sdk: flutter
@@ -95,6 +97,8 @@ flutter_icons:
   image_path: "assets/icon/gecko_flat.png"
   remove_alpha_ios: true
 
+uses-material-design: true
+
 # The following section is specific to Flutter.
 flutter:
   uses-material-design: true
diff --git a/release/android/build-apk.sh b/release/android/build-apk.sh
index 8589f33c89a894fcea01ba2022bdf909a13721c6..6a022b98c0fe03044b61a9cd95ec969d0062b636 100755
--- a/release/android/build-apk.sh
+++ b/release/android/build-apk.sh
@@ -19,7 +19,7 @@ cargo make
 
 # Build APK
 echo "Build APK..."
-flutter clean
+#flutter clean
 flutter build apk --release --build-name $VERSION --build-number $BUILD
 
 # Create artifacts folder
diff --git a/scripts/generateIcon.sh b/scripts/generateIcon.sh
index 518e86f7ce0aa3e21916487f2ffb8726852636b6..d81b5f549fdaa9f465ef0f5ad63989e039b8d3a5 100755
--- a/scripts/generateIcon.sh
+++ b/scripts/generateIcon.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
 
-flutter pub run flutter_launcher_icons_maker:main
+flutter pub run icons_launcher:main
 
 exit 0