diff --git a/core/src/main/java/org/futo/circles/core/room/UserAccountDataDataSource.kt b/core/src/main/java/org/futo/circles/core/room/UserAccountDataDataSource.kt
new file mode 100644
index 0000000000000000000000000000000000000000..98f0d094f9d998f0d98afac34c4b858e0b4b1c02
--- /dev/null
+++ b/core/src/main/java/org/futo/circles/core/room/UserAccountDataDataSource.kt
@@ -0,0 +1,17 @@
+package org.futo.circles.core.room
+
+import org.futo.circles.core.provider.MatrixSessionProvider
+import javax.inject.Inject
+
+class UserAccountDataDataSource @Inject constructor() {
+
+    suspend fun saveSpacesTreeConfig(configMap: Map<String, String>) {
+        MatrixSessionProvider.getSessionOrThrow().accountDataService().updateUserAccountData(
+            SPACES_CONFIG_KEY, configMap
+        )
+    }
+
+    companion object {
+        private const val SPACES_CONFIG_KEY = "org.futo.circles.config"
+    }
+}
\ No newline at end of file