diff --git a/assets/env.production.txt b/assets/env.production.txt
index 8c58533dcc8ce7341b18b3187d66c4c2d0c7f273..bb71ab38cd29b3df6ae851d532d1e2ba7c26dbe0 100644
--- a/assets/env.production.txt
+++ b/assets/env.production.txt
@@ -4,7 +4,7 @@ SENTRY_DSN=https://306345cb87ee4e1cbbe9023fb4afc5fc@sentry.comunes.org/6
 CARD_COLOR_LEFT=0xFF05112B
 CARD_COLOR_RIGHT=0xFF085476
 # Empty for default
-CARD_COLOR_TEXT=Äž1 Wallet Cop
+CARD_COLOR_TEXT=Äž1 Wallet
 
 # Nodes space-separated
 # The duniter nodes are only used at boot time, later it tries to calculate periodically the nodes
diff --git a/lib/data/models/app_cubit.dart b/lib/data/models/app_cubit.dart
index 2913ed15863246f272fe1eb616dccc90b606ae40..26ecd875cd0b6eb469e4b0883b29a9e912eee631 100644
--- a/lib/data/models/app_cubit.dart
+++ b/lib/data/models/app_cubit.dart
@@ -9,10 +9,13 @@ class AppCubit extends HydratedCubit<AppState> {
 
   bool get isWarningViewed => state.warningViewed;
 
+  bool get isExpertMode => state.expertMode;
+
   void introViewed() {
     emit(state.copyWith(introViewed: true));
   }
 
+
   void warningViewed() {
     emit(state.copyWith(warningViewed: true));
   }
@@ -26,4 +29,8 @@ class AppCubit extends HydratedCubit<AppState> {
   Map<String, dynamic> toJson(AppState state) {
     return state.toJson();
   }
+
+  void setExpertMode(bool value) {
+    emit(state.copyWith(expertMode: value));
+  }
 }
diff --git a/lib/data/models/app_state.dart b/lib/data/models/app_state.dart
index ee21fe39a726b507d6120af4cc763f2108bf2ad2..76c8b2ca76f8da0a938a1ffa62f076b2f333e595 100644
--- a/lib/data/models/app_state.dart
+++ b/lib/data/models/app_state.dart
@@ -10,6 +10,7 @@ class AppState extends Equatable implements IsJsonSerializable<AppState> {
   const AppState({
     this.introViewed = false,
     this.warningViewed = false,
+    this.expertMode = false,
   });
 
   factory AppState.fromJson(Map<String, dynamic> json) =>
@@ -17,16 +18,17 @@ class AppState extends Equatable implements IsJsonSerializable<AppState> {
 
   final bool introViewed;
   final bool warningViewed;
+  final bool expertMode;
 
   AppState copyWith({
     bool? introViewed,
     bool? warningViewed,
-    DateTime? lastFetchTime,
+    bool? expertMode,
   }) {
     return AppState(
-      introViewed: introViewed ?? this.introViewed,
-      warningViewed: warningViewed ?? this.warningViewed,
-    );
+        introViewed: introViewed ?? this.introViewed,
+        warningViewed: warningViewed ?? this.warningViewed,
+        expertMode: expertMode ?? this.expertMode);
   }
 
   @override
@@ -36,5 +38,5 @@ class AppState extends Equatable implements IsJsonSerializable<AppState> {
   Map<String, dynamic> toJson() => _$AppStateToJson(this);
 
   @override
-  List<Object?> get props => <Object>[introViewed, warningViewed];
+  List<Object?> get props => <Object>[introViewed, warningViewed, expertMode];
 }
diff --git a/lib/ui/screens/fifth_screen.dart b/lib/ui/screens/fifth_screen.dart
index fb2b83a4071ce485ad8f2ffb573a2d02dbb0953e..cabcc34b162aac61be4d1023d2f7afc5a5635f73 100644
--- a/lib/ui/screens/fifth_screen.dart
+++ b/lib/ui/screens/fifth_screen.dart
@@ -1,5 +1,8 @@
 import 'package:flutter/material.dart';
+import 'package:flutter_bloc/flutter_bloc.dart';
 
+import '../../data/models/app_cubit.dart';
+import '../../data/models/app_state.dart';
 import '../../data/models/node_manager.dart';
 import '../ui_helpers.dart';
 import '../widgets/bottom_widget.dart';
@@ -16,60 +19,75 @@ class FifthScreen extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    return Material(
-      color: Theme.of(context).colorScheme.background,
-      child: ListView(
-          padding: const EdgeInsets.symmetric(horizontal: 16),
-          physics: const BouncingScrollPhysics(),
-          children: <Widget>[
-            const Header(text: 'bottom_nav_fifth'),
-            const TextDivider(text: 'key_tools_title'),
-            GridView.count(
-                physics: const NeverScrollableScrollPhysics(),
-                crossAxisCount: 2,
-                childAspectRatio: 2 / 1.15,
-                crossAxisSpacing: 8,
-                mainAxisSpacing: 8,
-                shrinkWrap: true,
-                padding: EdgeInsets.zero,
-                children: <GridItem>[
-                  GridItem(
-                      title: 'export_key',
-                      icon: Icons.download,
-                      onTap: () {
-                        showDialog(
-                          context: context,
-                          builder: (BuildContext context) {
-                            return const ExportDialog();
-                          },
-                        );
-                      }),
-                  GridItem(
-                      title: 'import_key',
-                      icon: Icons.upload,
-                      onTap: () {
-                        showDialog(
-                          context: context,
-                          builder: (BuildContext context) {
-                            return ImportDialog();
-                          },
-                        );
-                      }),
-                  GridItem(
-                    title: 'copy_your_key',
-                    icon: Icons.copy,
-                    onTap: () => copyPublicKeyToClipboard(context),
-                  )
-                ]),
-            const TextDivider(text: 'technical_info_title'),
-            const NodeInfoCard(type: NodeType.duniter),
-            const NodeInfoCard(type: NodeType.cesiumPlus),
-            LinkCard(
-                title: 'code_card_title',
-                icon: Icons.code_rounded,
-                url: Uri.parse('https://git.duniter.org/vjrj/ginkgo')),
-            const BottomWidget()
-          ]),
-    );
+    return BlocBuilder<AppCubit, AppState>(
+        builder: (BuildContext context, AppState state) => Material(
+              color: Theme.of(context).colorScheme.background,
+              child: ListView(
+                  padding: const EdgeInsets.symmetric(horizontal: 16),
+                  physics: const BouncingScrollPhysics(),
+                  children: <Widget>[
+                    const Header(text: 'bottom_nav_fifth'),
+                    const TextDivider(text: 'key_tools_title'),
+                    GridView.count(
+                        physics: const NeverScrollableScrollPhysics(),
+                        crossAxisCount: 2,
+                        childAspectRatio: 2 / 1.15,
+                        crossAxisSpacing: 8,
+                        mainAxisSpacing: 8,
+                        shrinkWrap: true,
+                        padding: EdgeInsets.zero,
+                        children: <GridItem>[
+                          if (state.expertMode)
+                            GridItem(
+                                title: 'export_key',
+                                icon: Icons.download,
+                                onTap: () {
+                                  showDialog(
+                                    context: context,
+                                    builder: (BuildContext context) {
+                                      return const ExportDialog();
+                                    },
+                                  );
+                                }),
+                          if (state.expertMode)
+                            GridItem(
+                                title: 'import_key',
+                                icon: Icons.upload,
+                                onTap: () {
+                                  showDialog(
+                                    context: context,
+                                    builder: (BuildContext context) {
+                                      return ImportDialog();
+                                    },
+                                  );
+                                }),
+                          GridItem(
+                            title: 'copy_your_key',
+                            icon: Icons.copy,
+                            onTap: () => copyPublicKeyToClipboard(context),
+                          )
+                        ]),
+                    if (state.expertMode)
+                      const TextDivider(text: 'technical_info_title'),
+                    if (state.expertMode)
+                      const NodeInfoCard(type: NodeType.duniter),
+                    if (state.expertMode)
+                      const NodeInfoCard(type: NodeType.cesiumPlus),
+                    if (state.expertMode)
+                      LinkCard(
+                          title: 'code_card_title',
+                          icon: Icons.code_rounded,
+                          url:
+                              Uri.parse('https://git.duniter.org/vjrj/ginkgo')),
+                    const BottomWidget(),
+                    SwitchListTile(
+                      title: const Text('Expert mode'),
+                      value: state.expertMode,
+                      onChanged: (bool value) =>
+                          context.read<AppCubit>().setExpertMode(value),
+                    ),
+                    const BottomWidget()
+                  ]),
+            ));
   }
 }
diff --git a/lib/ui/widgets/fifth_screen/export_dialog.dart b/lib/ui/widgets/fifth_screen/export_dialog.dart
index c4a8e19a149998806378e6b0caa74faa23451eab..476d7dcc92605b8e7d2b7220acd07f16cca360db 100644
--- a/lib/ui/widgets/fifth_screen/export_dialog.dart
+++ b/lib/ui/widgets/fifth_screen/export_dialog.dart
@@ -116,7 +116,9 @@ class _ExportDialogState extends State<ExportDialog> {
     anchor.download = 'ginkgo-wallet.json';
     anchor.click();
 
-    if (!mounted) return;
+    if (!mounted) {
+      return;
+    }
     context.replaceSnackbar(
       content: const Text(
         "HURRA",
diff --git a/lib/ui/widgets/fifth_screen/import_dialog.dart b/lib/ui/widgets/fifth_screen/import_dialog.dart
index c17c9d3d29dce0aa132839ac455ba6edc838e7e7..bf17e3c14dcc0a6148110564493319222896e9b9 100644
--- a/lib/ui/widgets/fifth_screen/import_dialog.dart
+++ b/lib/ui/widgets/fifth_screen/import_dialog.dart
@@ -93,7 +93,9 @@ class ImportDialog extends StatelessWidget {
 
       try {
         final String jsonString = reader.result as String;
-        logger(jsonString);
+        if (!kReleaseMode) {
+          logger(jsonString);
+        }
         final dynamic jsonMap = jsonDecode(jsonString);
         final SharedPreferences prefs = await SharedPreferences.getInstance();
         completer.complete(jsonString);
diff --git a/lib/ui/widgets/first_screen/pay_contact_search_page.dart b/lib/ui/widgets/first_screen/pay_contact_search_page.dart
index aa51c1698d432810dd1751e41ca95b1e48669e0d..f8805d507f2df50c5348ed3e2488575c994c0861 100644
--- a/lib/ui/widgets/first_screen/pay_contact_search_page.dart
+++ b/lib/ui/widgets/first_screen/pay_contact_search_page.dart
@@ -115,7 +115,9 @@ class _PayContactSearchPageState extends State<PayContactSearchPage> {
                   } else {
                     paymentCubit.selectKey(pay.publicKey);
                   }
-
+                  if (!mounted) {
+                    return;
+                  }
                   Navigator.pop(context);
                 }
               }),