diff --git a/lib/providers/home.dart b/lib/providers/home.dart
index d43e581cd3f87be3acc41f5667b0aff0b57c5d1c..5a5425689ee090652601089e7451dfb0d800c735 100644
--- a/lib/providers/home.dart
+++ b/lib/providers/home.dart
@@ -13,7 +13,7 @@ import 'package:gecko/providers/wallets_profiles.dart';
 import 'package:gecko/screens/myWallets/unlocking_wallet.dart';
 import 'package:gecko/screens/search.dart';
 import 'package:hive_flutter/hive_flutter.dart';
-import 'package:flutter/foundation.dart' show kIsWeb;
+import 'package:flutter/foundation.dart' show kDebugMode, kIsWeb;
 import 'package:path_provider/path_provider.dart' as pp;
 import 'package:package_info_plus/package_info_plus.dart';
 import 'package:path_provider/path_provider.dart';
@@ -63,7 +63,9 @@ class HomeProvider with ChangeNotifier {
     String buildNumber;
     PackageInfo packageInfo = await PackageInfo.fromPlatform();
     version = packageInfo.version;
-    buildNumber = packageInfo.buildNumber;
+    buildNumber = kDebugMode
+        ? packageInfo.buildNumber
+        : (int.parse(packageInfo.buildNumber) - 1000).toString();
 
     notifyListeners();
     return version + '+' + buildNumber;
diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart
index 367ecfd189137097d706c1574349ee515c3713f2..ef592c492012a1d7dca26fc61b3af441a885865d 100644
--- a/lib/providers/substrate_sdk.dart
+++ b/lib/providers/substrate_sdk.dart
@@ -3,6 +3,8 @@
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
+import 'package:gecko/models/chest_data.dart';
+import 'package:gecko/models/wallet_data.dart';
 import 'package:polkawallet_sdk/api/apiKeyring.dart';
 import 'package:polkawallet_sdk/api/types/networkParams.dart';
 import 'package:polkawallet_sdk/api/types/txInfoData.dart';
@@ -205,6 +207,18 @@ class SubstrateSdk with ChangeNotifier {
     return balance;
   }
 
+  Future<double> subscribeBalance(String address, {bool isUd = false}) async {
+    double balance = 0.0;
+    if (nodeConnected) {
+      await sdk.api.account.subscribeBalance(address, (_balance) {
+        balance = int.parse(_balance.freeBalance) / 100;
+        notifyListeners();
+      });
+    }
+
+    return balance;
+  }
+
   KeyPairData getKeypair(String address) {
     return keyring.keyPairs.firstWhere((kp) => kp.address == address,
         orElse: (() => KeyPairData()));
@@ -251,9 +265,14 @@ class SubstrateSdk with ChangeNotifier {
     return gen.mnemonic!;
   }
 
-  String setCurrentWallet(String address) {
+  Future<String> setCurrentWallet(WalletData _wallet) async {
+    final currentChestNumber = configBox.get('currentChest');
+    ChestData _newChestData = chestBox.get(currentChestNumber)!;
+    _newChestData.defaultWallet = _wallet.number;
+    await chestBox.put(currentChestNumber, _newChestData);
+
     try {
-      final acc = getKeypair(address);
+      final acc = getKeypair(_wallet.address!);
       keyring.setCurrent(acc);
       return acc.address!;
     } catch (e) {
@@ -277,7 +296,7 @@ class SubstrateSdk with ChangeNotifier {
       required String password}) async {
     transactionStatus = '';
 
-    setCurrentWallet(fromAddress);
+    // setCurrentWallet(fromAddress);
 
     log.d(keyring.current.address);
     log.d(fromAddress);
@@ -327,7 +346,7 @@ class SubstrateSdk with ChangeNotifier {
       String fromAddress, String password, String toAddress) async {
     transactionStatus = '';
 
-    setCurrentWallet(fromAddress);
+    // setCurrentWallet(fromAddress);
     log.d('me: ' + fromAddress);
     log.d('to: ' + toAddress);
 
@@ -425,7 +444,7 @@ class SubstrateSdk with ChangeNotifier {
   Future<String> confirmIdentity(
       String fromAddress, String name, String password) async {
     // Confirm identity
-    setCurrentWallet(fromAddress);
+    // setCurrentWallet(fromAddress);
     log.d('me: ' + keyring.current.address!);
 
     final sender = TxSenderData(
diff --git a/lib/providers/wallets_profiles.dart b/lib/providers/wallets_profiles.dart
index 564c20f7ffb454a278595ed315c80938e3622d6d..70c9bd141a6952a51390dbdad44038b63fb802c9 100644
--- a/lib/providers/wallets_profiles.dart
+++ b/lib/providers/wallets_profiles.dart
@@ -15,7 +15,6 @@ class WalletsProfilesProvider with ChangeNotifier {
 
   String? pubkey = '';
   String pubkeyShort = '';
-  final TextEditingController outputPubkey = TextEditingController();
   List? transBC;
   String? fetchMoreCursor;
   Map? pageInfo;
@@ -40,7 +39,6 @@ class WalletsProfilesProvider with ChangeNotifier {
       return 'false';
     }
     if (barcode != null && isPubkey(barcode)) {
-      outputPubkey.text = barcode;
       Navigator.push(
         context,
         MaterialPageRoute(builder: (context) {
@@ -85,17 +83,6 @@ class WalletsProfilesProvider with ChangeNotifier {
       log.d("C'est une pubkey !");
 
       this.pubkey = pubkey;
-      // getShortPubkey(pubkey);
-
-      // outputPubkey.text = pubkey;
-
-      // Navigator.push(
-      //   context,
-      //   MaterialPageRoute(builder: (context) {
-      //     return const WalletViewScreen();
-      //   }),
-      // );
-      // notifyListeners();
 
       return true;
     } else {
@@ -212,7 +199,6 @@ class WalletsProfilesProvider with ChangeNotifier {
   }
 
   void resetdHistory() {
-    outputPubkey.text = '';
     notifyListeners();
   }
 
diff --git a/lib/screens/myWallets/choose_wallet.dart b/lib/screens/myWallets/choose_wallet.dart
index cdd600083d971d7e6d4621d223554b11e7b2fd1a..d6c5a8008573e369c6604d32fc21b66fac102e71 100644
--- a/lib/screens/myWallets/choose_wallet.dart
+++ b/lib/screens/myWallets/choose_wallet.dart
@@ -1,11 +1,11 @@
+import 'dart:io';
+
 import 'package:flutter/services.dart';
 import 'package:gecko/globals.dart';
 import 'package:flutter/material.dart';
-import 'package:gecko/models/chest_data.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/providers/wallets_profiles.dart';
 import 'package:gecko/screens/myWallets/wallets_home.dart';
 import 'package:provider/provider.dart';
 // import 'package:gecko/models/home.dart';
@@ -17,14 +17,13 @@ class ChooseWalletScreen extends StatelessWidget {
       : super(key: key);
   final int chest;
   final String pin;
-  int? _derivation;
-  List<int?>? _selectedId;
+  WalletData? selectedWallet;
 
   @override
   Widget build(BuildContext context) {
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
 
-    // HomeProvider _homeProvider = Provider.of<HomeProvider>(context);
     return Scaffold(
         appBar: AppBar(
             toolbarHeight: 60 * ratio,
@@ -49,6 +48,11 @@ class ChooseWalletScreen extends StatelessWidget {
                       onPrimary: Colors.white, // foreground
                     ),
                     onPressed: () async {
+                      await _sub.setCurrentWallet(selectedWallet!);
+
+                      // _walletViewProvider.reload();
+                      _sub.reload();
+
                       Navigator.pop(context);
                       Navigator.pop(context);
                       Navigator.pop(context);
@@ -62,7 +66,6 @@ class ChooseWalletScreen extends StatelessWidget {
                 ),
               ),
             ),
-            // const SizedBox(height: 160),
           ]),
         ));
   }
@@ -70,16 +73,12 @@ class ChooseWalletScreen extends StatelessWidget {
   Widget myWalletsTiles(BuildContext context, int? currentChest) {
     MyWalletsProvider _myWalletProvider =
         Provider.of<MyWalletsProvider>(context);
-    final bool isWalletsExists = _myWalletProvider.checkIfWalletExist();
-    SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
-    WalletsProfilesProvider _walletViewProvider =
-        Provider.of<WalletsProfilesProvider>(context, listen: false);
+    // SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
 
+    final bool isWalletsExists = _myWalletProvider.checkIfWalletExist();
     WalletData? defaultWallet = _myWalletProvider.getDefaultWallet();
 
-    _selectedId ??= defaultWallet!.id();
-    _derivation ??= defaultWallet!.derivation!;
-    _sub.setCurrentWallet(defaultWallet!.address!);
+    selectedWallet ??= defaultWallet!;
     _myWalletProvider.readAllWallets(currentChest);
 
     if (!isWalletsExists) {
@@ -120,14 +119,8 @@ class ChooseWalletScreen extends StatelessWidget {
                   padding: const EdgeInsets.all(16),
                   child: GestureDetector(
                     onTap: () {
-                      _derivation = _repository.derivation!;
-                      _selectedId = _repository.id();
-                      chestBox.get(currentChest)!.defaultWallet =
-                          _repository.number;
-
-                      _sub.setCurrentWallet(_repository.address!);
+                      selectedWallet = _repository;
                       _myWalletProvider.rebuildWidget();
-                      _walletViewProvider.reload();
                     },
                     child: ClipOvalShadow(
                       shadow: const Shadow(
@@ -158,10 +151,19 @@ class ChooseWalletScreen extends StatelessWidget {
                                     alignment: Alignment.bottomCenter,
                                     scale: 0.5,
                                   )
-                                : Image.asset(
-                                    _repository.imageCustomPath!,
-                                    alignment: Alignment.bottomCenter,
-                                    scale: 0.5,
+                                : Container(
+                                    width: 120,
+                                    height: 120,
+                                    decoration: BoxDecoration(
+                                      shape: BoxShape.circle,
+                                      color: Colors.transparent,
+                                      image: DecorationImage(
+                                        fit: BoxFit.contain,
+                                        image: FileImage(
+                                          File(_repository.imageCustomPath!),
+                                        ),
+                                      ),
+                                    ),
                                   ),
                           )),
                           ListTile(
@@ -170,9 +172,10 @@ class ChooseWalletScreen extends StatelessWidget {
                                 bottom: Radius.circular(12),
                               ),
                             ),
-                            tileColor: _repository.id()[1] == _selectedId![1]
-                                ? orangeC
-                                : const Color(0xffFFD58D),
+                            tileColor:
+                                _repository.address == selectedWallet!.address
+                                    ? orangeC
+                                    : const Color(0xffFFD58D),
                             title: Center(
                               child: Padding(
                                 padding:
@@ -182,27 +185,17 @@ class ChooseWalletScreen extends StatelessWidget {
                                   textAlign: TextAlign.center,
                                   style: TextStyle(
                                       fontSize: 17.0,
-                                      color:
-                                          _repository.id()[1] == _selectedId![1]
-                                              ? const Color(0xffF9F9F1)
-                                              : Colors.black,
+                                      color: _repository.address ==
+                                              selectedWallet!.address
+                                          ? const Color(0xffF9F9F1)
+                                          : Colors.black,
                                       fontStyle: FontStyle.italic),
                                 ),
                               ),
                             ),
                             onTap: () async {
-                              _derivation = _repository.derivation!;
-                              _selectedId = _repository.id();
-
-                              ChestData _newChestData =
-                                  chestBox.get(currentChest)!;
-                              _newChestData.defaultWallet = _repository.number;
-                              await chestBox.put(currentChest, _newChestData);
-
-                              _sub.setCurrentWallet(_repository.address!);
+                              selectedWallet = _repository;
                               _myWalletProvider.rebuildWidget();
-                              _walletViewProvider.reload();
-                              _sub.reload();
                             },
                           )
                         ]),
diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart
index 05346fc407640cf865d3395e647b6f83263e51d5..4ef5b1b239644d92f4394ba1224c772a73be9e12 100644
--- a/lib/screens/myWallets/wallet_options.dart
+++ b/lib/screens/myWallets/wallet_options.dart
@@ -2,7 +2,6 @@ import 'dart:async';
 import 'dart:io';
 import 'package:flutter/material.dart';
 import 'package:gecko/globals.dart';
-import 'package:gecko/models/chest_data.dart';
 import 'package:gecko/providers/home.dart';
 import 'package:gecko/providers/my_wallets.dart';
 import 'package:gecko/models/wallet_data.dart';
@@ -365,10 +364,7 @@ class WalletOptions extends StatelessWidget {
       onTap: !walletProvider.isDefaultWallet
           ? () async {
               defaultWallet = wallet;
-              ChestData _newChestData = chestBox.get(_currentChest)!;
-              _newChestData.defaultWallet = wallet.number;
-              await chestBox.put(_currentChest, _newChestData);
-              _sub.setCurrentWallet(wallet.address!);
+             await _sub.setCurrentWallet(wallet);
               _myWalletProvider.readAllWallets(_currentChest);
               _myWalletProvider.rebuildWidget();
             }
diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart
index cd08c67bd8c7de6a8947ce5a433e50dacd8f09af..c67954edeb620ba396de8650486e952ccb03bea2 100644
--- a/lib/screens/myWallets/wallets_home.dart
+++ b/lib/screens/myWallets/wallets_home.dart
@@ -5,7 +5,6 @@ import 'package:gecko/globals.dart';
 import 'package:gecko/models/chest_data.dart';
 import 'package:gecko/providers/home.dart';
 import 'package:gecko/providers/my_wallets.dart';
-import 'package:gecko/models/queries.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/providers/wallet_options.dart';
@@ -13,7 +12,6 @@ import 'package:gecko/screens/common_elements.dart';
 import 'package:gecko/screens/myWallets/chest_options.dart';
 import 'package:gecko/screens/myWallets/choose_chest.dart';
 import 'package:gecko/screens/myWallets/wallet_options.dart';
-import 'package:graphql_flutter/graphql_flutter.dart';
 import 'package:provider/provider.dart';
 
 class WalletsHome extends StatelessWidget {
@@ -253,7 +251,7 @@ class WalletsHome extends StatelessWidget {
                                     bottom: Radius.circular(12))),
                             // contentPadding: const EdgeInsets.only(left: 7.0),
                             tileColor:
-                                _repository.id()[1] == defaultWallet!.id()[1]
+                                _repository.id()[1] == defaultWallet.id()[1]
                                     ? orangeC
                                     : const Color(0xffFFD58D),
                             // leading: Text('IMAGE'),
diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart
index b5cefa0218cd3ba664e1daac91b2b693c2704afc..ceeb978b0d88bc0fc7b43aaff22cce4adfec3559 100644
--- a/lib/screens/wallet_view.dart
+++ b/lib/screens/wallet_view.dart
@@ -37,7 +37,7 @@ class WalletViewScreen extends StatelessWidget {
     MyWalletsProvider _myWalletProvider =
         Provider.of<MyWalletsProvider>(context, listen: false);
     WalletData? defaultWallet = _myWalletProvider.getDefaultWallet();
-    _sub.setCurrentWallet(defaultWallet!.address!);
+    _sub.setCurrentWallet(defaultWallet!);
 
     return Scaffold(
         resizeToAvoidBottomInset: true,
@@ -102,8 +102,10 @@ class WalletViewScreen extends StatelessWidget {
                 ),
               ]),
               Consumer<SubstrateSdk>(builder: (context, _sub, _) {
+                WalletData? _defaultWallet =
+                    _myWalletProvider.getDefaultWallet();
                 return FutureBuilder(
-                  future: _sub.isMember(defaultWallet.address!),
+                  future: _sub.isMember(_defaultWallet!.address!),
                   builder: (context, AsyncSnapshot<bool?> snapshot) {
                     return Visibility(
                       visible: (snapshot.data ?? false),
@@ -128,7 +130,7 @@ class WalletViewScreen extends StatelessWidget {
                                       MaterialPageRoute(
                                         builder: (context) {
                                           return UnlockingWallet(
-                                              wallet: defaultWallet,
+                                              wallet: _defaultWallet,
                                               action: "cert");
                                         },
                                       ),
@@ -259,8 +261,6 @@ class WalletViewScreen extends StatelessWidget {
 
     bool canValidate = false;
 
-    _walletViewProvider.outputPubkey.text = pubkey!;
-
     showModalBottomSheet<void>(
         shape: const RoundedRectangleBorder(
           borderRadius: BorderRadius.only(
diff --git a/pubspec.yaml b/pubspec.yaml
index 21c7e01f95701c1ff179b7f8106b40454b60e1cc..d6ed34070bd1cf2908d8106d7af471a7c3f7e9f9 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+1
+version: 0.0.7+2
 
 environment:
   sdk: '>=2.12.0 <3.0.0'