diff --git a/assets/translations/en.json b/assets/translations/en.json
index 55570ff007d50c892ae02ff8bb1a3686f11a3d57..938cb7992497634b97cf22c7a820553fa3e5eed7 100644
--- a/assets/translations/en.json
+++ b/assets/translations/en.json
@@ -104,6 +104,7 @@
     "identityConfirmed": "Identity confirmed",
     "identityExpired": "Identity expired",
     "confirmYourIdentity": "Confirm your identity",
+    "noResult": "No results",
     "noDuniterNodeAvailableTryLater": "No Duniter node available, please try again later",
     "youAreConnectedToNode": "You are connected to node",
     "accountActivity": "Account activity",
@@ -210,5 +211,6 @@
     "displaySettings": "Display Settings",
     "indexer": "Indexer",
     "anAutoNodeChoosed": "A secure and valid node will be automatically used from a random list.",
-    "rootWallet": "Root Wallet"
+    "rootWallet": "Root Wallet",
+    "blockN": "block N°{}"
 }
\ No newline at end of file
diff --git a/assets/translations/es.json b/assets/translations/es.json
index 065c10ad0bd4bbe7366f081cbe2df8b193ebcef7..2cb824b3a48b364d3c180250ba437e035b8727d6 100644
--- a/assets/translations/es.json
+++ b/assets/translations/es.json
@@ -105,6 +105,7 @@
     "identityConfirmed": "Identidad confirmada",
     "identityExpired": "Identidad caducada",
     "confirmYourIdentity": "Confirma tu identidad",
+    "noResult": "Ningún resultado",
     "noDuniterNodeAvailableTryLater": "No hay ningún nodo Duniter disponible, por favor, inténtalo más tarde",
     "youAreConnectedToNode": "Estás conectado al nodo",
     "accountActivity": "Actividad de la cuenta",
@@ -211,5 +212,6 @@
     "displaySettings": "Parametros interficie",
     "indexer": "Indexer",
     "anAutoNodeChoosed": "Se usará automáticamente un nodo seguro y valido desde una lista aleatoria.",
-    "rootWallet": "Monedero raíz"
+    "rootWallet": "Monedero raíz",
+    "blockN": "bloque N°{}"
 }
diff --git a/assets/translations/fr.json b/assets/translations/fr.json
index 095b1ab6bc89e29fd90c5dc73be7d5bb49aac4aa..05a7e92bfb0e8d9e424dccdf894e314e643ac7fb 100644
--- a/assets/translations/fr.json
+++ b/assets/translations/fr.json
@@ -211,5 +211,6 @@
     "displaySettings": "Affichage",
     "indexer": "Indexer",
     "anAutoNodeChoosed": "Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.",
-    "rootWallet": "Portefeuille racine"
+    "rootWallet": "Portefeuille racine",
+    "blockN": "bloc N°{}"
 }
diff --git a/assets/translations/it.json b/assets/translations/it.json
index 82d561985372de45d89923fd26ebd6da9a0c799d..0d56e566332c95478a8e5145e5417df424bc7d8d 100644
--- a/assets/translations/it.json
+++ b/assets/translations/it.json
@@ -105,6 +105,7 @@
     "identityConfirmed": "Identitá confermata",
     "identityExpired": "Identitá scaduta",
     "confirmYourIdentity": "Conferma identitá",
+    "noResult": "Nessun risultato",
     "noDuniterNodeAvailableTryLater": "Non ci sono nodi Duniter disponibili, per favore, riprova piú tardi",
     "youAreConnectedToNode": "Sei connesso al nodo",
     "accountActivity": "Attivitá del conto",
@@ -211,5 +212,6 @@
     "displaySettings": "Impostazioni interfaccia",
     "indexer": "Indexer",
     "anAutoNodeChoosed": "Un nodo sicuro e valido sará automaticamente scelto da una lista casuale.",
-    "rootWallet": "Portafoglio radice"
+    "rootWallet": "Portafoglio radice",
+    "blockN": "blocco N°{}"
 }
\ No newline at end of file
diff --git a/lib/globals.dart b/lib/globals.dart
index 002369e8ab9d2a8e0c3eacd587f55a98e2cb7756..f743c25089cd7cb70a6942391b751cf37bda1324 100644
--- a/lib/globals.dart
+++ b/lib/globals.dart
@@ -54,6 +54,7 @@ late int udValue;
 
 // Indexer
 late DateTime startBlockchainTime;
+bool startBlockchainInitialized = false;
 
 late int currentUdIndex;
 
diff --git a/lib/providers/duniter_indexer.dart b/lib/providers/duniter_indexer.dart
index ec4c9e554793c1c184ec01a0769a8ab21598255e..6aa4430bf9cbc6babd2405a36b04938d42879b26 100644
--- a/lib/providers/duniter_indexer.dart
+++ b/lib/providers/duniter_indexer.dart
@@ -31,7 +31,7 @@ class DuniterIndexer with ChangeNotifier {
       final request = await client.postUrl(Uri.parse('$endpoint/v1/graphql'));
       final response = await request.close();
       if (response.statusCode != 200) {
-        log.d('INDEXER IS OFFILINE');
+        log.d('INDEXER IS OFFLINE');
         indexerEndpoint = '';
         isLoadingIndexer = false;
         notifyListeners();
@@ -47,7 +47,7 @@ class DuniterIndexer with ChangeNotifier {
         return true;
       }
     } catch (e) {
-      log.d('INDEXER IS OFFILINE');
+      log.d('INDEXER IS OFFLINE');
       indexerEndpoint = '';
       isLoadingIndexer = false;
       notifyListeners();
@@ -227,8 +227,12 @@ Future<bool> isIdtyExist(String name) async {
 
 Future<DateTime> getBlockStart() async {
   final result = await _execQuery(getBlockchainStartQ, {});
-  startBlockchainTime = DateTime.parse(result.data!['block'][0]['created_at']);
-  return startBlockchainTime;
+  if(!result.hasException){
+    startBlockchainTime = DateTime.parse(result.data!['block'][0]['created_at']);
+    startBlockchainInitialized = true;
+    return startBlockchainTime;
+  }
+  return DateTime(0,0,0,0,0); 
 }
 
 Future<QueryResult> _execQuery(
@@ -311,7 +315,7 @@ Map computeHistoryView(repository, lastDateDelimiter, isDouble) {
     finalAmount = '$amount $currencyName';
   }
 
-  if (date.compareTo(startBlockchainTime) < 0) {
+  if (startBlockchainInitialized && date.compareTo(startBlockchainTime) < 0) {
     isMigrationTime = true;
   } else {
     isMigrationTime = false;
diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart
index a6f6013ccfd31832118afba2dd986df22143956f..8275eb1b50ff0342958f9780e17b6accdf2b42bd 100644
--- a/lib/providers/substrate_sdk.dart
+++ b/lib/providers/substrate_sdk.dart
@@ -88,7 +88,12 @@ class SubstrateSdk with ChangeNotifier {
   }
 
   Future _getStorage(String call) async {
-    return await sdk.webView!.evalJavascript('api.query.$call');
+    try{
+      return await sdk.webView!.evalJavascript('api.query.$call');
+    }catch(e){
+      log.i("catched _getStorage error");
+      return Future(() {});
+    }
   }
 
   Future _getStorageConst(String call) async {
@@ -134,11 +139,14 @@ class SubstrateSdk with ChangeNotifier {
     if (certsCounterCache[address] == null) {
       certsCounterCache.putIfAbsent(address, () => []);
     }
-    certsCounterCache.update(
-        address,
-        (value) =>
-            [certsReceiver['receivedCount'], certsReceiver['issuedCount']]);
-
+    try{
+      certsCounterCache.update(
+          address,
+          (value) =>
+              [certsReceiver['receivedCount'] as int, certsReceiver['issuedCount'] as int]);
+    }catch(e){
+      // catching String to int error .. network error?
+    }
     return certsCounterCache[address]!;
   }
 
@@ -370,21 +378,24 @@ class SubstrateSdk with ChangeNotifier {
   // }
 
   Future initCurrencyParameters() async {
-    currencyParameters['ss58'] =
-        await _getStorageConst('system.ss58Prefix.words');
-    currencyParameters['minCertForMembership'] =
-        await _getStorageConst('wot.minCertForMembership.words');
-    currencyParameters['newAccountPrice'] =
-        await _getStorageConst('account.newAccountPrice.words');
-    currencyParameters['existentialDeposit'] =
-        await _getStorageConst('balances.existentialDeposit.words');
-    currencyParameters['certPeriod'] =
-        await _getStorageConst('cert.certPeriod.words');
-    currencyParameters['certMaxByIssuer'] =
-        await _getStorageConst('cert.maxByIssuer.words');
-    currencyParameters['certValidityPeriod'] =
-        await _getStorageConst('cert.validityPeriod.words');
-
+    try{
+      currencyParameters['ss58'] =
+          await _getStorageConst('system.ss58Prefix.words');
+      currencyParameters['minCertForMembership'] =
+          await _getStorageConst('wot.minCertForMembership.words');
+      currencyParameters['newAccountPrice'] =
+          await _getStorageConst('account.newAccountPrice.words');
+      currencyParameters['existentialDeposit'] =
+          await _getStorageConst('balances.existentialDeposit.words');
+      currencyParameters['certPeriod'] =
+          await _getStorageConst('cert.certPeriod.words');
+      currencyParameters['certMaxByIssuer'] =
+          await _getStorageConst('cert.maxByIssuer.words');
+      currencyParameters['certValidityPeriod'] =
+          await _getStorageConst('cert.validityPeriod.words');
+    }catch(e){
+      log.i('error while getting storageVals (network?)');
+    }
     log.i('currencyParameters: $currencyParameters');
   }
 
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index f4976796fbd029756ba4529169e3fc678d3533ba..66d3407372ad02b1f3b8d5ad919db649378533e6 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -116,11 +116,11 @@ class _HomeScreenState extends State<HomeScreen> {
               await sub.connectNode(context);
               // Currency parameters
               await sub.initCurrencyParameters();
+              // Indexer Blockchain start
+              getBlockStart();
             }
           }
-
-          // Indexer Blockchain start
-          getBlockStart();
+          
         });
         // await sub.connectNode(ctx);
       }
diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart
index a7002d5e7ad1683a21d8c2a4f505bfd727db26af..9406d74efe6bc539a32c32e46b792f1c2f0b42e0 100644
--- a/lib/screens/myWallets/wallets_home.dart
+++ b/lib/screens/myWallets/wallets_home.dart
@@ -17,6 +17,7 @@ import 'package:gecko/screens/myWallets/import_g1_v1.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
 import 'package:gecko/screens/myWallets/wallet_options.dart';
 import 'package:gecko/screens/wallet_view.dart';
+import 'package:gecko/screens/myWallets/choose_chest.dart';
 import 'package:gecko/widgets/balance.dart';
 import 'package:gecko/widgets/bottom_app_bar.dart';
 import 'package:gecko/widgets/commons/offline_info.dart';
@@ -222,23 +223,23 @@ class _WalletsHomeState extends State<WalletsHome> {
       const SizedBox(height: 20),
       InkWell(
         key: keyChangeChest,
-        onTap: null,
-        //  () {
-        //   Navigator.push(
-        //     context,
-        //     MaterialPageRoute(builder: (context) {
-        //       return const ChooseChest();
-        //     }),
-        //   );
-        // },
+        onTap:
+         () {
+          Navigator.push(
+            context,
+            MaterialPageRoute(builder: (context) {
+              return const ChooseChest();
+            }),
+          );
+        },
         child: SizedBox(
           width: 400,
           height: 60,
           child: Center(
               child: Text('changeChest'.tr(),
-                  style: TextStyle(
+                  style: const TextStyle(
                       fontSize: 22,
-                      color: Colors.grey[500],
+                      color: orangeC,
                       fontWeight: FontWeight.w500))),
         ),
       ),
diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart
index 18c61df61639754797160113e00dfeb5206bc10c..8b8be39de64afc105d06211c4ceff4a863456cb5 100644
--- a/lib/screens/settings.dart
+++ b/lib/screens/settings.dart
@@ -249,7 +249,7 @@ class SettingsScreen extends StatelessWidget {
                   height: sub.getConnectedEndpoint() == null ? 60 : 20,
                   child: Text(
                     sub.getConnectedEndpoint() ??
-                        "Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.",
+                        "anAutoNodeChoosed".tr(), //"Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.",
                     style: TextStyle(
                         fontSize: 15,
                         fontStyle: FontStyle.italic,
@@ -259,7 +259,7 @@ class SettingsScreen extends StatelessWidget {
               );
             }),
             Text(
-              'bloc N°${sub.blocNumber}',
+              'blockN'.tr(args: [sub.blocNumber.toString()]), //'bloc N°${sub.blocNumber}',
               style: TextStyle(fontSize: 14, color: Colors.grey[700]),
             )
           ],
@@ -386,7 +386,7 @@ class SettingsScreen extends StatelessWidget {
               height: 60,
               child: Text(
                 sub.getConnectedEndpoint() ??
-                    "Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.",
+                    "anAutoNodeChoosed".tr(), //"Un noeud sûr et valide sera choisi automatiquement parmis une liste aléatoire.",
                 style: TextStyle(
                     fontSize: 15,
                     fontStyle: FontStyle.italic,
diff --git a/lib/widgets/name_by_address.dart b/lib/widgets/name_by_address.dart
index dd26abc4cb9844ac94c1d2b8eb1061e67ca6d9f1..483603b81e55b1a8bb08845082b1a195d69463d2 100644
--- a/lib/widgets/name_by_address.dart
+++ b/lib/widgets/name_by_address.dart
@@ -1,3 +1,4 @@
+import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/g1_wallets_list.dart';
@@ -55,8 +56,11 @@ class NameByAddress extends StatelessWidget {
           ),
           builder: (QueryResult result,
               {VoidCallback? refetch, FetchMore? fetchMore}) {
-            if (result.hasException) {
-              return Text(result.exception.toString());
+                
+            if (kDebugMode) {
+              if (result.hasException) {
+                return Text(result.exception.toString());
+              }
             }
 
             if (result.isLoading) {
diff --git a/lib/widgets/search_identity_query.dart b/lib/widgets/search_identity_query.dart
index 6f95858258d8d091dc45ff517c5f52aa6557f1be..b6225b48aa27c2c3fbe6fc6a5b986f4755b63e10 100644
--- a/lib/widgets/search_identity_query.dart
+++ b/lib/widgets/search_identity_query.dart
@@ -1,4 +1,5 @@
 import 'package:easy_localization/easy_localization.dart';
+import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/queries_indexer.dart';
@@ -24,7 +25,7 @@ class SearchIdentityQuery extends StatelessWidget {
     final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
     final searchProvider = Provider.of<SearchProvider>(context, listen: false);
     if (indexerEndpoint == '') {
-      return const Text('Aucun résultat');
+      return Text('noResult'.tr());
     }
 
     log.d(indexerEndpoint);
@@ -52,8 +53,11 @@ class SearchIdentityQuery extends StatelessWidget {
           ),
           builder: (QueryResult result,
               {VoidCallback? refetch, FetchMore? fetchMore}) {
-            if (result.hasException) {
-              return Text(result.exception.toString());
+
+            if (kDebugMode) {
+              if (result.hasException) {
+                return Text(result.exception.toString());
+              }
             }
 
             if (result.isLoading) {