diff --git a/dap-sdk/CMakeLists.txt b/dap-sdk/CMakeLists.txt
index 9a6f3fa6394bd90cbc3d3d93c2aae300b843a209..f1b30e0ed0b169065f03f9b01d38c9ae34a4d3c9 100644
--- a/dap-sdk/CMakeLists.txt
+++ b/dap-sdk/CMakeLists.txt
@@ -1,4 +1,4 @@
-set(DAP_SDK_NATIVE_VERSION "2.2-2")
+set(DAP_SDK_NATIVE_VERSION "2.3-0")
 
 # We switch off SSL until its not switched on back
 if(DAPSDK_MODULES MATCHES "ssl-support")
diff --git a/dap-sdk/net/client/dap_client.c b/dap-sdk/net/client/dap_client.c
index d992fe2d8ec45b19c64b2f9581ff6a9cfdad7db0..d9d364beaf5d2bb1c498295604df628dcb1548f2 100644
--- a/dap-sdk/net/client/dap_client.c
+++ b/dap-sdk/net/client/dap_client.c
@@ -177,6 +177,46 @@ uint16_t dap_client_get_uplink_port_unsafe(dap_client_t * a_client)
     return DAP_CLIENT_PVT(a_client)->uplink_port;
 }
 
+/**
+ * @brief dap_client_set_auth_cert
+ * @param a_client
+ * @param a_chain_net_name
+ * @param a_option
+ */
+void dap_client_set_auth_cert(dap_client_t *a_client, const char *a_chain_net_name)
+{
+    const char *l_auth_hash_str = NULL;
+
+    if(a_client == NULL || a_chain_net_name == NULL){
+        log_it(L_ERROR,"Chain-net is NULL for dap_client_set_auth_cert");
+        return;
+    }
+
+    char *l_path = dap_strdup_printf("network/%s", a_chain_net_name);
+    if (!l_path) {
+        log_it(L_ERROR, "Can't allocate memory: file: %s line: %d", __FILE__, __LINE__);
+        return;
+    }
+
+    dap_config_t *l_cfg = dap_config_open(l_path);
+    free(l_path);
+    if (!l_cfg) {
+        log_it(L_ERROR, "Can't allocate memory: file: %s line: %d", __FILE__, __LINE__);
+        return;
+    }
+
+    dap_cert_t *l_cert = dap_cert_find_by_name(dap_config_get_item_str(l_cfg, "general", "auth_cert"));
+    if (!l_cert) {
+        dap_config_close(l_cfg);
+        log_it(L_ERROR,"l_cert is NULL by dap_cert_find_by_name");
+        return;
+    }
+    dap_client_set_auth_cert_unsafe(a_client, l_cert);
+
+    //dap_cert_delete(l_cert);
+    dap_config_close(l_cfg);
+}
+
 void dap_client_set_auth_cert_unsafe(dap_client_t * a_client, dap_cert_t *a_cert)
 {
     if(a_client == NULL){
diff --git a/dap-sdk/net/client/include/dap_client.h b/dap-sdk/net/client/include/dap_client.h
index 8457e838b7cfd55a0c0ca6eabdce765d5d20e815..0173b8cc673cb8db251c47f18b0bf3f78b308cb0 100644
--- a/dap-sdk/net/client/include/dap_client.h
+++ b/dap-sdk/net/client/include/dap_client.h
@@ -139,6 +139,7 @@ dap_stream_ch_t * dap_client_get_stream_ch_unsafe(dap_client_t * a_client, uint8
 const char * dap_client_get_stream_id(dap_client_t * a_client);
 void dap_client_set_active_channels_unsafe (dap_client_t * a_client, const char * a_active_channels);
 void dap_client_set_auth_cert_unsafe(dap_client_t * a_client, dap_cert_t *a_cert);
+void dap_client_set_auth_cert(dap_client_t *a_client, const char *a_chain_net_name);
 
 dap_client_stage_t dap_client_get_stage(dap_client_t * a_client);
 dap_client_stage_status_t dap_client_get_stage_status(dap_client_t * a_client);
diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c
index 46a0b193dd0cc599bee5e50561cc85dd53002d20..cf294c6e17241e0153252f11b1dadf89037e4e4d 100644
--- a/modules/net/dap_chain_node_client.c
+++ b/modules/net/dap_chain_node_client.c
@@ -666,7 +666,7 @@ static bool dap_chain_node_client_connect_internal(dap_chain_node_client_t *a_no
     a_node_client->client->_inheritor = a_node_client;
     dap_client_set_active_channels_unsafe(a_node_client->client, a_active_channels);
 
-    //dap_client_set_auth_cert(a_node_client->client, dap_cert_find_by_name("auth")); // TODO provide the certificate choice
+    dap_client_set_auth_cert(a_node_client->client, a_node_client->net->pub.name); // TODO provide the certificate choice
 
     int hostlen = 128;
     char host[hostlen];