diff --git a/.github/workflows/pr_test_build_android.yml b/.github/workflows/pr_test_build_android.yml
index 762144ac1..bfa5bd1ef 100644
--- a/.github/workflows/pr_test_build_android.yml
+++ b/.github/workflows/pr_test_build_android.yml
@@ -158,6 +158,7 @@ jobs:
           echo "const tronTestWalletSeeds = '${{ secrets.TRON_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
           echo "const nanoTestWalletSeeds =  '${{ secrets.NANO_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
           echo "const wowneroTestWalletSeeds = '${{ secrets.WOWNERO_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
+          echo "const zanoTestWalletSeeds = '${{ secrets.ZANO_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
           echo "const moneroTestWalletReceiveAddress = '${{ secrets.MONERO_TEST_WALLET_RECEIVE_ADDRESS }}';" >> lib/.secrets.g.dart
           echo "const bitcoinTestWalletReceiveAddress =  '${{ secrets.BITCOIN_TEST_WALLET_RECEIVE_ADDRESS }}';" >> lib/.secrets.g.dart
           echo "const ethereumTestWalletReceiveAddress =  '${{ secrets.ETHEREUM_TEST_WALLET_RECEIVE_ADDRESS }}';" >> lib/.secrets.g.dart
diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml
index c5cb26dd9..39406bf8d 100644
--- a/.github/workflows/pr_test_build_linux.yml
+++ b/.github/workflows/pr_test_build_linux.yml
@@ -154,6 +154,7 @@ jobs:
           echo "const tronTestWalletSeeds = '${{ secrets.TRON_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
           echo "const nanoTestWalletSeeds =  '${{ secrets.NANO_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
           echo "const wowneroTestWalletSeeds = '${{ secrets.WOWNERO_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
+          echo "const zanoTestWalletSeeds = '${{ secrets.ZANO_TEST_WALLET_SEEDS }}';" >> lib/.secrets.g.dart
           echo "const moneroTestWalletReceiveAddress = '${{ secrets.MONERO_TEST_WALLET_RECEIVE_ADDRESS }}';" >> lib/.secrets.g.dart
           echo "const bitcoinTestWalletReceiveAddress =  '${{ secrets.BITCOIN_TEST_WALLET_RECEIVE_ADDRESS }}';" >> lib/.secrets.g.dart
           echo "const ethereumTestWalletReceiveAddress =  '${{ secrets.ETHEREUM_TEST_WALLET_RECEIVE_ADDRESS }}';" >> lib/.secrets.g.dart
@@ -242,7 +243,7 @@ jobs:
           name: cakewallet_linux
 
       - name: Prepare virtual desktop
-        if: ${{ contains(env.message, 'run tests') }}
+        if: ${{ !contains(env.message, 'skip tests') }}
         run: |
             nohup Xvfb :99 -screen 0 720x1280x16 &
             echo DISPLAY=:99 | sudo tee -a $GITHUB_ENV
@@ -258,28 +259,28 @@ jobs:
       #   isn't much in those wallets anyway, we still wouldn't like to leak it to anyone who is able to access github.
 
       - name: Test [confirm_seeds_flow_test]
-        if: ${{ contains(env.message, 'run tests') }}
+        if: ${{ !contains(env.message, 'skip tests') }}
         timeout-minutes: 20
         run: |
           xmessage -timeout 30 "confirm_seeds_flow_test" &
           rm -rf ~/.local/share/com.example.cake_wallet/ ~/Documents/cake_wallet/ ~/cake_wallet
           exec timeout --signal=SIGKILL 900 flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test_suites/confirm_seeds_flow_test.dart
       - name: Test [create_wallet_flow_test]
-        if: ${{ contains(env.message, 'run tests') }}
+        if: ${{ !contains(env.message, 'skip tests') }}
         timeout-minutes: 20
         run: |
           xmessage -timeout 30 "create_wallet_flow_test" &
           rm -rf ~/.local/share/com.example.cake_wallet/ ~/Documents/cake_wallet/ ~/cake_wallet
           exec timeout --signal=SIGKILL 900 flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test_suites/create_wallet_flow_test.dart
-      - name: Test [exchange_flow_test]
-        if: ${{ contains(env.message, 'run tests') }}
-        timeout-minutes: 20
-        run: |
-          xmessage -timeout 30 "exchange_flow_test" &
-          rm -rf ~/.local/share/com.example.cake_wallet/ ~/Documents/cake_wallet/ ~/cake_wallet
-          exec timeout --signal=SIGKILL 900 flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test_suites/exchange_flow_test.dart
+      # - name: Test [exchange_flow_test]
+      #   if: ${{ !contains(env.message, 'skip tests') }}
+      #   timeout-minutes: 20
+      #   run: |
+      #     xmessage -timeout 30 "exchange_flow_test" &
+      #     rm -rf ~/.local/share/com.example.cake_wallet/ ~/Documents/cake_wallet/ ~/cake_wallet
+      #     exec timeout --signal=SIGKILL 900 flutter drive --driver=test_driver/integration_test.dart --target=integration_test/test_suites/exchange_flow_test.dart
       - name: Test [restore_wallet_through_seeds_flow_test]
-        if: ${{ contains(env.message, 'run tests') }}
+        if: ${{ !contains(env.message, 'skip tests') }}
         timeout-minutes: 20
         run: |
           xmessage -timeout 30 "restore_wallet_through_seeds_flow_test" &
diff --git a/integration_test/components/common_test_flows.dart b/integration_test/components/common_test_flows.dart
index 896994372..973eb0c7d 100644
--- a/integration_test/components/common_test_flows.dart
+++ b/integration_test/components/common_test_flows.dart
@@ -116,7 +116,6 @@ class CommonTestFlows {
   //* ========== Handles switching to wallet list or menu from dashboard ===============
   Future<void> switchToWalletMenuFromDashboardPage() async {
     _tester.printToConsole('Switching to Wallet Menu');
-    await _dashboardPageRobot.openDrawerMenu();
 
     await _dashboardPageRobot.dashboardMenuWidgetRobot.navigateToWalletMenu();
   }
@@ -211,6 +210,8 @@ class CommonTestFlows {
     await _welcomePageRobot.navigateToCreateNewWalletPage();
 
     await _selectWalletTypeForWallet(walletTypeToCreate);
+
+    await _welcomePageRobot.tapNewSingleSeed();
   }
 
   Future<void> _welcomeToRestoreFromSeedsOrKeysPath(
@@ -351,8 +352,12 @@ class CommonTestFlows {
         return secrets.nanoTestWalletSeeds;
       case WalletType.wownero:
         return secrets.wowneroTestWalletSeeds;
-      default:
-        return '';
+      case WalletType.zano:
+        return secrets.zanoTestWalletSeeds;
+      case WalletType.none:
+      case WalletType.haven:
+      case WalletType.banano:
+        throw Exception("Unable to get seeds for ${walletType}");
     }
   }
 
diff --git a/integration_test/robots/dashboard_menu_widget_robot.dart b/integration_test/robots/dashboard_menu_widget_robot.dart
index 34c76aa7d..052d2bea9 100644
--- a/integration_test/robots/dashboard_menu_widget_robot.dart
+++ b/integration_test/robots/dashboard_menu_widget_robot.dart
@@ -27,7 +27,7 @@ class DashboardMenuWidgetRobot {
   }
 
   Future<void> navigateToWalletMenu() async {
-    await commonTestCases.tapItemByKey('dashboard_page_menu_widget_wallet_menu_button_key');
+    await commonTestCases.tapItemByKey('dashboard_page_Wallets_action_button_key');
     await commonTestCases.defaultSleepTime();
   }
 
diff --git a/integration_test/robots/wallet_group_description_page_robot.dart b/integration_test/robots/wallet_group_description_page_robot.dart
index 364397f2a..030d3d567 100644
--- a/integration_test/robots/wallet_group_description_page_robot.dart
+++ b/integration_test/robots/wallet_group_description_page_robot.dart
@@ -1,5 +1,6 @@
 import 'package:cake_wallet/generated/i18n.dart';
 import 'package:cake_wallet/src/screens/new_wallet/wallet_group_description_page.dart';
+import 'package:flutter/foundation.dart';
 import 'package:flutter_test/flutter_test.dart';
 
 import '../components/common_test_cases.dart';
@@ -20,9 +21,11 @@ class WalletGroupDescriptionPageRobot {
   }
 
   Future<void> navigateToCreateNewSeedPage() async {
-    await commonTestCases.tapItemByKey(
-      'wallet_group_description_page_create_new_seed_button_key',
-    );
+    if (await(find.byKey(ValueKey('wallet_group_description_page_create_new_seed_button_key'))).hasFound) {
+      await commonTestCases.tapItemByKey(
+        'wallet_group_description_page_create_new_seed_button_key',
+      );
+    }
   }
 
   Future<void> navigateToChooseWalletGroup() async {
diff --git a/integration_test/robots/wallet_keys_robot.dart b/integration_test/robots/wallet_keys_robot.dart
index 85982b5c3..df86e03cf 100644
--- a/integration_test/robots/wallet_keys_robot.dart
+++ b/integration_test/robots/wallet_keys_robot.dart
@@ -71,7 +71,10 @@ class WalletKeysAndSeedPageRobot {
     if (walletType == WalletType.bitcoin ||
         walletType == WalletType.litecoin ||
         walletType == WalletType.bitcoinCash) {
-      commonTestCases.hasText(appStore.wallet!.seed!);
+      final seedWords = appStore.wallet!.seed!.split(" ");
+      for (var seedWord in seedWords) {
+        commonTestCases.hasTextAtLestOnce(seedWord);
+      }
       tester.printToConsole('$walletName wallet has seeds properly displayed');
     }
 
@@ -79,10 +82,14 @@ class WalletKeysAndSeedPageRobot {
         walletType == WalletType.solana ||
         walletType == WalletType.tron) {
       if (hasSeed) {
-        commonTestCases.hasText(appStore.wallet!.seed!);
+        final seedWords = appStore.wallet!.seed!.split(" ");
+        for (var seedWord in seedWords) {
+          commonTestCases.hasTextAtLestOnce(seedWord);
+        }
         tester.printToConsole('$walletName wallet has seeds properly displayed');
       }
       if (hasPrivateKey) {
+        await commonTestCases.tapItemByKey('wallet_keys_page_keys');
         commonTestCases.hasText(appStore.wallet!.privateKey!);
         tester.printToConsole('$walletName wallet has private key properly displayed');
       }
@@ -90,14 +97,19 @@ class WalletKeysAndSeedPageRobot {
 
     if (walletType == WalletType.nano || walletType == WalletType.banano) {
       if (hasSeed) {
-        commonTestCases.hasText(appStore.wallet!.seed!);
+        final seedWords = appStore.wallet!.seed!.split(" ");
+        for (var seedWord in seedWords) {
+          commonTestCases.hasTextAtLestOnce(seedWord);
+        }
         tester.printToConsole('$walletName wallet has seeds properly displayed');
       }
       if (hasHexSeed) {
+        await commonTestCases.tapItemByKey('wallet_keys_page_keys');
         commonTestCases.hasText(appStore.wallet!.hexSeed!);
         tester.printToConsole('$walletName wallet has hexSeed properly displayed');
       }
       if (hasPrivateKey) {
+        await commonTestCases.tapItemByKey('wallet_keys_page_keys');
         commonTestCases.hasText(appStore.wallet!.privateKey!);
         tester.printToConsole('$walletName wallet has private key properly displayed');
       }
@@ -130,35 +142,39 @@ class WalletKeysAndSeedPageRobot {
     final hasSeedLegacy = Polyseed.isValidSeed(seed);
 
     if (hasPublicSpendKey) {
+      await commonTestCases.tapItemByKey('wallet_keys_page_keys');
       commonTestCases.hasText(keys.publicSpendKey);
       tester.printToConsole('$walletName wallet has public spend key properly displayed');
     }
     if (hasPrivateSpendKey) {
+      await commonTestCases.tapItemByKey('wallet_keys_page_keys');
       commonTestCases.hasText(keys.privateSpendKey);
       tester.printToConsole('$walletName wallet has private spend key properly displayed');
     }
     if (hasPublicViewKey) {
+      await commonTestCases.tapItemByKey('wallet_keys_page_keys');
       commonTestCases.hasText(keys.publicViewKey);
       tester.printToConsole('$walletName wallet has public view key properly displayed');
     }
     if (hasPrivateViewKey) {
+      await commonTestCases.tapItemByKey('wallet_keys_page_keys');
       commonTestCases.hasText(keys.privateViewKey);
       tester.printToConsole('$walletName wallet has private view key properly displayed');
     }
     if (hasSeeds) {
-      await commonTestCases.dragUntilVisible(
-        '${walletName}_wallet_seed_item_key',
-        'wallet_keys_page_credentials_list_view_key',
-      );
-      commonTestCases.hasText(seed);
+      await commonTestCases.tapItemByKey('wallet_keys_page_seed');
+      final seedWords = seed.split(" ");
+      for (var seedWord in seedWords) {
+        commonTestCases.hasTextAtLestOnce(seedWord);
+      }
       tester.printToConsole('$walletName wallet has seeds properly displayed');
     }
     if (hasSeedLegacy) {
-      await commonTestCases.dragUntilVisible(
-        '${walletName}_wallet_seed_legacy_item_key',
-        'wallet_keys_page_credentials_list_view_key',
-      );
-      commonTestCases.hasText(legacySeed);
+      await commonTestCases.tapItemByKey('wallet_keys_page_seed_legacy');
+      final seedWords = legacySeed.split(" ");
+      for (var seedWord in seedWords) {
+        commonTestCases.hasTextAtLestOnce(seedWord);
+      }
       tester.printToConsole('$walletName wallet has legacy seeds properly displayed');
     }
   }
@@ -167,5 +183,6 @@ class WalletKeysAndSeedPageRobot {
     tester.printToConsole('Going back to dashboard from credentials page');
     await commonTestCases.goBack();
     await commonTestCases.goBack();
+    await commonTestCases.goBack();
   }
 }
diff --git a/integration_test/robots/welcome_page_robot.dart b/integration_test/robots/welcome_page_robot.dart
index 337ab56b3..65ad5025a 100644
--- a/integration_test/robots/welcome_page_robot.dart
+++ b/integration_test/robots/welcome_page_robot.dart
@@ -29,6 +29,11 @@ class WelcomePageRobot {
     await commonTestCases.defaultSleepTime();
   }
 
+  Future<void> tapNewSingleSeed() async {
+    await commonTestCases.tapItemByKey('wallet_group_description_page_create_new_seed_button_key');
+    await commonTestCases.defaultSleepTime();
+  }
+
   Future<void> navigateToRestoreWalletPage() async {
     await commonTestCases.tapItemByKey('welcome_page_restore_wallet_button_key');
     await commonTestCases.defaultSleepTime();
diff --git a/integration_test/test_suites/restore_wallet_through_seeds_flow_test.dart b/integration_test/test_suites/restore_wallet_through_seeds_flow_test.dart
index d8d873361..5b9bea79d 100644
--- a/integration_test/test_suites/restore_wallet_through_seeds_flow_test.dart
+++ b/integration_test/test_suites/restore_wallet_through_seeds_flow_test.dart
@@ -42,12 +42,20 @@ void main() {
         if (walletType == WalletType.solana) {
           continue;
         }
+        final seed = commonTestFlows.getWalletSeedsByWalletType(walletType);
+        if (seed.isEmpty) {
+          printV("----------------------------");
+          printV("- Skipped wallet: ${walletType}");
+          printV("- Make sure to add seed to secrets");
+          printV("----------------------------");
+          continue;
+        }
 
         await commonTestFlows.switchToWalletMenuFromDashboardPage();
 
         await commonTestFlows.restoreWalletFromWalletMenu(
           walletType,
-          commonTestFlows.getWalletSeedsByWalletType(walletType),
+          seed,
         );
 
         await dashboardPageRobot.confirmWalletTypeIsDisplayedCorrectly(walletType);
diff --git a/lib/src/screens/wallet_keys/wallet_keys_page.dart b/lib/src/screens/wallet_keys/wallet_keys_page.dart
index ab6762f8d..5684b89a5 100644
--- a/lib/src/screens/wallet_keys/wallet_keys_page.dart
+++ b/lib/src/screens/wallet_keys/wallet_keys_page.dart
@@ -124,9 +124,9 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
               dividerColor: Colors.transparent,
               padding: EdgeInsets.zero,
               tabs: [
-                Tab(text: S.of(context).widgets_seed),
-                if (showKeyTab) Tab(text: S.of(context).keys),
-                if (showLegacySeedTab) Tab(text: S.of(context).legacy),
+                Tab(text: S.of(context).widgets_seed, key: ValueKey('wallet_keys_page_seed')),
+                if (showKeyTab) Tab(text: S.of(context).keys, key: ValueKey('wallet_keys_page_keys'),),
+                if (showLegacySeedTab) Tab(text: S.of(context).legacy, key: ValueKey('wallet_keys_page_seed_legacy')),
               ],
             ),
           ),