diff --git a/lib/globals.dart b/lib/globals.dart
index 1c7816f55200bb3890d6b2dd0a58c922da8d615b..1b3913cf9cf994f71f89046f461b21a45f5f459d 100644
--- a/lib/globals.dart
+++ b/lib/globals.dart
@@ -8,7 +8,7 @@ import 'package:logger/logger.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 
 // Version of box data
-const int dataVersion = 1;
+const int dataVersion = 2;
 
 // Files paths
 Directory? appPath;
diff --git a/lib/main.dart b/lib/main.dart
index f534cf7b2b9b3bdbe3b27792fa408a8dfc87dd8d..d1e3a768eb015316f0acfb716ad5768f544e7343 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -73,6 +73,7 @@ Future<void> main() async {
   await Hive.deleteBoxFromDisk('g1WalletsBox');
   g1WalletsBox = await Hive.openBox<G1WalletsList>("g1WalletsBox");
 
+
   // keystoreBox = await Hive.openBox("keystoreBox");
 
   // g1WalletsBox.clear();
diff --git a/lib/models/chest_data.dart b/lib/models/chest_data.dart
index cd9ab30cfe4465f75ea8e827dc164de7012987dc..7e04b13d8b863cac48fe41c0264d82310d60a9fd 100644
--- a/lib/models/chest_data.dart
+++ b/lib/models/chest_data.dart
@@ -7,29 +7,21 @@ part 'chest_data.g.dart';
 @HiveType(typeId: 1)
 class ChestData extends HiveObject {
   @HiveField(0)
-  String? address;
-
-  @HiveField(1)
-  String? rootAddress;
-
-  @HiveField(2)
   String? name;
 
-  @HiveField(3)
+  @HiveField(1)
   int? defaultWallet;
 
-  @HiveField(4)
+  @HiveField(2)
   String? imageName;
 
-  @HiveField(5)
+  @HiveField(3)
   File? imageFile;
 
-  @HiveField(6)
+  @HiveField(4)
   bool? isCesium;
 
   ChestData({
-    this.address,
-    this.rootAddress,
     this.name,
     this.defaultWallet,
     this.imageName,
diff --git a/lib/models/chest_data.g.dart b/lib/models/chest_data.g.dart
index b853f39473d8acb05eac100940fee8f1ad07f4fb..b547a6b58fbc95302ee52e74e924008160e5a145 100644
--- a/lib/models/chest_data.g.dart
+++ b/lib/models/chest_data.g.dart
@@ -17,33 +17,27 @@ class ChestDataAdapter extends TypeAdapter<ChestData> {
       for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
     };
     return ChestData(
-      address: fields[0] as String?,
-      rootAddress: fields[1] as String?,
-      name: fields[2] as String?,
-      defaultWallet: fields[3] as int?,
-      imageName: fields[4] as String?,
-      imageFile: fields[5] as File?,
-      isCesium: fields[6] as bool?,
+      name: fields[0] as String?,
+      defaultWallet: fields[1] as int?,
+      imageName: fields[2] as String?,
+      imageFile: fields[3] as File?,
+      isCesium: fields[4] as bool?,
     );
   }
 
   @override
   void write(BinaryWriter writer, ChestData obj) {
     writer
-      ..writeByte(7)
+      ..writeByte(5)
       ..writeByte(0)
-      ..write(obj.address)
-      ..writeByte(1)
-      ..write(obj.rootAddress)
-      ..writeByte(2)
       ..write(obj.name)
-      ..writeByte(3)
+      ..writeByte(1)
       ..write(obj.defaultWallet)
-      ..writeByte(4)
+      ..writeByte(2)
       ..write(obj.imageName)
-      ..writeByte(5)
+      ..writeByte(3)
       ..write(obj.imageFile)
-      ..writeByte(6)
+      ..writeByte(4)
       ..write(obj.isCesium);
   }
 
diff --git a/lib/providers/generate_wallets.dart b/lib/providers/generate_wallets.dart
index 56d8127d8e4d57573578eae7e9017fdc0d3eddee..af03416ccfc24fee9bc0303720436b57d89f3954 100644
--- a/lib/providers/generate_wallets.dart
+++ b/lib/providers/generate_wallets.dart
@@ -71,7 +71,6 @@ class GenerateWalletsProvider with ChangeNotifier {
       chestName = 'Coffre à Ğecko ${chestNumber + 1}';
     }
     ChestData thisChest = ChestData(
-      address: address,
       name: chestName,
       defaultWallet: 0,
       imageName: '${chestNumber % 8}.png',
diff --git a/lib/providers/my_wallets.dart b/lib/providers/my_wallets.dart
index 536295c62b4e2964e263506ada60fa1179487669..2ba85661989f2d40de998665ae734c7705438054 100644
--- a/lib/providers/my_wallets.dart
+++ b/lib/providers/my_wallets.dart
@@ -1,7 +1,6 @@
 import 'package:flutter/material.dart';
 import 'dart:async';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/chest_data.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/providers/substrate_sdk.dart';
 import 'package:gecko/screens/common_elements.dart';
@@ -73,7 +72,7 @@ class MyWalletsProvider with ChangeNotifier {
     try {
       log.w('DELETE ALL WALLETS ?');
 
-      final bool? _answer = await (confirmPopop(
+      final bool? _answer = await (confirmPopup(
           context, 'Êtes-vous sûr de vouloir oublier tous vos coffres ?'));
       if (_answer!) {
         await walletBox.clear();
@@ -92,6 +91,9 @@ class MyWalletsProvider with ChangeNotifier {
   }
 
   Future<void> generateNewDerivation(context, String _name) async {
+    MyWalletsProvider _myWalletProvider =
+        Provider.of<MyWalletsProvider>(context, listen: false);
+
     isNewDerivationLoading = true;
     notifyListeners();
     int _newDerivationNbr;
@@ -107,17 +109,12 @@ class MyWalletsProvider with ChangeNotifier {
       _newDerivationNbr = _walletConfig.last.derivation! + 2;
       _newWalletNbr = _walletConfig.last.number! + 1;
     }
-
-    MyWalletsProvider myWalletProvider =
-        Provider.of<MyWalletsProvider>(context, listen: false);
-
     SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
 
-    final int? _currentChestNumber = myWalletProvider.getCurrentChest();
-    final ChestData _currentChest = chestBox.get(_currentChestNumber)!;
+    WalletData defaultWallet = _myWalletProvider.getDefaultWallet()!;
 
     final address = await _sub.derive(
-        context, _currentChest.address!, _newDerivationNbr, pinCode);
+        context, defaultWallet.address!, _newDerivationNbr, pinCode);
 
     WalletData newWallet = WalletData(
         version: dataVersion,
diff --git a/lib/providers/wallet_options.dart b/lib/providers/wallet_options.dart
index 1ae0c36d675f1814e22459c3b9f163b5316ecefb..02aeef828b7b5d2eb12a7b8653841b660e9551bc 100644
--- a/lib/providers/wallet_options.dart
+++ b/lib/providers/wallet_options.dart
@@ -58,16 +58,14 @@ class WalletOptionsProvider with ChangeNotifier {
   }
 
   Future<int> deleteWallet(context, WalletData wallet) async {
-    final bool? _answer = await (confirmPopop(context,
+    SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
+    final bool? _answer = await (confirmPopup(context,
         'Êtes-vous sûr de vouloir oublier le portefeuille "${wallet.name}" ?'));
 
     if (_answer!) {
       await walletBox.delete(wallet.key);
+      await _sub.deleteAccounts([wallet.address!]);
 
-      // Navigator.popUntil(
-      //   context,
-      //   ModalRoute.withName('/mywallets'),
-      // );
       Navigator.pop(context);
     }
     return 0;
diff --git a/lib/screens/common_elements.dart b/lib/screens/common_elements.dart
index f9daa8f7d9f1995bfb6b874dd2d2889dd95c3f18..e78c7ff76cb7abee6f91e6a9e21e24182ace5386 100644
--- a/lib/screens/common_elements.dart
+++ b/lib/screens/common_elements.dart
@@ -192,53 +192,90 @@ class FaderTransition extends PageRouteBuilder {
         );
 }
 
-Future<bool?> confirmPopop(BuildContext context, String title) async {
-    return showDialog<bool>(
-      context: context,
-      barrierDismissible: true, // user must tap button!
-      builder: (BuildContext context) {
-        return AlertDialog(
-          backgroundColor: backgroundColor,
-          content: Text(
-            title,
-            textAlign: TextAlign.center,
-            style: const TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
-          ),
-          actions: <Widget>[
-            Row(
-              mainAxisAlignment: MainAxisAlignment.center,
-              children: [
-                TextButton(
-                  key: const Key('confirmPopop'),
-                  child: const Text(
-                    "Oui",
-                    style: TextStyle(
-                      fontSize: 21,
-                      color: Color(0xffD80000),
-                    ),
+Future<bool?> confirmPopup(BuildContext context, String title) async {
+  return showDialog<bool>(
+    context: context,
+    barrierDismissible: true, // user must tap button!
+    builder: (BuildContext context) {
+      return AlertDialog(
+        backgroundColor: backgroundColor,
+        content: Text(
+          title,
+          textAlign: TextAlign.center,
+          style: const TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
+        ),
+        actions: <Widget>[
+          Row(
+            mainAxisAlignment: MainAxisAlignment.center,
+            children: [
+              TextButton(
+                key: const Key('confirmPopop'),
+                child: const Text(
+                  "Oui",
+                  style: TextStyle(
+                    fontSize: 21,
+                    color: Color(0xffD80000),
                   ),
-                  onPressed: () {
-                    Navigator.pop(context, true);
-                  },
                 ),
-                const SizedBox(width: 20),
-                TextButton(
-                  child: const Text(
-                    "Non",
-                    style: TextStyle(fontSize: 21),
+                onPressed: () {
+                  Navigator.pop(context, true);
+                },
+              ),
+              const SizedBox(width: 20),
+              TextButton(
+                child: const Text(
+                  "Non",
+                  style: TextStyle(fontSize: 21),
+                ),
+                onPressed: () {
+                  Navigator.pop(context, false);
+                },
+              ),
+              const SizedBox(height: 120)
+            ],
+          )
+        ],
+      );
+    },
+  );
+}
+
+Future<void> infoPopup(BuildContext context, String title) async {
+  return showDialog<void>(
+    context: context,
+    barrierDismissible: true, // user must tap button!
+    builder: (BuildContext context) {
+      return AlertDialog(
+        backgroundColor: backgroundColor,
+        content: Text(
+          title,
+          textAlign: TextAlign.center,
+          style: const TextStyle(fontSize: 20, fontWeight: FontWeight.w500),
+        ),
+        actions: <Widget>[
+          Row(
+            mainAxisAlignment: MainAxisAlignment.center,
+            children: [
+              TextButton(
+                key: const Key('infoPopup'),
+                child: const Text(
+                  "D'accord",
+                  style: TextStyle(
+                    fontSize: 21,
+                    color: Color(0xffD80000),
                   ),
-                  onPressed: () {
-                    Navigator.pop(context, false);
-                  },
                 ),
-                const SizedBox(height: 120)
-              ],
-            )
-          ],
-        );
-      },
-    );
-  }
+                onPressed: () {
+                  Navigator.pop(context, true);
+                },
+              ),
+            ],
+          )
+        ],
+      );
+    },
+  );
+}
 
 // Widget geckoAppBar() {
 //   return AppBar(
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index ec7ef45741c5d844a71b84072f8b0bd86bd6eed0..55bc56a7266f58fb1a51b2daea0fb1f1ed004358 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -7,6 +7,7 @@ import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
+import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/myWallets/restore_chest.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
 import 'package:gecko/screens/onBoarding/1.dart';
@@ -102,6 +103,17 @@ class HomeScreen extends StatelessWidget {
               WidgetsBinding.instance.addPostFrameCallback((_) async {
                 if (!_sub.sdkReady && !_sub.sdkLoading) await _sub.initApi();
                 if (_sub.sdkReady && !_sub.nodeConnected) {
+                  if (walletBox.isNotEmpty &&
+                      walletBox.getAt(0)!.version! < dataVersion) {
+                    await infoPopup(context,
+                        "La version de vos coffres n'est plus comptabile avec cette version de Ğecko.\nTous vos coffres vont être oubliés, vous devez les importer de nouveau.");
+                    await walletBox.clear();
+                    await chestBox.clear();
+                    await configBox.delete('defaultWallet');
+                    await _sub.deleteAllAccounts();
+                    _myWalletProvider.rebuildWidget();
+                  }
+
                   await _sub.connectNode(ctx); //kopa
                 }
               });
diff --git a/lib/screens/myWallets/change_pin.dart b/lib/screens/myWallets/change_pin.dart
index 1f038e096c756c70152fd2fee8ff03877b607207..52e88ddd2f9902ad87569e820b918f6648b1e4c1 100644
--- a/lib/screens/myWallets/change_pin.dart
+++ b/lib/screens/myWallets/change_pin.dart
@@ -3,6 +3,7 @@ import 'package:durt/durt.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:gecko/models/stateful_wrapper.dart';
+import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/providers/substrate_sdk.dart';
 import 'dart:io';
@@ -26,6 +27,8 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier {
   Widget build(BuildContext context) {
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
     SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
+    MyWalletsProvider _myWalletProvider =
+        Provider.of<MyWalletsProvider>(context, listen: false);
 
     return WillPopScope(
       onWillPop: () {
@@ -100,9 +103,11 @@ class ChangePinScreen extends StatelessWidget with ChangeNotifier {
                     onPrimary: Colors.black, // foreground
                   ),
                   onPressed: () async {
-                    final _chest = chestBox.get(configBox.get('currentChest'));
+                    WalletData defaultWallet =
+                        _myWalletProvider.getDefaultWallet()!;
+
                     await _sub.changePassword(
-                        _chest!.address!, walletProvider.pinCode, newPin.text);
+                        defaultWallet.address!, walletProvider.pinCode, newPin.text);
                     walletProvider.pinCode = newPin.text;
                     newPin.text = '';
                     Navigator.pop(context);
diff --git a/lib/screens/myWallets/show_seed.dart b/lib/screens/myWallets/show_seed.dart
index c05d794276fc991083605ecf45886d51a584e5a9..8d035d817c36bd62369050fd0ea4271bb1a2f909 100644
--- a/lib/screens/myWallets/show_seed.dart
+++ b/lib/screens/myWallets/show_seed.dart
@@ -2,6 +2,7 @@ import 'dart:typed_data';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
+import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/providers/substrate_sdk.dart';
 import 'package:gecko/screens/common_elements.dart';
@@ -22,14 +23,14 @@ class ShowSeed extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
-    // HomeProvider _homeProvider = Provider.of<HomeProvider>(context);
+        MyWalletsProvider _myWalletProvider =
+        Provider.of<MyWalletsProvider>(context, listen: false);
     CommonElements common = CommonElements();
 
     SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
 
-    final _chest = chestBox.get(configBox.get('currentChest'));
-    //  _sub.changePassword(
-    //     _chest!.address!, walletProvider.pinCode, newPin.text);
+WalletData defaultWallet =
+                        _myWalletProvider.getDefaultWallet()!;
 
     return Scaffold(
         backgroundColor: backgroundColor,
@@ -43,7 +44,7 @@ class ShowSeed extends StatelessWidget {
           child: Column(children: <Widget>[
             const Spacer(flex: 1),
             FutureBuilder(
-                future: _sub.getSeed(_chest!.address!, walletProvider.pinCode),
+                future: _sub.getSeed(defaultWallet.address!, walletProvider.pinCode),
                 builder: (BuildContext context, AsyncSnapshot<String?> _seed) {
                   if (_seed.connectionState != ConnectionState.done ||
                       _seed.hasError) {
diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart
index 2b793e4aab01dfd8838dbf1e4397f68169223638..64acdaf73632c2a1bc309923fb0fbdc3a1fbf7d0 100644
--- a/lib/screens/myWallets/unlocking_wallet.dart
+++ b/lib/screens/myWallets/unlocking_wallet.dart
@@ -42,6 +42,7 @@ class UnlockingWallet extends StatelessWidget {
 
     currentChestNumber = configBox.get('currentChest');
     currentChest = chestBox.get(currentChestNumber)!;
+
     int _pinLenght = _walletOptions.getPinLenght(wallet!.number);
     errorController = StreamController<ErrorAnimationType>();
 
@@ -145,9 +146,10 @@ class UnlockingWallet extends StatelessWidget {
         Provider.of<WalletOptionsProvider>(context);
     MyWalletsProvider _myWalletProvider =
         Provider.of<MyWalletsProvider>(context);
-
     SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
 
+    WalletData? defaultWallet = _myWalletProvider.getDefaultWallet();
+
     FocusNode pinFocus = FocusNode();
 
     return Form(
@@ -201,7 +203,7 @@ class UnlockingWallet extends StatelessWidget {
               _myWalletProvider.pinCode = _pin.toUpperCase();
 
               final isValid = await _sub.checkPassword(
-                  currentChest.address!, _pin.toUpperCase());
+                  defaultWallet!.address!, _pin.toUpperCase());
 
               if (!isValid) {
                 await Future.delayed(const Duration(milliseconds: 50));
diff --git a/lib/screens/onBoarding/5.dart b/lib/screens/onBoarding/5.dart
index 86a9e9fc4a410844cc1ae51aa695ed120dc9e65c..596d1b29d44a4dbdd92d4b5adfe0a26e6501c2ad 100644
--- a/lib/screens/onBoarding/5.dart
+++ b/lib/screens/onBoarding/5.dart
@@ -12,18 +12,26 @@ import 'package:provider/provider.dart';
 
 AsyncSnapshot<List>? mnemoList;
 
-class OnboardingStepFive extends StatelessWidget {
+class OnboardingStepFive extends StatefulWidget {
   const OnboardingStepFive({Key? key, this.skipIntro = false})
       : super(key: key);
   final bool skipIntro;
 
+  @override
+  State<StatefulWidget> createState() {
+    return _ChooseChestState();
+  }
+}
+
+// ignore: unused_element
+class _ChooseChestState extends State<OnboardingStepFive> {
   @override
   Widget build(BuildContext context) {
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
     GenerateWalletsProvider _generateWalletProvider =
         Provider.of<GenerateWalletsProvider>(context, listen: false);
 
-    CommonElements common = CommonElements();
+    final CommonElements common = CommonElements();
 
     return Scaffold(
       backgroundColor: backgroundColor,
@@ -82,8 +90,8 @@ class OnboardingStepFive extends StatelessWidget {
                       onPrimary: Colors.black, // foreground
                     ),
                     onPressed: () {
-                      _generateWalletProvider.reloadBuild();
-                      // setState(() {});
+                      // _generateWalletProvider.reloadBuild();
+                      setState(() {});
                     },
                     child: Text("Choisir une autre phrase",
                         style: TextStyle(
@@ -93,7 +101,7 @@ class OnboardingStepFive extends StatelessWidget {
             ),
           ),
           SizedBox(height: 22 * ratio),
-          nextButton(context, "J'ai noté ma phrase", false, skipIntro),
+          nextButton(context, "J'ai noté ma phrase", false, widget.skipIntro),
           SizedBox(height: 35 * ratio),
         ]),
       ),
@@ -103,7 +111,7 @@ class OnboardingStepFive extends StatelessWidget {
 
 Widget sentanceArray(BuildContext context) {
   GenerateWalletsProvider _generateWalletProvider =
-      Provider.of<GenerateWalletsProvider>(context);
+      Provider.of<GenerateWalletsProvider>(context, listen: false);
 
   return Padding(
     padding: const EdgeInsets.symmetric(horizontal: 3),
@@ -181,7 +189,7 @@ class PrintWallet extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     GenerateWalletsProvider _generateWalletProvider =
-        Provider.of<GenerateWalletsProvider>(context);
+        Provider.of<GenerateWalletsProvider>(context, listen: false);
     return MaterialApp(
       home: Scaffold(
         appBar: AppBar(
diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart
index 308e6b09762331c0e9cf4d3026220ee50d63e947..ebbf720ebe9bd7526d8371ed50fbeaf7232b4679 100644
--- a/lib/screens/wallet_view.dart
+++ b/lib/screens/wallet_view.dart
@@ -76,7 +76,7 @@ class WalletViewScreen extends StatelessWidget {
                                       'assets/walletOptions/clock.png'),
                                   height: 90)),
                           onTap: () {
-                            ////TODO: wait for subsquid indexer
+                            //// Wait for subsquid indexer
                             // _historyProvider.nPage = 1;
                             // Navigator.push(
                             //   context,
diff --git a/pubspec.yaml b/pubspec.yaml
index d6ed34070bd1cf2908d8106d7af471a7c3f7e9f9..fac9f3eda32db55abeb03995606e4d7dd5bf6c3a 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -5,7 +5,7 @@ description: Pay with G1.
 # pub.dev using `pub publish`. This is preferred for private packages.
 publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 
-version: 0.0.7+2
+version: 0.0.7+3
 
 environment:
   sdk: '>=2.12.0 <3.0.0'