diff --git a/assets/translations/en.json b/assets/translations/en.json
index 16b16f004fa6ae13bcc868bfa7b925c6675b9fa3..e00f8aa4708b3edd25349cef15e068ae36f7b204 100644
--- a/assets/translations/en.json
+++ b/assets/translations/en.json
@@ -253,5 +253,6 @@
     "comment": "Comment",
     "optionalComment": "Optional comment",
     "searchContacts": "Search contacts",
-    "advancedFeature": "Advanced feature reserved for experienced users"
+    "advancedFeature": "Advanced feature reserved for experienced users",
+    "editWalletName": "Edit wallet name"
 }
diff --git a/assets/translations/es.json b/assets/translations/es.json
index 87043e5d97a4beb5e2d513ff1bddb5f82eb996c2..f4b0c39af1ea803b3f6b7d7914d800272839a44e 100644
--- a/assets/translations/es.json
+++ b/assets/translations/es.json
@@ -254,5 +254,6 @@
     "comment": "Comentario",
     "optionalComment": "Comentario opcional",
     "searchContacts": "Buscar contactos",
-    "advancedFeature": "Función avanzada reservada para usuarios experimentados"
+    "advancedFeature": "Función avanzada reservada para usuarios experimentados",
+    "editWalletName": "Editar nombre de la cartera"
 }
diff --git a/assets/translations/fr.json b/assets/translations/fr.json
index ae1fdcb2cd953b7b63e08c4f0138c737291132e7..22e3610af0b4c7282a1dd659eb8383fdcfd6fc59 100644
--- a/assets/translations/fr.json
+++ b/assets/translations/fr.json
@@ -253,5 +253,6 @@
     "comment": "Commentaire",
     "optionalComment": "Commentaire optionnel",
     "searchContacts": "Rechercher des contacts",
-    "advancedFeature": "Fonctionnalité avancée réservée aux utilisateurs expérimentés"
+    "advancedFeature": "Fonctionnalité avancée réservée aux utilisateurs expérimentés",
+    "editWalletName": "Modifier le nom du portefeuille"
 }
diff --git a/lib/providers/my_wallets.dart b/lib/providers/my_wallets.dart
index af8c1122f42f51e3c5fb53f094b4164cf4205e36..2c526be9453822601f79d710af52488c1631cb2e 100644
--- a/lib/providers/my_wallets.dart
+++ b/lib/providers/my_wallets.dart
@@ -25,6 +25,8 @@ class MyWalletsProvider with ChangeNotifier {
   bool isPinValid = false;
   bool isPinLoading = true;
 
+  bool isOwner(String address) => listWallets.any((wallet) => wallet.address == address);
+
   int getCurrentChest() {
     if (configBox.get('currentChest') == null) {
       configBox.put('currentChest', 0);
@@ -88,10 +90,11 @@ class MyWalletsProvider with ChangeNotifier {
     return targetedWallet;
   }
 
-  Future<bool> askPinCode() async {
+  Future<bool> askPinCode({bool force = false}) async {
     final defaultWallet = getDefaultWallet();
 
-    if (pinCode.isEmpty) {
+    if (pinCode.isEmpty || force) {
+      pinCode = '';
       await Navigator.push(
         homeContext,
         MaterialPageRoute(
diff --git a/lib/screens/myWallets/chest_options.dart b/lib/screens/myWallets/chest_options.dart
index a352b12840decd1a8e230256f9a8dca4e9b0ee0e..a9497496338e948a9a212cbc61badc10027a23cf 100644
--- a/lib/screens/myWallets/chest_options.dart
+++ b/lib/screens/myWallets/chest_options.dart
@@ -63,7 +63,7 @@ class ChestOptionsContent extends StatelessWidget {
         InkWell(
           key: keyShowSeed,
           onTap: () async {
-            if (!await myWalletProvider.askPinCode()) return;
+            if (!await myWalletProvider.askPinCode(force: true)) return;
             Navigator.push(
               context,
               MaterialPageRoute(
@@ -99,7 +99,8 @@ class ChestOptionsContent extends StatelessWidget {
           builder: (context, sub, _) {
             return InkWell(
               key: keyChangePin,
-              onTap: () {
+              onTap: () async {
+                if (!await myWalletProvider.askPinCode(force: true)) return;
                 Navigator.push(
                   context,
                   MaterialPageRoute(
@@ -174,6 +175,8 @@ class ChestOptionsContent extends StatelessWidget {
         InkWell(
           key: keyDeleteChest,
           onTap: () async {
+            if (!await myWalletProvider.askPinCode(force: true)) return;
+
             await chestProvider.deleteChest(context, currentChest);
           },
           child: Container(
diff --git a/lib/screens/myWallets/import_g1_v1.dart b/lib/screens/myWallets/import_g1_v1.dart
index 482ac5670023420f8c25a7bbd06e3b087ca4d3df..fe036aee250215c7c6bbdef86e627f5c4b85e2fc 100644
--- a/lib/screens/myWallets/import_g1_v1.dart
+++ b/lib/screens/myWallets/import_g1_v1.dart
@@ -177,7 +177,7 @@ class ImportG1v1 extends StatelessWidget {
                                 '${statusData.fromBalance['transferableBalance']} $unit',
                                 style: scaledTextStyle(fontSize: 15),
                               ),
-                              IdentityStatus(address: sub.g1V1NewAddress, isOwner: false, color: Colors.black),
+                              IdentityStatus(address: sub.g1V1NewAddress, color: Colors.black),
                               ScaledSizedBox(width: 10),
                               Certifications(address: sub.g1V1NewAddress, size: 14)
                             ],
diff --git a/lib/screens/myWallets/unlocking_wallet.dart b/lib/screens/myWallets/unlocking_wallet.dart
index 579f2e83505868ecf224cfb8649629e2d59fbe1d..8a0a355396cc0ae7740ed4e7eb61f724212a20c5 100644
--- a/lib/screens/myWallets/unlocking_wallet.dart
+++ b/lib/screens/myWallets/unlocking_wallet.dart
@@ -53,11 +53,13 @@ class _UnlockingWalletState extends State<UnlockingWallet> {
         myWalletProvider.isPinLoading = true;
       },
       child: Scaffold(
-          backgroundColor: backgroundColor,
-          body: SafeArea(
-            child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[
+        backgroundColor: backgroundColor,
+        body: SafeArea(
+          child: Column(
+            crossAxisAlignment: CrossAxisAlignment.start,
+            children: <Widget>[
               Padding(
-                padding: const EdgeInsets.all(16.0),
+                padding: EdgeInsets.only(left: 8, top: isTall ? 14 : 0),
                 child: IconButton(
                   key: keyPopButton,
                   icon: Icon(
@@ -72,117 +74,112 @@ class _UnlockingWalletState extends State<UnlockingWallet> {
                   },
                 ),
               ),
-              Expanded(
-                child: Column(
-                  mainAxisAlignment: MainAxisAlignment.start,
-                  children: <Widget>[
-                    ScaledSizedBox(height: isTall ? 40 : 20),
-                    Row(
-                      mainAxisAlignment: MainAxisAlignment.center,
-                      children: <Widget>[
-                        currentChest.imageFile == null
-                            ? Image.asset(
-                                'assets/chests/${currentChest.imageName}',
-                                width: scaleSize(95),
-                              )
-                            : Image.file(
-                                currentChest.imageFile!,
-                                width: scaleSize(127),
-                              ),
-                        ScaledSizedBox(width: 18),
-                        Flexible(
-                          child: Text(
-                            currentChest.name!,
-                            textAlign: TextAlign.center,
-                            style: scaledTextStyle(
-                              fontSize: 24,
-                              color: Colors.black,
-                              fontWeight: FontWeight.w700,
-                            ),
-                          ),
+              ScaledSizedBox(height: isTall ? 12 : 4),
+              Row(
+                mainAxisAlignment: MainAxisAlignment.center,
+                children: <Widget>[
+                  currentChest.imageFile == null
+                      ? Image.asset(
+                          'assets/chests/${currentChest.imageName}',
+                          width: scaleSize(isTall ? 95 : 75),
+                        )
+                      : Image.file(
+                          currentChest.imageFile!,
+                          width: scaleSize(isTall ? 127 : 95),
                         ),
-                      ],
+                  ScaledSizedBox(width: 18),
+                  Flexible(
+                    child: Text(
+                      currentChest.name!,
+                      textAlign: TextAlign.center,
+                      style: scaledTextStyle(
+                        fontSize: isTall ? 24 : 20,
+                        color: Colors.black,
+                        fontWeight: FontWeight.w700,
+                      ),
                     ),
-                    ScaledSizedBox(height: isTall ? 40 : 25),
-                    Container(
-                      margin: const EdgeInsets.symmetric(horizontal: 24),
-                      padding: const EdgeInsets.all(24),
-                      decoration: BoxDecoration(
-                        color: Colors.white,
-                        borderRadius: BorderRadius.circular(24),
-                        boxShadow: [
-                          BoxShadow(
-                            color: Colors.black.withValues(alpha: 0.05),
-                            blurRadius: 10,
-                            offset: const Offset(0, 5),
-                          ),
-                        ],
+                  ),
+                ],
+              ),
+              ScaledSizedBox(height: isTall ? 30 : 15),
+              Container(
+                margin: const EdgeInsets.symmetric(horizontal: 16),
+                padding: EdgeInsets.all(isTall ? 24 : 16),
+                decoration: BoxDecoration(
+                  color: Colors.white,
+                  borderRadius: BorderRadius.circular(24),
+                  boxShadow: [
+                    BoxShadow(
+                      color: Colors.black.withValues(alpha: 0.05),
+                      blurRadius: 10,
+                      offset: const Offset(0, 5),
+                    ),
+                  ],
+                ),
+                child: Column(
+                  children: [
+                    Text(
+                      'toUnlockEnterPassword'.tr(),
+                      textAlign: TextAlign.center,
+                      style: scaledTextStyle(
+                        fontSize: isTall ? 16 : 14,
+                        color: Colors.black87,
+                        fontWeight: FontWeight.w500,
                       ),
-                      child: Column(
-                        children: [
-                          Text(
-                            'toUnlockEnterPassword'.tr(),
-                            textAlign: TextAlign.center,
-                            style: scaledTextStyle(
-                              fontSize: 16,
-                              color: Colors.black87,
-                              fontWeight: FontWeight.w500,
-                            ),
+                    ),
+                    ScaledSizedBox(height: isTall ? 24 : 12),
+                    if (!myWalletProvider.isPinValid && !myWalletProvider.isPinLoading)
+                      Padding(
+                        padding: const EdgeInsets.only(bottom: 16),
+                        child: Text(
+                          "thisIsNotAGoodCode".tr(),
+                          style: scaledTextStyle(
+                            color: Colors.red[700],
+                            fontWeight: FontWeight.w500,
+                            fontSize: 15,
                           ),
-                          ScaledSizedBox(height: isTall ? 24 : 16),
-                          if (!myWalletProvider.isPinValid && !myWalletProvider.isPinLoading)
-                            Padding(
-                              padding: const EdgeInsets.only(bottom: 16),
-                              child: Text(
-                                "thisIsNotAGoodCode".tr(),
-                                style: scaledTextStyle(
-                                  color: Colors.red[700],
-                                  fontWeight: FontWeight.w500,
-                                  fontSize: 15,
-                                ),
+                        ),
+                      ),
+                    pinForm(context, pinLenght),
+                    ScaledSizedBox(height: isTall ? 16 : 8),
+                    if (canUnlock)
+                      Consumer<WalletOptionsProvider>(builder: (context, sub, _) {
+                        return InkWell(
+                          key: keyCachePassword,
+                          onTap: () {
+                            walletOptions.changePinCacheChoice();
+                          },
+                          child: Row(
+                            mainAxisAlignment: MainAxisAlignment.center,
+                            mainAxisSize: MainAxisSize.min,
+                            children: [
+                              Icon(
+                                configBox.get('isCacheChecked') ? Icons.check_box : Icons.check_box_outline_blank,
+                                color: orangeC,
+                                size: scaleSize(20),
                               ),
-                            ),
-                          pinForm(context, pinLenght),
-                          ScaledSizedBox(height: 16),
-                          if (canUnlock)
-                            Consumer<WalletOptionsProvider>(builder: (context, sub, _) {
-                              return InkWell(
-                                key: keyCachePassword,
-                                onTap: () {
-                                  walletOptions.changePinCacheChoice();
-                                },
-                                child: Row(
-                                  mainAxisAlignment: MainAxisAlignment.center,
-                                  mainAxisSize: MainAxisSize.min,
-                                  children: [
-                                    Icon(
-                                      configBox.get('isCacheChecked') ? Icons.check_box : Icons.check_box_outline_blank,
-                                      color: orangeC,
-                                      size: scaleSize(20),
-                                    ),
-                                    ScaledSizedBox(width: 8),
-                                    Flexible(
-                                      child: Text(
-                                        'rememberPassword'.tr(),
-                                        style: scaledTextStyle(
-                                          fontSize: 12,
-                                          color: Colors.grey[700],
-                                          fontWeight: FontWeight.w500,
-                                        ),
-                                      ),
-                                    ),
-                                  ],
+                              ScaledSizedBox(width: 8),
+                              Flexible(
+                                child: Text(
+                                  'rememberPassword'.tr(),
+                                  style: scaledTextStyle(
+                                    fontSize: 12,
+                                    color: Colors.grey[700],
+                                    fontWeight: FontWeight.w500,
+                                  ),
                                 ),
-                              );
-                            }),
-                        ],
-                      ),
-                    ),
+                              ),
+                            ],
+                          ),
+                        );
+                      }),
                   ],
                 ),
               ),
-            ]),
-          )),
+            ],
+          ),
+        ),
+      ),
     );
   }
 
diff --git a/lib/screens/myWallets/wallet_options.dart b/lib/screens/myWallets/wallet_options.dart
index af723f5d50fb468af56a6cb6f2cf39aba1a2ad37..bb6687f83c3b06b36b4870d4f21b6811015b458b 100644
--- a/lib/screens/myWallets/wallet_options.dart
+++ b/lib/screens/myWallets/wallet_options.dart
@@ -45,6 +45,9 @@ class WalletOptions extends StatelessWidget {
 
     final isAlone = myWalletProvider.listWallets.length == 1;
 
+    final defaultWallet = myWalletProvider.getDefaultWallet();
+    walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id[1]);
+
     return PopScope(
       onPopInvokedWithResult: (_, __) {
         walletOptions.isEditing = false;
@@ -73,17 +76,47 @@ class WalletOptions extends StatelessWidget {
                       child: Column(
                         crossAxisAlignment: CrossAxisAlignment.stretch,
                         children: [
-                          ScaledSizedBox(height: 24),
+                          // ScaledSizedBox(height: 16),
                           Consumer<WalletOptionsProvider>(
                             builder: (context, walletProvider, _) {
                               return Column(
                                 crossAxisAlignment: CrossAxisAlignment.stretch,
+                                spacing: 8,
                                 children: [
                                   buildConfirmIdentitySection(walletProvider),
                                   if (wallet.hasIdentity) buildRenewMembershipSection(walletProvider),
                                   buildOptionsSection(context, walletProvider, historyProvider),
                                   if (!isAlone) buildDefaultWalletSection(context, walletProvider, myWalletProvider, walletOptions, currentChest),
-                                  buildDangerZone(context, walletProvider, currentChest),
+                                  if (!wallet.hasIdentity)
+                                    InkWell(
+                                      key: keyRenameWallet,
+                                      onTap: () async {
+                                        await walletProvider.editWalletName(context, [wallet.id[0], wallet.id[1]]);
+                                      },
+                                      child: Container(
+                                        height: scaleSize(48),
+                                        padding: EdgeInsets.symmetric(horizontal: scaleSize(17)),
+                                        child: Row(
+                                          children: [
+                                            Image.asset(
+                                              'assets/walletOptions/edit.png',
+                                              height: scaleSize(22),
+                                              color: const Color(0xFF4A90E2).withValues(alpha: 0.8),
+                                            ),
+                                            ScaledSizedBox(width: 18),
+                                            Text(
+                                              "editWalletName".tr(),
+                                              style: scaledTextStyle(
+                                                fontSize: 16,
+                                                color: Colors.black87,
+                                              ),
+                                            ),
+                                          ],
+                                        ),
+                                      ),
+                                    ),
+                                  if (!walletProvider.isDefaultWallet && !wallet.hasIdentity) deleteWallet(context, walletProvider, currentChest),
+                                  if (wallet.hasIdentity) const ManageMembershipButton(),
                                   if (isAlone) aloneWalletOptions(),
                                 ],
                               );
@@ -319,25 +352,19 @@ class WalletOptions extends StatelessWidget {
   }
 
   Widget buildOptionsSection(BuildContext context, WalletOptionsProvider walletProvider, WalletsProfilesProvider historyProvider) {
-    return Column(
-      children: [
-        activityWidget(context, historyProvider, walletProvider),
-        ScaledSizedBox(height: 4),
-      ],
-    );
+    return activityWidget(context, historyProvider, walletProvider);
   }
 
   Widget buildDefaultWalletSection(
       BuildContext context, WalletOptionsProvider walletProvider, MyWalletsProvider myWalletProvider, WalletOptionsProvider walletOptions, int currentChest) {
     return Consumer<MyWalletsProvider>(
       builder: (context, myWalletProvider, _) {
-        WalletData defaultWallet = myWalletProvider.getDefaultWallet();
-        walletOptions.isDefaultWallet = (defaultWallet.number == wallet.id[1]);
         return InkWell(
           key: keySetDefaultWallet,
           onTap: !walletProvider.isDefaultWallet
               ? () async {
                   await setDefaultWallet(context, currentChest);
+                  walletProvider.isDefaultWallet = true;
                 }
               : null,
           child: Container(
@@ -366,29 +393,15 @@ class WalletOptions extends StatelessWidget {
     );
   }
 
-  Widget buildDangerZone(BuildContext context, WalletOptionsProvider walletProvider, int currentChest) {
-    return Container(
-      margin: EdgeInsets.symmetric(vertical: scaleSize(8)),
-      child: Column(
-        children: [
-          if (!walletProvider.isDefaultWallet && !wallet.hasIdentity) deleteWallet(context, walletProvider, currentChest),
-          if (wallet.hasIdentity) const ManageMembershipButton(),
-        ],
-      ),
-    );
-  }
-
   Widget buildConfirmIdentitySection(WalletOptionsProvider walletProvider) {
     return Consumer<SubstrateSdk>(builder: (context, sub, _) {
       return FutureBuilder(
         future: sub.idtyStatusMulti([walletProvider.address.text]),
         initialData: const [IdtyStatus.unknown],
         builder: (BuildContext context, AsyncSnapshot<List<IdtyStatus>> snapshot) {
-          if (!snapshot.hasData || snapshot.hasError) {
-            return const SizedBox.shrink();
-          }
-          if (snapshot.data!.first == IdtyStatus.unconfirmed) {
-            return Column(children: [
+          return Visibility(
+            visible: snapshot.hasData && !snapshot.hasError && snapshot.data!.first == IdtyStatus.unconfirmed,
+            child: Column(children: [
               SizedBox(
                 width: double.infinity,
                 height: scaleSize(50),
@@ -418,9 +431,8 @@ class WalletOptions extends StatelessWidget {
                 ),
               ),
               ScaledSizedBox(height: 24),
-            ]);
-          }
-          return const SizedBox.shrink();
+            ]),
+          );
         },
       );
     });
diff --git a/lib/screens/onBoarding/5.dart b/lib/screens/onBoarding/5.dart
index a3f21378369a6628d1c11a461ad53a8ea1b97ab9..208c4facb33ed145c3cc49eb1166c6f2e9e3a307 100644
--- a/lib/screens/onBoarding/5.dart
+++ b/lib/screens/onBoarding/5.dart
@@ -30,6 +30,114 @@ class OnboardingStepFive extends StatefulWidget {
 
 // ignore: unused_element
 class _ChooseChestState extends State<OnboardingStepFive> {
+  List<String>? mnemonicList;
+  bool isLoading = false;
+
+  @override
+  void initState() {
+    super.initState();
+    _generateMnemonicList();
+  }
+
+  Future<void> _generateMnemonicList() async {
+    final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false);
+    final list = await generateWalletProvider.generateWordList(context);
+    if (mounted) {
+      setState(() {
+        mnemonicList = list.cast<String>();
+        isLoading = false;
+      });
+    }
+  }
+
+  Future<void> _regenerateMnemonic() async {
+    setState(() {
+      isLoading = true;
+    });
+    await _generateMnemonicList();
+  }
+
+  Widget sentanceArray() {
+    if (mnemonicList == null) {
+      return const Center(
+        child: CircularProgressIndicator(
+          color: orangeC,
+          strokeWidth: 2,
+        ),
+      );
+    }
+
+    return Container(
+      constraints: BoxConstraints(maxWidth: scaleSize(360)),
+      decoration: BoxDecoration(
+        border: Border.all(color: Colors.black),
+        color: const Color(0xffeeeedd),
+        borderRadius: const BorderRadius.all(
+          Radius.circular(10),
+        ),
+      ),
+      padding: EdgeInsets.all(scaleSize(14)),
+      child: Stack(
+        children: [
+          Column(
+            mainAxisAlignment: MainAxisAlignment.center,
+            mainAxisSize: MainAxisSize.max,
+            crossAxisAlignment: CrossAxisAlignment.center,
+            children: <Widget>[
+              Row(children: <Widget>[
+                arrayCell(mnemonicList![0]),
+                arrayCell(mnemonicList![1]),
+                arrayCell(mnemonicList![2]),
+                arrayCell(mnemonicList![3]),
+              ]),
+              ScaledSizedBox(height: 15),
+              Row(children: <Widget>[
+                arrayCell(mnemonicList![4]),
+                arrayCell(mnemonicList![5]),
+                arrayCell(mnemonicList![6]),
+                arrayCell(mnemonicList![7]),
+              ]),
+              ScaledSizedBox(height: 15),
+              Row(children: <Widget>[
+                arrayCell(mnemonicList![8]),
+                arrayCell(mnemonicList![9]),
+                arrayCell(mnemonicList![10]),
+                arrayCell(mnemonicList![11]),
+              ]),
+            ],
+          ),
+          if (isLoading)
+            Container(
+              color: const Color(0xffeeeedd).withValues(alpha: 0.7),
+              child: const Center(
+                child: CircularProgressIndicator(
+                  color: orangeC,
+                  strokeWidth: 2,
+                ),
+              ),
+            ),
+        ],
+      ),
+    );
+  }
+
+  Widget arrayCell(String dataWord) {
+    return ScaledSizedBox(
+      width: 82,
+      child: Column(children: <Widget>[
+        Text(
+          dataWord.split(':')[0],
+          style: scaledTextStyle(fontSize: 10, color: const Color(0xff6b6b52)),
+        ),
+        Text(
+          dataWord.split(':')[1],
+          key: keyMnemonicWord(dataWord.split(':')[0]),
+          style: scaledTextStyle(fontSize: 15, color: Colors.black),
+        ),
+      ]),
+    );
+  }
+
   @override
   Widget build(BuildContext context) {
     final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false);
@@ -45,7 +153,7 @@ class _ChooseChestState extends State<OnboardingStepFive> {
             ScaledSizedBox(height: isTall ? 25 : 5),
             BuildText(text: 'geckoGeneratedYourMnemonicKeepItSecret'.tr()),
             ScaledSizedBox(height: isTall ? 15 : 5),
-            sentanceArray(context),
+            sentanceArray(),
             ScaledSizedBox(height: isTall ? 17 : 5),
             Row(
               mainAxisAlignment: MainAxisAlignment.center,
@@ -117,7 +225,7 @@ class _ChooseChestState extends State<OnboardingStepFive> {
                         shadowColor: const Color(0xffFFD58D).withValues(alpha: 0.3),
                       ),
                       onPressed: () {
-                        setState(() {});
+                        _regenerateMnemonic();
                       },
                       child: FittedBox(
                         fit: BoxFit.scaleDown,
@@ -145,73 +253,6 @@ class _ChooseChestState extends State<OnboardingStepFive> {
   }
 }
 
-Widget sentanceArray(BuildContext context) {
-  final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false);
-
-  return Container(
-    constraints: BoxConstraints(maxWidth: scaleSize(isTall ? 355 : 340)),
-    decoration: BoxDecoration(
-        border: Border.all(color: Colors.black),
-        color: const Color(0xffeeeedd),
-        borderRadius: const BorderRadius.all(
-          Radius.circular(10),
-        )),
-    padding: EdgeInsets.all(scaleSize(11)),
-    child: FutureBuilder(
-        future: generateWalletProvider.generateWordList(context),
-        builder: (BuildContext context, AsyncSnapshot<List> mnemoListData) {
-          if (!mnemoListData.hasData) {
-            return const Text('');
-          } else {
-            final mnemoList = mnemoListData.data!;
-            return Column(
-                mainAxisAlignment: MainAxisAlignment.center,
-                mainAxisSize: MainAxisSize.max,
-                crossAxisAlignment: CrossAxisAlignment.center,
-                children: <Widget>[
-                  Row(children: <Widget>[
-                    arrayCell(mnemoList[0]),
-                    arrayCell(mnemoList[1]),
-                    arrayCell(mnemoList[2]),
-                    arrayCell(mnemoList[3]),
-                  ]),
-                  ScaledSizedBox(height: 12),
-                  Row(children: <Widget>[
-                    arrayCell(mnemoList[4]),
-                    arrayCell(mnemoList[5]),
-                    arrayCell(mnemoList[6]),
-                    arrayCell(mnemoList[7]),
-                  ]),
-                  ScaledSizedBox(height: 12),
-                  Row(children: <Widget>[
-                    arrayCell(mnemoList[8]),
-                    arrayCell(mnemoList[9]),
-                    arrayCell(mnemoList[10]),
-                    arrayCell(mnemoList[11]),
-                  ]),
-                ]);
-          }
-        }),
-  );
-}
-
-Widget arrayCell(dataWord) {
-  return ScaledSizedBox(
-    width: scaleSize(isTall ? 78 : 91),
-    child: Column(children: <Widget>[
-      Text(
-        dataWord.split(':')[0],
-        style: scaledTextStyle(fontSize: 11, color: const Color(0xff6b6b52)),
-      ),
-      Text(
-        dataWord.split(':')[1],
-        key: keyMnemonicWord(dataWord.split(':')[0]),
-        style: scaledTextStyle(fontSize: 15, color: Colors.black),
-      ),
-    ]),
-  );
-}
-
 Widget nextButton(BuildContext context, String text, bool isFast, bool skipIntro) {
   final generateWalletProvider = Provider.of<GenerateWalletsProvider>(context, listen: false);
   final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false);
diff --git a/lib/widgets/idty_status.dart b/lib/widgets/idty_status.dart
index 73b93dc2f8b42839acdafc3c4afd814dc4f08ebe..a9fda4baa9c94623b3d3676c74a708f96ad3b751 100644
--- a/lib/widgets/idty_status.dart
+++ b/lib/widgets/idty_status.dart
@@ -9,9 +9,8 @@ import 'package:gecko/widgets/name_by_address.dart';
 import 'package:provider/provider.dart';
 
 class IdentityStatus extends StatelessWidget {
-  const IdentityStatus({super.key, required this.address, this.isOwner = false, this.color = Colors.black});
+  const IdentityStatus({super.key, required this.address, this.color = Colors.black});
   final String address;
-  final bool isOwner;
   final Color color;
 
   @override
diff --git a/lib/widgets/wallet_header.dart b/lib/widgets/wallet_header.dart
index 5e301cea243ce5f1f17250447a186334ebbf3188..83d35a0cb7c17a3458ea25c987230ec5a9d35a5c 100644
--- a/lib/widgets/wallet_header.dart
+++ b/lib/widgets/wallet_header.dart
@@ -6,6 +6,7 @@ import 'package:gecko/models/scale_functions.dart';
 import 'package:gecko/models/wallet_data.dart';
 import 'package:gecko/models/widgets_keys.dart';
 import 'package:gecko/providers/duniter_indexer.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/certifications.dart';
@@ -16,6 +17,7 @@ import 'package:gecko/widgets/datapod_avatar.dart';
 import 'package:gecko/widgets/idty_status.dart';
 import 'package:gecko/widgets/page_route_no_transition.dart';
 import 'package:provider/provider.dart';
+import 'package:gecko/providers/wallet_options.dart';
 
 class WalletHeader extends StatelessWidget {
   const WalletHeader({
@@ -34,12 +36,18 @@ class WalletHeader extends StatelessWidget {
     const double avatarSize = 90;
     final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
     final sub = Provider.of<SubstrateSdk>(context, listen: false);
+    final myWalletProvider = Provider.of<MyWalletsProvider>(context, listen: false);
+
+    final isOwner = myWalletProvider.isOwner(address);
+    bool isPickerOpen = false;
+    String newCustomImagePath = '';
 
     return Container(
       color: headerColor,
-      padding: EdgeInsets.symmetric(
-        horizontal: scaleSize(16),
-        vertical: scaleSize(16),
+      padding: EdgeInsets.only(
+        left: scaleSize(16),
+        right: scaleSize(16),
+        bottom: scaleSize(16),
       ),
       child: Row(
         crossAxisAlignment: CrossAxisAlignment.center,
@@ -59,21 +67,80 @@ class WalletHeader extends StatelessWidget {
                 ),
               ],
             ),
-            child: ClipOval(
-              child: customImagePath == null || customImagePath == ''
-                  ? (defaultImagePath != null
-                      ? Image.asset(
-                          'assets/avatars/$defaultImagePath',
-                          fit: BoxFit.cover,
-                        )
-                      : DatapodAvatar(
-                          address: address,
-                          size: avatarSize,
-                        ))
-                  : Image.file(
-                      File(customImagePath!),
-                      fit: BoxFit.cover,
+            child: Consumer<WalletOptionsProvider>(
+              builder: (context, walletOptionsProvider, child) {
+                if (newCustomImagePath.isEmpty) {
+                  newCustomImagePath = customImagePath ?? '';
+                }
+                return Stack(
+                  children: [
+                    Material(
+                      color: Colors.transparent,
+                      child: InkWell(
+                        onTap: isOwner && !isPickerOpen
+                            ? () async {
+                                isPickerOpen = true;
+                                walletOptionsProvider.reload();
+                                newCustomImagePath = await walletOptionsProvider.changeAvatar();
+                                isPickerOpen = false;
+                                walletOptionsProvider.reload();
+                              }
+                            : null,
+                        customBorder: const CircleBorder(),
+                        child: ClipOval(
+                          child: newCustomImagePath.isEmpty
+                              ? (defaultImagePath != null
+                                  ? Image.asset(
+                                      'assets/avatars/$defaultImagePath',
+                                      fit: BoxFit.cover,
+                                    )
+                                  : DatapodAvatar(
+                                      address: address,
+                                      size: avatarSize,
+                                    ))
+                              : Image.file(
+                                  File(newCustomImagePath),
+                                  fit: BoxFit.cover,
+                                ),
+                        ),
+                      ),
                     ),
+                    if (isOwner)
+                      Positioned(
+                        right: 0,
+                        bottom: 0,
+                        child: Container(
+                          width: avatarSize * 0.35,
+                          height: avatarSize * 0.35,
+                          decoration: BoxDecoration(
+                            shape: BoxShape.circle,
+                            color: Colors.black.withValues(alpha: 0.4),
+                          ),
+                          child: Material(
+                            color: Colors.transparent,
+                            child: InkWell(
+                              onTap: !isPickerOpen
+                                  ? () async {
+                                      isPickerOpen = true;
+                                      walletOptionsProvider.reload();
+                                      newCustomImagePath = await walletOptionsProvider.changeAvatar();
+                                      isPickerOpen = false;
+                                      walletOptionsProvider.reload();
+                                    }
+                                  : null,
+                              customBorder: const CircleBorder(),
+                              child: Icon(
+                                Icons.camera_alt,
+                                color: Colors.white,
+                                size: avatarSize * 0.2,
+                              ),
+                            ),
+                          ),
+                        ),
+                      ),
+                  ],
+                );
+              },
             ),
           ),
           SizedBox(width: scaleSize(20)),
@@ -150,7 +217,6 @@ class WalletHeader extends StatelessWidget {
                             children: [
                               IdentityStatus(
                                 address: address,
-                                isOwner: false,
                                 color: orangeC,
                               ),
                               SizedBox(width: scaleSize(8)),
diff --git a/lib/widgets/wallet_tile.dart b/lib/widgets/wallet_tile.dart
index c6fab84f5a4677e4ac447c1cc7b7f319fddf2aab..4340ce249c5aa4f82ce656447ffcb0988e2370e6 100644
--- a/lib/widgets/wallet_tile.dart
+++ b/lib/widgets/wallet_tile.dart
@@ -87,7 +87,7 @@ class WalletTile extends StatelessWidget {
                                 decoration: BoxDecoration(
                                   shape: BoxShape.circle,
                                   image: DecorationImage(
-                                    fit: BoxFit.cover,
+                                    fit: BoxFit.fitHeight,
                                     image: FileImage(
                                       File(repository.imageCustomPath!),
                                     ),
diff --git a/lib/widgets/wallet_tile_membre.dart b/lib/widgets/wallet_tile_membre.dart
index 5ebbda9582b3f78b17bbe6526186b3b28d14f353..7e9f7e1affd69567265ee4203a88a2f56caf6987 100644
--- a/lib/widgets/wallet_tile_membre.dart
+++ b/lib/widgets/wallet_tile_membre.dart
@@ -88,7 +88,7 @@ class WalletTileMembre extends StatelessWidget {
                                     decoration: BoxDecoration(
                                       shape: BoxShape.circle,
                                       image: DecorationImage(
-                                        fit: BoxFit.cover,
+                                        fit: BoxFit.fitHeight,
                                         image: FileImage(
                                           File(wallet.imageCustomPath!),
                                         ),
diff --git a/pubspec.yaml b/pubspec.yaml
index 4b039d05b17c2885c981c600c4f5bc0d71c0e612..902fa6e6fb6cba00dc6dc91cf23c853b9206efd7 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -2,7 +2,7 @@ name: gecko
 description: Pay with G1.
 publish_to: "none"
 
-version: 0.1.20+92
+version: 0.1.21+93
 
 environment:
   sdk: ^3.5.3