diff --git a/dap_chain_net.c b/dap_chain_net.c
index 36a91066188f037106775b507b521958951b6e38..fb1aa7db92480b729ad1c76157562ec51c0e176a 100644
--- a/dap_chain_net.c
+++ b/dap_chain_net.c
@@ -2027,9 +2027,9 @@ void dap_chain_net_proc_mempool (dap_chain_net_t * a_net)
 {
 
     dap_string_t * l_str_tmp = dap_string_new(NULL);
-    for(dap_chain_type_t i = CHAIN_TYPE_FIRST + 1; i < CHAIN_TYPE_LAST; i++) {
-        dap_chain_t * l_chain = dap_chain_net_get_chain_by_chain_type(a_net, i);
-        char * l_gdb_group_mempool = dap_chain_net_get_gdb_group_mempool(l_chain);
+    dap_chain_t *l_chain;
+    DL_FOREACH(a_net->pub.chains, l_chain) {
+        char *l_gdb_group_mempool = dap_chain_net_get_gdb_group_mempool(l_chain);
 
         size_t l_objs_size = 0;
         dap_global_db_obj_t * l_objs = dap_chain_global_db_gr_load(l_gdb_group_mempool, &l_objs_size);
diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c
index 2dbdb7961a6f5d1246b5395ee815fed093124135..e7c115adaac892fff8a988b37dc2af36b390957d 100644
--- a/dap_chain_node_cli_cmd.c
+++ b/dap_chain_node_cli_cmd.c
@@ -1993,11 +1993,8 @@ int com_mempool_list(int argc, char ** argv, void *arg_func, char ** a_str_reply
         }
         dap_string_t * l_str_tmp = dap_string_new(NULL);
 
-        for(dap_chain_type_t i = CHAIN_TYPE_FIRST + 1; i < CHAIN_TYPE_LAST; i++) {
+        DL_FOREACH(l_net->pub.chains, l_chain) {
             if(!l_gdb_group_mempool) {
-                l_chain = dap_chain_net_get_chain_by_chain_type(l_net, i);
-                if(!l_chain)
-                    continue;
                 l_gdb_group_mempool_tmp = dap_chain_net_get_gdb_group_mempool(l_chain);
             }
             size_t l_objs_size = 0;
@@ -2116,10 +2113,8 @@ int com_mempool_proc(int argc, char ** argv, void *arg_func, char ** a_str_reply
     }
 
     dap_string_t * l_str_tmp = dap_string_new(NULL);
-    for(dap_chain_type_t i = CHAIN_TYPE_FIRST + 1; i < CHAIN_TYPE_LAST; i++) {
-
+    DL_FOREACH(l_net->pub.chains, l_chain) {
         if(!l_gdb_group_mempool) {
-            l_chain = dap_chain_net_get_chain_by_chain_type(l_net, i);
             l_gdb_group_mempool_tmp = dap_chain_net_get_gdb_group_mempool(l_chain);
         }
         size_t l_objs_size = 0;