diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c
index b51d0b7f7f1766ffd18d9b122ba7b1e31e196d1e..9eb36ca47a82e7b5773383557734036d0d83d3ca 100644
--- a/modules/channel/chain/dap_stream_ch_chain.c
+++ b/modules/channel/chain/dap_stream_ch_chain.c
@@ -828,12 +828,14 @@ static bool s_gdb_in_pkt_proc_callback(dap_proc_thread_t *a_thread, void *a_arg)
         uint32_t l_last_type = l_store_obj->type;
         bool l_group_changed = false;
         uint32_t l_time_store_lim_hours = dap_config_get_item_uint32_default(g_config, "global_db", "time_store_limit", 72);
-        dap_nanotime_t l_time_now = dap_nanotime_now() + dap_nanotime_from_sec(120);    // time differnece consideration
+        dap_nanotime_t l_time_now = dap_nanotime_now() + dap_nanotime_from_sec(3600 *24);    // time differnece consideration
         dap_nanotime_t l_limit_time = l_time_store_lim_hours ? l_time_now - dap_nanotime_from_sec(l_time_store_lim_hours * 3600) : 0;
         for (size_t i = 0; i < l_data_obj_count; i++) {
             // obj to add
             dap_store_obj_t *l_obj = l_store_obj + i;
-            if (l_obj->timestamp >> 32 == 0 || l_obj->timestamp > l_time_now || l_obj->group == NULL)
+            if (l_obj->timestamp >> 32 == 0 ||
+                    //l_obj->timestamp > l_time_now ||
+                    l_obj->group == NULL)
                 continue;       // the object is broken
             if (s_list_white_groups) {
                 int l_ret = -1;
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index 39ebba29c096f6abfe74b766cba294068946acec..843ab84cf2f9b1a56179f06b659dad298e5d6646 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -415,8 +415,8 @@ void dap_chain_net_sync_gdb_broadcast(dap_global_db_context_t *a_context, dap_st
     if (!a_arg || !a_obj || !a_obj->group || !a_obj->key)
         return;
     // Check object lifetime for broadcasting decision
-    dap_nanotime_t l_time_diff = a_obj->timestamp ? a_obj->timestamp - dap_nanotime_now() : (dap_nanotime_t)-1;
-    if (dap_nanotime_to_sec(l_time_diff) > DAP_BROADCAST_LIFETIME * 60)
+    dap_time_t l_time_diff = dap_nanotime_to_sec(dap_nanotime_now() - a_obj->timestamp);
+    if (l_time_diff > DAP_BROADCAST_LIFETIME * 60)
         return;
 
     dap_chain_net_t *l_net = (dap_chain_net_t *)a_arg;
@@ -493,8 +493,7 @@ static void s_chain_callback_notify(void *a_arg, dap_chain_t *a_chain, dap_chain
     if (!HASH_COUNT(PVT(l_net)->downlinks))
         return;
     // Check object lifetime for broadcasting decision
-    dap_time_t l_timestamp = a_chain->callback_atom_get_timestamp(a_atom);
-    dap_time_t l_time_diff = l_timestamp ? l_timestamp - dap_time_now() : (dap_time_t)-1;
+    dap_time_t l_time_diff = dap_time_now() - a_chain->callback_atom_get_timestamp(a_atom);
     if (l_time_diff > DAP_BROADCAST_LIFETIME * 60)
         return;
 
@@ -799,7 +798,7 @@ static void s_node_link_callback_disconnected(dap_chain_node_client_t *a_node_cl
                 dap_chain_node_info_t *l_link_node_info = s_get_balancer_link_from_cfg(l_net);
                 if (l_link_node_info) {
                     if (!s_new_balancer_link_request(l_net, 1))
-                        log_it(L_ERROR, "Can't process node info dns request");
+                        log_it(L_ERROR, "Can't process node info balancer request");
                     DAP_DELETE(l_link_node_info);
                 }
             }
@@ -1033,16 +1032,17 @@ static bool s_new_balancer_link_request(dap_chain_net_t *a_net, int a_link_repla
         return false;
     }
     pthread_rwlock_unlock(&l_net_pvt->states_lock);
-    dap_chain_node_info_t *l_link_node_info = s_get_balancer_link_from_cfg(a_net);
-    if (a_link_replace_tries >= 5) {
+    if (a_link_replace_tries >= 3) {
         // network problems, make static links
         s_fill_links_from_root_aliases(a_net);
         pthread_rwlock_wrlock(&l_net_pvt->uplinks_lock);
         struct net_link *l_free_link = s_get_free_link(a_net);
-        s_net_link_start(a_net, l_free_link, 0);
+        if (l_free_link)
+            s_net_link_start(a_net, l_free_link, l_net_pvt->reconnect_delay);
         pthread_rwlock_unlock(&l_net_pvt->uplinks_lock);
         return false;
     }
+    dap_chain_node_info_t *l_link_node_info = s_get_balancer_link_from_cfg(a_net);
     if (!l_link_node_info)
         return false;
     char l_node_addr_str[INET_ADDRSTRLEN] = {};