diff --git a/lib/reducers/keyserver-reducer.js b/lib/reducers/keyserver-reducer.js
--- a/lib/reducers/keyserver-reducer.js
+++ b/lib/reducers/keyserver-reducer.js
@@ -2,6 +2,7 @@
 
 import { unsupervisedBackgroundActionType } from './lifecycle-state-reducer.js';
 import { updateActivityActionTypes } from '../actions/activity-actions.js';
+import { setClientDBStoreActionType } from '../actions/client-db-store-actions.js';
 import {
   updateLastCommunicatedPlatformDetailsActionType,
   setDeviceTokenActionTypes,
@@ -35,7 +36,10 @@
   type KeyserverStoreOperation,
 } from '../ops/keyserver-store-ops.js';
 import { queueActivityUpdatesActionType } from '../types/activity-types.js';
-import type { KeyserverStore } from '../types/keyserver-types.js';
+import type {
+  KeyserverInfos,
+  KeyserverStore,
+} from '../types/keyserver-types.js';
 import type { BaseAction } from '../types/redux-types.js';
 import {
   fullStateSyncActionType,
@@ -44,14 +48,42 @@
 import { updateTypes } from '../types/update-types-enum.js';
 import { processUpdatesActionType } from '../types/update-types.js';
 import { getConfig } from '../utils/config.js';
+import { getMessageForException } from '../utils/errors.js';
+import { assertObjectsAreEqual } from '../utils/objects.js';
 import { setURLPrefix } from '../utils/url-utils.js';
 import { ashoatKeyserverID } from '../utils/validation-utils.js';
 
+function assertKeyserverStoresAreEqual(
+  processedKeyserverStore: KeyserverInfos,
+  expectedKeyserverStore: KeyserverInfos,
+  location: string,
+  onStateDifference?: (message: string) => mixed,
+) {
+  try {
+    assertObjectsAreEqual(
+      processedKeyserverStore,
+      expectedKeyserverStore,
+      `KeyserverInfos - ${location}`,
+    );
+  } catch (e) {
+    console.log(
+      'Error processing KeyserverStore ops',
+      processedKeyserverStore,
+      expectedKeyserverStore,
+    );
+    const message = `Error processing KeyserverStore ops ${
+      getMessageForException(e) ?? '{no exception message}'
+    }`;
+    onStateDifference?.(message);
+  }
+}
+
 const { processStoreOperations: processStoreOps } = keyserverStoreOpsHandlers;
 
 export default function reduceKeyserverStore(
   state: KeyserverStore,
   action: BaseAction,
+  onStateDifference?: (message: string) => mixed,
 ): {
   keyserverStore: KeyserverStore,
   keyserverStoreOperations: $ReadOnlyArray<KeyserverStoreOperation>,
@@ -583,6 +615,19 @@
       keyserverStore: processStoreOps(state, [operation]),
       keyserverStoreOperations: [operation],
     };
+  } else if (action.type === setClientDBStoreActionType) {
+    // Once the functionality is confirmed to work correctly,
+    // we will proceed with returning keyserverInfos from the payload.
+    assertKeyserverStoresAreEqual(
+      action.payload.keyserverInfos ?? {},
+      state.keyserverInfos,
+      action.type,
+      onStateDifference,
+    );
+    return {
+      keyserverStore: state,
+      keyserverStoreOperations: [],
+    };
   }
 
   return {
diff --git a/lib/reducers/master-reducer.js b/lib/reducers/master-reducer.js
--- a/lib/reducers/master-reducer.js
+++ b/lib/reducers/master-reducer.js
@@ -84,6 +84,7 @@
   let { keyserverStore, keyserverStoreOperations } = reduceKeyserverStore(
     state.keyserverStore,
     action,
+    onStateDifferenceForStaff,
   );
 
   if (
diff --git a/lib/reducers/message-reducer.test.js b/lib/reducers/message-reducer.test.js
--- a/lib/reducers/message-reducer.test.js
+++ b/lib/reducers/message-reducer.test.js
@@ -291,6 +291,7 @@
         messages: clientDBMessages,
         reports: [],
         users: {},
+        keyserverInfos: {},
       },
     },
     {
diff --git a/lib/types/store-ops-types.js b/lib/types/store-ops-types.js
--- a/lib/types/store-ops-types.js
+++ b/lib/types/store-ops-types.js
@@ -5,6 +5,7 @@
   ClientDBDraftStoreOperation,
   ClientDBDraftInfo,
 } from './draft-types.js';
+import type { KeyserverInfos } from './keyserver-types.js';
 import type {
   ClientDBMessageInfo,
   ClientDBThreadMessageInfo,
@@ -70,4 +71,5 @@
   +messageStoreThreads: ?$ReadOnlyArray<ClientDBThreadMessageInfo>,
   +reports: ?$ReadOnlyArray<ClientReportCreationRequest>,
   +users: ?UserInfos,
+  +keyserverInfos: ?KeyserverInfos,
 };
diff --git a/native/data/sqlite-data-handler.js b/native/data/sqlite-data-handler.js
--- a/native/data/sqlite-data-handler.js
+++ b/native/data/sqlite-data-handler.js
@@ -7,6 +7,7 @@
 import { MediaCacheContext } from 'lib/components/media-cache-provider.react.js';
 import { useStaffContext } from 'lib/components/staff-provider.react.js';
 import { resolveKeyserverSessionInvalidation } from 'lib/keyserver-conn/recovery-utils.js';
+import { keyserverStoreOpsHandlers } from 'lib/ops/keyserver-store-ops.js';
 import { reportStoreOpsHandlers } from 'lib/ops/report-store-ops.js';
 import { threadStoreOpsHandlers } from 'lib/ops/thread-store-ops.js';
 import { userStoreOpsHandlers } from 'lib/ops/user-store-ops.js';
@@ -177,12 +178,15 @@
           messageStoreThreads,
           reports,
           users,
+          keyservers,
         } = await commCoreModule.getClientDBStore();
         const threadInfosFromDB =
           threadStoreOpsHandlers.translateClientDBData(threads);
-        const reportsFromDb =
+        const reportsFromDB =
           reportStoreOpsHandlers.translateClientDBData(reports);
-        const usersFromDb = userStoreOpsHandlers.translateClientDBData(users);
+        const usersFromDB = userStoreOpsHandlers.translateClientDBData(users);
+        const keyserverInfosFromDB =
+          keyserverStoreOpsHandlers.translateClientDBData(keyservers);
 
         dispatch({
           type: setClientDBStoreActionType,
@@ -192,8 +196,9 @@
             threadStore: { threadInfos: threadInfosFromDB },
             currentUserID: currentLoggedInUserID,
             messageStoreThreads,
-            reports: reportsFromDb,
-            users: usersFromDb,
+            reports: reportsFromDB,
+            users: usersFromDB,
+            keyserverInfos: keyserverInfosFromDB,
           },
         });
       } catch (setStoreException) {
diff --git a/web/database/utils/store.js b/web/database/utils/store.js
--- a/web/database/utils/store.js
+++ b/web/database/utils/store.js
@@ -22,6 +22,7 @@
     messageStoreThreads: null,
     reports: null,
     users: null,
+    keyserverInfos: null,
   };
   const data = await databaseModule.schedule({
     type: workerRequestMessageTypes.GET_CLIENT_STORE,
@@ -48,6 +49,14 @@
       },
     };
   }
+  if (data?.store?.keyservers) {
+    result = {
+      ...result,
+      keyserverInfos: keyserverStoreOpsHandlers.translateClientDBData(
+        data.store.keyservers,
+      ),
+    };
+  }
   return result;
 }