diff --git a/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c b/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c
index 6066fa11d2d4e6944f8ee63ef7f81be20862a2d8..c14c1be39bf54a1eb06c10a34e0df745ebef1708 100644
--- a/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c
+++ b/modules/channel/chain-net-srv/dap_stream_ch_chain_net_srv.c
@@ -1181,8 +1181,8 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch , void* a_arg)
         if (l_request->data_size_recv) {
             l_request->data_size = l_request->data_size_recv;
             if (!l_request->data_size_send){
-                l_request = (pkt_test_t*)DAP_DUP_SIZE(l_request, sizeof(pkt_test_t));
-                l_request = DAP_REALLOC(l_request, sizeof(pkt_test_t) + l_request->data_size);
+                l_request = DAP_NEW_Z_SIZE(pkt_test_t, sizeof(pkt_test_t) + l_request->data_size);
+                *l_request = *(pkt_test_t*)l_ch_pkt->data;
             }
 
             randombytes(l_request->data, l_request->data_size);
diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c
index 57688fda6673bf5681070d3042bb074884c937fa..7dbf04b51274ef029b745509fa14f186eb41158e 100644
--- a/modules/mempool/dap_chain_mempool.c
+++ b/modules/mempool/dap_chain_mempool.c
@@ -1468,7 +1468,7 @@ void dap_chain_mempool_filter(dap_chain_t *a_chain, int *a_removed){
     int l_removed = 0;
     char * l_gdb_group = dap_chain_net_get_gdb_group_mempool_new(a_chain);
     size_t l_objs_size = 0;
-    dap_time_t l_cut_off_time = dap_time_now() - 2592000; // 2592000 sec = 30 days
+    dap_time_t l_cut_off_time = dap_time_now() - 3 * 24 * 3600; // 3 days
     char l_cut_off_time_str[80] = {'\0'};
     dap_time_to_str_rfc822(l_cut_off_time_str, 80, l_cut_off_time);
     dap_global_db_obj_t * l_objs = dap_global_db_get_all_sync(l_gdb_group, &l_objs_size);
diff --git a/modules/net/dap_chain_ledger.c b/modules/net/dap_chain_ledger.c
index ca07ba8f0eecc901e705c1a5a86d064fc1aa045e..3b8b2c786983a0905efabf1fbbfbdef08dcd4618 100644
--- a/modules/net/dap_chain_ledger.c
+++ b/modules/net/dap_chain_ledger.c
@@ -4210,30 +4210,6 @@ int dap_ledger_tx_cache_check(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx
         }
     }
 
-
-    if (dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTING, NULL)){
-        if (s_voting_callback){
-            if (!s_voting_callback(a_ledger, TX_ITEM_TYPE_VOTING, a_tx, false)){
-                debug_if(s_debug_more, L_WARNING, "Verificator check error for voting.");
-                l_err_num = DAP_LEDGER_TX_CHECK_VERIFICATOR_CHECK_FAILURE;
-            }
-        } else {
-            debug_if(s_debug_more, L_WARNING, "Verificator check error for voting item");
-            l_err_num = DAP_LEDGER_TX_CHECK_NO_VERIFICATOR_SET;
-        }
-    }else if (dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTE, NULL)){
-        if (s_voting_callback){
-            if (!s_voting_callback(a_ledger, TX_ITEM_TYPE_VOTE, a_tx, false)){
-                debug_if(s_debug_more, L_WARNING, "Verificator check error for vote.");
-                l_err_num = DAP_LEDGER_TX_CHECK_VERIFICATOR_CHECK_FAILURE;
-            }
-        } else {
-            debug_if(s_debug_more, L_WARNING, "Verificator check error for vote item");
-            l_err_num = DAP_LEDGER_TX_CHECK_NO_VERIFICATOR_SET;
-        }
-    }
-
-
     // 8. Check sovereign tax
     if (l_tax_check && !l_err_num) {
         uint256_t l_expected_tax = {};
@@ -4248,6 +4224,31 @@ int dap_ledger_tx_cache_check(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx
         }
     }
 
+    dap_list_t *l_items_voting;
+    if ((l_items_voting = dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTING, NULL))) {
+        if (s_voting_callback){
+            if (!s_voting_callback(a_ledger, TX_ITEM_TYPE_VOTING, a_tx, false)){
+                debug_if(s_debug_more, L_WARNING, "Verificator check error for voting.");
+                l_err_num = DAP_LEDGER_TX_CHECK_VERIFICATOR_CHECK_FAILURE;
+            }
+        } else {
+            debug_if(s_debug_more, L_WARNING, "Verificator check error for voting item");
+            l_err_num = DAP_LEDGER_TX_CHECK_NO_VERIFICATOR_SET;
+        }
+        dap_list_free(l_items_voting);
+    }else if ((l_items_voting = dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTE, NULL))) {
+       if (s_voting_callback){
+           if (!s_voting_callback(a_ledger, TX_ITEM_TYPE_VOTE, a_tx, false)){
+               debug_if(s_debug_more, L_WARNING, "Verificator check error for vote.");
+               l_err_num = DAP_LEDGER_TX_CHECK_VERIFICATOR_CHECK_FAILURE;
+           }
+       } else {
+           debug_if(s_debug_more, L_WARNING, "Verificator check error for vote item");
+           l_err_num = DAP_LEDGER_TX_CHECK_NO_VERIFICATOR_SET;
+       }
+       dap_list_free(l_items_voting);
+    }
+
     if (a_main_ticker && !l_err_num)
         *a_main_ticker = dap_strdup(l_main_ticker);
 
@@ -4653,11 +4654,17 @@ int dap_ledger_tx_add(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx, dap_ha
         }
         DAP_DELETE (l_addr_str);
     }
-
-    if (dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTING, NULL) && s_voting_callback)
+    dap_list_t *l_items_voting;
+    if ((l_items_voting = dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTING, NULL)) && s_voting_callback) {
+        dap_list_free(l_items_voting);
         s_voting_callback(a_ledger, TX_ITEM_TYPE_VOTING, a_tx, true);
-    else if (dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTE, NULL) && s_voting_callback)
+    }
+    else if ((l_items_voting = dap_chain_datum_tx_items_get((dap_chain_datum_tx_t*) a_tx, TX_ITEM_TYPE_VOTE, NULL)) && s_voting_callback) {
+        dap_list_free(l_items_voting);
         s_voting_callback(a_ledger, TX_ITEM_TYPE_VOTE, a_tx, true);
+    }
+
+
 
     // add transaction to the cache list
     dap_ledger_tx_item_t *l_tx_item = DAP_NEW_Z(dap_ledger_tx_item_t);
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index c25241d26335e11d2f6e82e5823e3b7dc8ed3a30..534edc9d83fd0ed22c708f090528ab437b426a6d 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -2712,12 +2712,11 @@ int s_net_load(dap_chain_net_t *a_net)
     dap_chain_net_t *l_net = a_net;
 
     dap_config_t *l_cfg = NULL;
-    dap_string_t *l_cfg_path = dap_string_new("network/");
-    dap_string_append(l_cfg_path,a_net->pub.name);
-
-    if( !( l_cfg = dap_config_open ( l_cfg_path->str ) ) ) {
+    char *l_cfg_path = dap_strdup_printf("network/%s", a_net->pub.name);
+    l_cfg = dap_config_open ( l_cfg_path );
+    DAP_DELETE(l_cfg_path);
+    if (!l_cfg) {
         log_it(L_ERROR,"Can't open default network config");
-        dap_string_free(l_cfg_path,true);
         return -1;
     }
 
diff --git a/modules/net/dap_chain_net_anchor.c b/modules/net/dap_chain_net_anchor.c
index dfa2bb8e583239e59933d06478910c1d898677cf..581836b24baa05aff34f609cdef0c5ad9d11ee6e 100644
--- a/modules/net/dap_chain_net_anchor.c
+++ b/modules/net/dap_chain_net_anchor.c
@@ -148,7 +148,8 @@ int dap_chain_net_anchor_verify(dap_chain_datum_anchor_t *a_anchor, size_t a_dat
             // Each sign change the sign_size field by adding its size after signing. So we need to change this field in header for each sign.
             l_signs_size_for_current_sign += l_sign_max_size;
     }
-
+    DAP_DELETE(l_unique_decree_signs);
+    DAP_DELETE(l_decree_signs_arr);
     l_anchor->header.signs_size = l_signs_size_for_current_sign;
 
     if(!l_signs_verify_counter)
diff --git a/modules/net/dap_chain_net_node_list.c b/modules/net/dap_chain_net_node_list.c
index 2320071f16ed66ee1fac1c58768660d0e60d8beb..73d1787adbafb9e69192a573a1a87ca7e76e3ff4 100644
--- a/modules/net/dap_chain_net_node_list.c
+++ b/modules/net/dap_chain_net_node_list.c
@@ -292,5 +292,6 @@ int dap_chain_net_node_list_init()
     for (uint16_t i = 0; i < l_net_count; i++) {
         dap_chain_net_add_nodelist_notify_callback(l_net_list[i], s_node_list_callback_notify, l_net_list[i]);
     }
+    DAP_DELETE(l_net_list);
     return 0;
 }
diff --git a/modules/net/dap_chain_node_cli.c b/modules/net/dap_chain_node_cli.c
index 9b1c0eb71e10bab1c371d21d9b7b14286d6dc507..324ca95a2dd52c2aab94d105091bbe22319c5fec 100644
--- a/modules/net/dap_chain_node_cli.c
+++ b/modules/net/dap_chain_node_cli.c
@@ -84,9 +84,10 @@ int dap_chain_node_cli_init(dap_config_t * g_config)
     dap_cli_server_cmd_add("global_db", com_global_db, "Work with global database",
             "global_db cells add -cell <cell id> \n"
             "global_db flush \n\n"
-            "global_db write -group <group_name> -key <key_name> -value <value>"
-            "global_db read -group <group_name> -key <key_name>"
-            "global_db delete -group <group_name> -key <key_name>"
+            "global_db write -group <group_name> -key <key_name> -value <value>\n"
+            "global_db read -group <group_name> -key <key_name>\n"
+            "global_db delete -group <group_name> -key <key_name>\n"
+            "global_db group_list\n"
             "global_db drop_table -group <group_name>\n"
             "global_db get_keys -group <group name>"
 
diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c
index 9c6e87cd792fbe8df2a0a87a90d3e308de6841ac..82ae9bbcb3ba157b0ea1287cde28a09abc759d39 100644
--- a/modules/net/dap_chain_node_cli_cmd.c
+++ b/modules/net/dap_chain_node_cli_cmd.c
@@ -605,7 +605,8 @@ void s_dap_chain_net_purge(dap_chain_net_t * a_net)
 int com_global_db(int a_argc, char ** a_argv, void **a_str_reply)
 {
     enum {
-        CMD_NONE, CMD_NAME_CELL, CMD_ADD, CMD_FLUSH, CMD_RECORD, CMD_WRITE, CMD_READ, CMD_DELETE, CMD_DROP, CMD_GET_KEYS
+        CMD_NONE, CMD_NAME_CELL, CMD_ADD, CMD_FLUSH, CMD_RECORD, CMD_WRITE, CMD_READ,
+        CMD_DELETE, CMD_DROP, CMD_GET_KEYS, CMD_GROUP_LIST
     };
     int arg_index = 1;
     int cmd_name = CMD_NONE;
@@ -626,6 +627,8 @@ int com_global_db(int a_argc, char ** a_argv, void **a_str_reply)
                 cmd_name = CMD_DROP;
     else if(dap_cli_server_cmd_find_option_val(a_argv, arg_index, dap_min(a_argc, arg_index + 1), "get_keys", NULL))
             cmd_name = CMD_GET_KEYS;
+    else if(dap_cli_server_cmd_find_option_val(a_argv, arg_index, dap_min(a_argc, arg_index + 1), "group_list", NULL))
+            cmd_name = CMD_GROUP_LIST;
 
     switch (cmd_name) {
     case CMD_NAME_CELL:
@@ -867,16 +870,33 @@ int com_global_db(int a_argc, char ** a_argv, void **a_str_reply)
         }
 
         size_t l_out_len = 0;
-        uint8_t *l_value_out = dap_global_db_get_sync(l_group_str, l_key_str, &l_out_len, NULL, NULL);
-
-        if (!l_value_out || !l_out_len)
+        dap_nanotime_t l_ts = 0;
+        uint8_t *l_value_out = dap_global_db_get_sync(l_group_str, l_key_str, &l_out_len, NULL, &l_ts);
+        /*if (!l_value_out || !l_out_len)
         {
             dap_cli_server_cmd_set_reply_text(a_str_reply, "Record with key %s in group %s not found", l_key_str, l_group_str);
             return -121;
+        }*/
+        if (l_ts) {
+            char l_ts_str[80] = { '\0' };
+            dap_gbd_time_to_str_rfc822(l_ts_str, sizeof(l_ts_str), l_ts);
+            char *l_value_hexdump = dap_dump_hex(l_value_out, l_out_len);
+            if (l_value_hexdump) {
+
+                dap_cli_server_cmd_set_reply_text(a_str_reply, "\n\"%s : %s\"\nTime: %s\nValue len: %zu\nValue hex:\n\n%s",
+                                                  l_group_str, l_key_str, l_ts_str, l_out_len, l_value_hexdump);
+                DAP_DELETE(l_value_hexdump);
+            } else {
+                dap_cli_server_cmd_set_reply_text(a_str_reply, "\n\"%s : %s\"\nTime: %s\nNo value\n",
+                                                  l_group_str, l_key_str, l_ts_str);
+            }
+            DAP_DELETE(l_value_out);
+        } else {
+            dap_cli_server_cmd_set_reply_text(a_str_reply, "\nRecord \"%s : %s\" not found\n",
+                                              l_group_str, l_key_str);
         }
 
-        dap_cli_server_cmd_set_reply_text(a_str_reply, "Group %s, key %s, data:\n %s", l_group_str, l_key_str, (char*)l_value_out);
-        DAP_DELETE(l_value_out);
+
         return 0;
     }
     case CMD_DELETE:
@@ -915,7 +935,7 @@ int com_global_db(int a_argc, char ** a_argv, void **a_str_reply)
             return 0;
         }
 
-        if (dap_global_db_del(l_group_str, l_key_str, NULL, NULL)) {
+        if (!dap_global_db_del(l_group_str, l_key_str, NULL, NULL)) {
             dap_cli_server_cmd_set_reply_text(a_str_reply, "Record with key %s in group %s was deleted successfuly", l_key_str, l_group_str);
             return 0;
         } else {
@@ -962,12 +982,26 @@ int com_global_db(int a_argc, char ** a_argv, void **a_str_reply)
         }
 
         dap_string_t *l_ret_str = dap_string_new(NULL);
-        for(size_t i = 0; i < l_objs_count; i++){
-            dap_string_append_printf(l_ret_str, "%s\n", l_obj[i].key);
+        for(size_t i = 0; i < l_objs_count; i++) {
+            char l_ts[64] = { '\0' };
+            dap_gbd_time_to_str_rfc822(l_ts, sizeof(l_ts), l_obj[i].timestamp);
+            dap_string_append_printf(l_ret_str, "\t%s, %s\n", l_obj[i].key, l_ts);
         }
-
-        dap_cli_server_cmd_set_reply_text(a_str_reply, "Keys list for group %s:\n%s\n", l_group_str, l_ret_str->str);
+        dap_global_db_objs_delete(l_obj, l_objs_count);
+        dap_cli_server_cmd_set_reply_text(a_str_reply, "Keys list for group \"%s:\n\n%s\n", l_group_str, l_ret_str->str);
+        dap_string_free(l_ret_str, true);
+        return 0;
+    }
+    case CMD_GROUP_LIST: {
+        dap_string_t *l_ret_str = dap_string_new(NULL);
+        dap_list_t *l_group_list = dap_global_db_driver_get_groups_by_mask("*");
+        size_t l_count = 0;
+        for (dap_list_t *l_list = l_group_list; l_list; l_list = dap_list_next(l_list), ++l_count) {
+            dap_string_append_printf(l_ret_str, "\t%-40s : %zu records\n", (char*)l_list->data, dap_global_db_driver_count((char*)l_list->data, 1));
+        }
+        dap_cli_server_cmd_set_reply_text(a_str_reply, "Group list:\n%sTotal count: %zu\n", l_ret_str->str, l_count);
         dap_string_free(l_ret_str, true);
+        dap_list_free(l_group_list);
         return 0;
     }
     default:
@@ -1922,6 +1956,7 @@ int com_help(int a_argc, char **a_argv, void **a_str_reply)
         dap_cli_server_cmd_set_reply_text(a_str_reply,
                 "Available commands:\n\n%s\n",
                 l_help_list_str->len ? l_help_list_str->str : "NO ANY COMMAND WERE DEFINED");
+        dap_string_free(l_help_list_str, true);
         return 0;
     }
 }
@@ -2339,7 +2374,7 @@ int dap_chain_node_cli_cmd_values_parse_net_chain_for_json(int *a_arg_index, int
         l_str_to_reply = dap_strcat2(l_str_to_reply,l_str_to_reply_chain);
         dap_string_t* l_net_str = dap_cli_list_net();
         l_str_to_reply = dap_strcat2(l_str_to_reply,l_net_str->str);
-        dap_json_rpc_error_add(DAP_CHAIN_NODE_CLI_CMD_VALUES_PARSE_NET_CHAIN_ERR_NET_NOT_FOUND, "%s can't find network \"%s\"\n%s", a_argv[0], l_net_str, l_str_to_reply);
+        dap_json_rpc_error_add(DAP_CHAIN_NODE_CLI_CMD_VALUES_PARSE_NET_CHAIN_ERR_NET_NOT_FOUND, "%s can't find network \"%s\"\n%s", a_argv[0], l_net_str->str, l_str_to_reply);
         return DAP_CHAIN_NODE_CLI_CMD_VALUES_PARSE_NET_CHAIN_ERR_NET_NOT_FOUND;
     }
 
@@ -3188,7 +3223,7 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a
                 dap_list_free(l_list_out_items);
             } break;
             case DAP_CHAIN_DATUM_TOKEN_EMISSION: {
-                size_t l_emi_size = 0;
+                size_t l_emi_size = l_datum->header.data_size;
                 dap_chain_datum_token_emission_t *l_emi = dap_chain_datum_emission_read(l_datum->data, &l_emi_size);
                 if (l_wallet_addr && l_emi && dap_chain_addr_compare(l_wallet_addr, &l_emi->hdr.address))
                     datum_is_accepted_addr = true;
diff --git a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
index da0906debc9ab1e93e9724e728de4b0bbba8cb57..1616bc2ab4b98fd80a75ebe18b4fb80feb734b2d 100644
--- a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
+++ b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
@@ -233,7 +233,7 @@ static bool s_stake_verificator_callback(dap_ledger_t UNUSED_ARG *a_ledger, dap_
         log_it(L_WARNING, "Trying to spend conditional tx not by owner");
         return false;
     }
-    if (a_tx_in->header.ts_created < 1705104000) // Jan 13 2024 00:00:00 GMT, old policy rules
+    if (a_tx_in->header.ts_created < 1706227200) // Jan 26 2024 00:00:00 GMT, old policy rules
         return true;
     dap_chain_net_srv_stake_item_t *l_stake;
     HASH_FIND(ht, s_srv_stake->tx_itemlist, l_prev_hash, sizeof(dap_hash_t), l_stake);
diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c
index 80bb4674224923a2c0cb413f41081f5a975694e6..8d43eb4e60f61df515e7a0975da1c49ffad5ff4e 100644
--- a/modules/type/dag/dap_chain_cs_dag.c
+++ b/modules/type/dag/dap_chain_cs_dag.c
@@ -1835,7 +1835,6 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                 if ( l_event ){
                     dap_string_t * l_str_tmp = dap_string_new(NULL);
                     char buf[50];
-                    dap_time_t l_ts_reated = (dap_time_t)l_event->header.ts_created;
 
                     dap_string_append_printf(l_str_tmp,"\nEvent %s:\n", l_event_hash_str);
 
@@ -1847,8 +1846,8 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                         char * l_hash_str = dap_chain_hash_fast_to_str_new(&l_round_item->round_info.datum_hash);
                         dap_string_append_printf(l_str_tmp, "\t\tdatum_hash: %s\n", l_hash_str);
                         DAP_DELETE(l_hash_str);
-                        dap_time_t l_ts = l_round_item->round_info.ts_update;
-                        dap_string_append_printf(l_str_tmp,"\t\tts_update: %s", dap_ctime_r(&l_ts, buf));
+                        dap_time_to_str_rfc822(buf, 50, l_round_item->round_info.ts_update);
+                        dap_string_append_printf(l_str_tmp,"\t\tts_update: %s\n", buf);
                     }
 
                      // Header
@@ -1857,7 +1856,8 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                     dap_string_append_printf(l_str_tmp,"\t\t\tround ID: %"DAP_UINT64_FORMAT_U"\n",l_event->header.round_id);
                     dap_string_append_printf(l_str_tmp,"\t\t\tcell_id: 0x%016"DAP_UINT64_FORMAT_x"\n",l_event->header.cell_id.uint64);
                     dap_string_append_printf(l_str_tmp,"\t\t\tchain_id: 0x%016"DAP_UINT64_FORMAT_X"\n",l_event->header.chain_id.uint64);
-                    dap_string_append_printf(l_str_tmp,"\t\t\tts_created: %s\n", dap_ctime_r(&l_ts_reated, buf) );
+                    dap_time_to_str_rfc822(buf, 50, l_event->header.ts_created);
+                    dap_string_append_printf(l_str_tmp,"\t\t\tts_created: %s\n", buf );
 
                     // Hash links
                     dap_string_append_printf(l_str_tmp,"\t\t\thashes:\tcount: %u\n",l_event->header.hash_count);
@@ -1871,7 +1871,6 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                     size_t l_offset =  l_event->header.hash_count*sizeof (dap_chain_hash_fast_t);
                     dap_chain_datum_t * l_datum = (dap_chain_datum_t*) (l_event->hashes_n_datum_n_signs + l_offset);
                     size_t l_datum_size =  dap_chain_datum_size(l_datum);
-                    dap_time_t l_datum_ts_create = (dap_time_t) l_datum->header.ts_create;
 
                     // Nested datum
                     const char *l_datum_type = NULL;
@@ -1879,7 +1878,8 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                     dap_string_append_printf(l_str_tmp,"\t\tdatum:\tdatum_size: %zu\n",l_datum_size);
                     dap_string_append_printf(l_str_tmp,"\t\t\tversion:=0x%02hhX\n", l_datum->header.version_id);
                     dap_string_append_printf(l_str_tmp,"\t\t\ttype_id:=%s\n", l_datum_type);
-                    dap_string_append_printf(l_str_tmp,"\t\t\tts_create=%s\n", dap_ctime_r( &l_datum_ts_create,buf ));
+                    dap_time_to_str_rfc822(buf, 50, l_datum->header.ts_create);
+                    dap_string_append_printf(l_str_tmp,"\t\t\tts_create=%s\n", buf);
                     dap_string_append_printf(l_str_tmp,"\t\t\tdata_size=%u\n", l_datum->header.data_size);
 
                     // Signatures
@@ -1933,9 +1933,9 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                             dap_chain_cs_dag_event_t * l_event = (dap_chain_cs_dag_event_t *)
                                             ((dap_chain_cs_dag_event_round_item_t *)l_objs[i].value)->event_n_signs;
                             char buf[50];
-                            dap_time_t l_ts_create = (dap_time_t) l_event->header.ts_created;
-                            dap_string_append_printf(l_str_tmp,"\t%s: ts_create=%s",
-                                                     l_objs[i].key, dap_ctime_r( &l_ts_create,buf ) );
+                            dap_time_to_str_rfc822(buf, 50, l_event->header.ts_created);
+                            dap_string_append_printf(l_str_tmp,"\t%s: ts_create=%s\n",
+                                                     l_objs[i].key, buf);
 
                         }
                         if (l_objs && l_objs_count )
@@ -1954,10 +1954,10 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                     dap_chain_cs_dag_event_item_t * l_event_item = NULL,*l_event_item_tmp = NULL;
                     HASH_ITER(hh,PVT(l_dag)->events,l_event_item, l_event_item_tmp ) {
                         char buf[50];
+                        dap_time_to_str_rfc822(buf, 50, l_event_item->event->header.ts_created);
                         char * l_event_item_hash_str = dap_chain_hash_fast_to_str_new( &l_event_item->hash);
-                        dap_time_t l_ts_create = (dap_time_t) l_event_item->event->header.ts_created;
-                        dap_string_append_printf(l_str_tmp,"\t%s: ts_create=%s",
-                                                 l_event_item_hash_str, dap_ctime_r( &l_ts_create,buf ) );
+                        dap_string_append_printf(l_str_tmp,"\t%s: ts_create=%s\n",
+                                                 l_event_item_hash_str, buf);
                         DAP_DELETE(l_event_item_hash_str);
                     }
                     size_t l_events_count = HASH_COUNT(PVT(l_dag)->events);
@@ -1973,10 +1973,10 @@ static int s_cli_dag(int argc, char ** argv, void **a_str_reply)
                     dap_string_append_printf(l_str_tmp,"\nDAG threshold events:\n");
                     HASH_ITER(hh,PVT(l_dag)->events_treshold,l_event_item, l_event_item_tmp ) {
                         char buf[50];
+                        dap_time_to_str_rfc822(buf, 50, l_event_item->event->header.ts_created);
                         char * l_event_item_hash_str = dap_chain_hash_fast_to_str_new( &l_event_item->hash);
-                        dap_time_t l_ts_create = (dap_time_t) l_event_item->event->header.ts_created;
-                        dap_string_append_printf(l_str_tmp,"\t%s: ts_create=%s",
-                                                 l_event_item_hash_str, dap_ctime_r( &l_ts_create,buf ) );
+                        dap_string_append_printf(l_str_tmp,"\t%s: ts_create=%s\n",
+                                                 l_event_item_hash_str, buf);
                         DAP_DELETE(l_event_item_hash_str);
                     }
                     size_t l_events_count = HASH_COUNT(PVT(l_dag)->events_treshold);