diff --git a/applications/zpc/components/dotdot_mapper/rules/UserCredential.uam b/applications/zpc/components/dotdot_mapper/rules/UserCredential.uam
new file mode 100644
index 000000000..40f64380f
--- /dev/null
+++ b/applications/zpc/components/dotdot_mapper/rules/UserCredential.uam
@@ -0,0 +1,27 @@
+// User Credential CC
+def zwUSER_CREDENTIAL_USER_COUNT 0x8302
+def zwUSER_CREDENTIAL_SUPPORTED_CREDENTIAL_RULES 0x8303
+def zwUSER_CREDENTIAL_SUPPORTED_USER_TYPES 0x8308
+def zwUSER_CREDENTIAL_SUPPORT_CREDENTIAL_CHECKSUM 0x8309
+def zwUSER_CREDENTIAL_SUPPORT_ADMIN_PIN_CODE 0x830A
+def zwUSER_CREDENTIAL_SUPPORT_ADMIN_PIN_CODE_DEACTIVATION 0x830B
+
+// This represents short CamelCase labels the attributes in the DotDot UserCredential cluster
+def zb_SupportedUserUniqueIdentifiers 0xfd080000
+def zb_SupportedCredentialRules 0xfd080001
+// def zb_SupportedCredentialTypes 0xfd080002 Binding is done in user_credential directly
+def zb_SupportedUserTypes 0xfd080003
+def zb_SupportCredentialChecksum 0xfd080004
+def zb_SupportAdminPinCode 0xfd080005
+def zb_SupportAdminPinCodeDeactivation 0xfd080006
+// def zb_AdminPinCode 0xfd080007 Binding is done in user_credential_cluster_server directly
+
+scope 0 chain_reaction(0) {
+ r'zb_SupportedUserUniqueIdentifiers = r'zwUSER_CREDENTIAL_USER_COUNT
+ r'zb_SupportedCredentialRules = r'zwUSER_CREDENTIAL_SUPPORTED_CREDENTIAL_RULES
+ r'zb_SupportedUserTypes = r'zwUSER_CREDENTIAL_SUPPORTED_USER_TYPES
+
+ r'zb_SupportCredentialChecksum = r'zwUSER_CREDENTIAL_SUPPORT_CREDENTIAL_CHECKSUM
+ r'zb_SupportAdminPinCode = r'zwUSER_CREDENTIAL_SUPPORT_ADMIN_PIN_CODE
+ r'zb_SupportAdminPinCodeDeactivation = r'zwUSER_CREDENTIAL_SUPPORT_ADMIN_PIN_CODE_DEACTIVATION
+}
\ No newline at end of file
diff --git a/applications/zpc/components/zcl_cluster_servers/CMakeLists.txt b/applications/zpc/components/zcl_cluster_servers/CMakeLists.txt
index 8827e1f08..bef0569bc 100644
--- a/applications/zpc/components/zcl_cluster_servers/CMakeLists.txt
+++ b/applications/zpc/components/zcl_cluster_servers/CMakeLists.txt
@@ -9,6 +9,7 @@ add_library(
zcl_cluster_servers
src/configuration_parameter_cluster_server.cpp
src/humidity_control_cluster_server.c
+ src/user_credential_cluster_server.cpp
src/user_code_cluster_server.cpp
src/fan_control_cluster_server.c
src/zcl_binding_cluster_server.cpp
diff --git a/applications/zpc/components/zcl_cluster_servers/src/configuration_parameter_cluster_server.cpp b/applications/zpc/components/zcl_cluster_servers/src/configuration_parameter_cluster_server.cpp
index 5c57bd403..3f2c928e1 100644
--- a/applications/zpc/components/zcl_cluster_servers/src/configuration_parameter_cluster_server.cpp
+++ b/applications/zpc/components/zcl_cluster_servers/src/configuration_parameter_cluster_server.cpp
@@ -521,7 +521,7 @@ static void
clear_configuration_parameters_vector(configuration);
// Do it again for the Reported value
- get_configuration_parameters(endpoint_id_node,
+ get_configuration_parameters(endpoint_id_node,
configuration,
REPORTED_ATTRIBUTE);
uic_mqtt_dotdot_configuration_parameters_configuration_parameters_publish(
diff --git a/applications/zpc/components/zcl_cluster_servers/src/user_credential_cluster_server.cpp b/applications/zpc/components/zcl_cluster_servers/src/user_credential_cluster_server.cpp
new file mode 100644
index 000000000..6cc3e2331
--- /dev/null
+++ b/applications/zpc/components/zcl_cluster_servers/src/user_credential_cluster_server.cpp
@@ -0,0 +1,1208 @@
+/******************************************************************************
+ * # License
+ * Copyright 2024 Silicon Laboratories Inc. www.silabs.com
+ ******************************************************************************
+ * The licensor of this software is Silicon Laboratories Inc. Your use of this
+ * software is governed by the terms of Silicon Labs Master Software License
+ * Agreement (MSLA) available at
+ * www.silabs.com/about-us/legal/master-software-license-agreement. This
+ * software is distributed to you in Source Code format and is governed by the
+ * sections of the MSLA applicable to Source Code.
+ *
+ *****************************************************************************/
+#include "user_credential_cluster_server.h"
+#include "zcl_cluster_servers_helpers.hpp"
+// Interfaces
+#include "zwave_command_class_user_credential.h"
+#include "zwave_command_class_user_credential_api.h"
+
+// ZPC includes
+#include "zpc_attribute_store.h"
+#include "zpc_attribute_store_network_helper.h"
+#include "zwave_command_class_generic_types.h"
+#include "attribute_store_defined_attribute_types.h"
+#include "attribute_store_type_registration.h"
+
+// Includes from Unify shared components
+#include "attribute.hpp"
+#include "attribute_store_helper.h"
+#include "sl_log.h"
+
+// Includes from auto-generated files
+#include "dotdot_mqtt.h"
+#include "dotdot_mqtt_helpers.hpp"
+#include "zap-types.h"
+
+// Generic includes
+#include
+#include
+#include
+#include