diff --git a/modules/net/dap_chain_net_tx.c b/modules/net/dap_chain_net_tx.c
index 862da6ab3fab776d93203bdd25c258465e35b3db..33032a2b09806a5f44b2ca43cb195fc768a4d20e 100644
--- a/modules/net/dap_chain_net_tx.c
+++ b/modules/net/dap_chain_net_tx.c
@@ -440,10 +440,11 @@ static void s_tx_cond_all_by_srv_uid_callback(UNUSED_ARG dap_chain_net_t* a_net,
     dap_chain_datum_tx_cond_list_item_t *l_item = (dap_chain_datum_tx_cond_list_item_t*) DAP_NEW_Z(dap_chain_datum_tx_cond_list_item_t);
     TX_ITEM_ITER_TX(item, l_size, a_tx) {
         if ( *item == TX_ITEM_TYPE_OUT_COND && 
-        l_ret->srv_uid.uint64 == ((dap_chain_tx_out_cond_t*)item)->header.srv_uid.uint64 )
+                l_ret->srv_uid.uint64 == ((dap_chain_tx_out_cond_t*)item)->header.srv_uid.uint64 ) {
             l_item->hash = *a_tx_hash;
             l_item->tx = a_tx;
             l_ret->ret = dap_list_append(l_ret->ret, l_item);
+        }
     }
 }
 
diff --git a/modules/node-cli/dap_chain_node_cli_cmd.c b/modules/node-cli/dap_chain_node_cli_cmd.c
index 325805833d84f7e18428591c98b1441a51a4cb36..9eff4ecf257a9f2cb59a9a57d1e35c922a10d19b 100644
--- a/modules/node-cli/dap_chain_node_cli_cmd.c
+++ b/modules/node-cli/dap_chain_node_cli_cmd.c
@@ -2002,10 +2002,10 @@ int l_arg_index = 1, l_rc, cmd_num = CMD_NONE;
                         json_object_object_add(json_obj_wall, "Sign type", json_object_new_string(l_sign_type_str));
                     json_object_object_add(json_obj_wall, "Status", json_object_new_string("successfully created"));
 
-                    const char *l_addr_str = NULL;
-                    if ( l_net && (l_addr_str = dap_chain_addr_to_str_static(dap_chain_wallet_get_addr(l_wallet,l_net->pub.id))) ) {
-                        json_object_object_add(json_obj_wall, "new address", json_object_new_string(l_addr_str) );
-                    }
+                    dap_chain_addr_t *l_addr = dap_chain_wallet_get_addr(l_wallet, l_net->pub.id);
+                    if (l_net && l_addr)
+                        json_object_object_add(json_obj_wall, "new address", json_object_new_string(dap_chain_addr_to_str_static(l_addr)));
+                    DAP_DEL_Z(l_addr);
                     json_object_array_add(json_arr_out, json_obj_wall);
                     dap_chain_wallet_close(l_wallet);
                     break;
diff --git a/modules/node-cli/dap_chain_node_cli_cmd_tx.c b/modules/node-cli/dap_chain_node_cli_cmd_tx.c
index d623f9381f7c041fae32b4a0a284ff4d554fcdd9..ada67814797e1b67f312dea373423ec8197decdc 100644
--- a/modules/node-cli/dap_chain_node_cli_cmd_tx.c
+++ b/modules/node-cli/dap_chain_node_cli_cmd_tx.c
@@ -262,10 +262,10 @@ static void s_tx_header_print(json_object* json_obj_datum, dap_chain_tx_hash_pro
     char *l_tx_hash_str, *l_atom_hash_str;
     if (!dap_strcmp(a_hash_out_type, "hex")) {
         l_tx_hash_str = dap_chain_hash_fast_to_str_new(a_tx_hash);
-        l_atom_hash_str = dap_chain_hash_fast_to_str_new(&a_atom_hash);
+        l_atom_hash_str = dap_chain_hash_fast_to_str_new(a_atom_hash);
     } else {
         l_tx_hash_str = dap_enc_base58_encode_hash_to_str(a_tx_hash);
-        l_atom_hash_str = dap_enc_base58_encode_hash_to_str(&a_atom_hash);
+        l_atom_hash_str = dap_enc_base58_encode_hash_to_str(a_atom_hash);
     }
     json_object_object_add(json_obj_datum, "status", json_object_new_string(l_declined ? "DECLINED" : "ACCEPTED"));
     json_object_object_add(json_obj_datum, "hash", json_object_new_string(l_tx_hash_str));
@@ -2629,9 +2629,9 @@ int com_tx_create(int a_argc, char **a_argv, void **a_json_arr_reply)
             json_object_object_add(l_jobj_result, "warning", l_obj_wgn_str);
         }
     }
-    const dap_chain_addr_t *l_addr_from = (const dap_chain_addr_t *) dap_chain_wallet_get_addr(l_wallet, l_net->pub.id);
+    dap_chain_addr_t *l_addr_from = dap_chain_wallet_get_addr(l_wallet, l_net->pub.id);
 
-    if(!l_addr_from) {
+    if (!l_addr_from) {
         dap_chain_wallet_close(l_wallet);
         dap_enc_key_delete(l_priv_key);
         dap_json_rpc_error_add(*a_json_arr_reply, DAP_CHAIN_NODE_CLI_COM_TX_CREATE_SOURCE_ADDRESS_INVALID, "source address is invalid");
@@ -2718,7 +2718,7 @@ int com_tx_create(int a_argc, char **a_argv, void **a_json_arr_reply)
     for (size_t i = 0; i < l_addr_el_count; ++i) {
         DAP_DELETE(l_addr_to[i]);
     }
-    DAP_DEL_MULTY(l_addr_to, l_value);
+    DAP_DEL_MULTY(l_addr_from, l_addr_to, l_value);
     dap_chain_wallet_close(l_wallet);
     dap_enc_key_delete(l_priv_key);
     return l_ret;
diff --git a/modules/wallet/dap_chain_wallet.c b/modules/wallet/dap_chain_wallet.c
index 84652e15a58464f5c72c3eafdf5ee874595175f1..8717e40b56bab99539b55c18aa9568c8aa4536c7 100644
--- a/modules/wallet/dap_chain_wallet.c
+++ b/modules/wallet/dap_chain_wallet.c
@@ -1083,7 +1083,9 @@ uint256_t dap_chain_wallet_get_balance (
     dap_chain_net_t *l_net = dap_chain_net_by_id(a_net_id);
     dap_chain_addr_t *l_addr = dap_chain_wallet_get_addr(a_wallet, a_net_id);
 
-    return  (l_net)  ? dap_ledger_calc_balance(l_net->pub.ledger, l_addr, a_token_ticker) : uint256_0;
+    uint256_t ret = (l_net) ? dap_ledger_calc_balance(l_net->pub.ledger, l_addr, a_token_ticker) : uint256_0;
+    DAP_DEL_Z(l_addr);
+    return ret;
 }
 
 /**
@@ -1269,7 +1271,7 @@ json_object *dap_chain_wallet_info_to_json(const char *a_name, const char *a_pat
                 DAP_DELETE(l_addr_tokens[i]);
             }
             json_object_object_add(l_jobj_net, "balance", l_arr_balance);
-            DAP_DELETE(l_addr_tokens);
+            DAP_DEL_MULTY(l_addr_tokens, l_wallet_addr_in_net);
         }
         json_object_object_add(l_json_ret, "networks", l_jobj_network);
         dap_chain_wallet_close(l_wallet);
diff --git a/modules/wallet/dap_chain_wallet_cache.c b/modules/wallet/dap_chain_wallet_cache.c
index 29c03fb88bd89aeb913d0afe363fb3ecec42636c..1f72a4d931de18804067de3bcab8de8179101717 100644
--- a/modules/wallet/dap_chain_wallet_cache.c
+++ b/modules/wallet/dap_chain_wallet_cache.c
@@ -685,12 +685,13 @@ static void s_wallet_opened_callback(dap_chain_wallet_t *a_wallet, void *a_arg)
         HASH_FIND(hh, s_wallets_cache, l_addr, sizeof(dap_chain_addr_t), l_wallet_item);
         if (!l_wallet_item){
             l_wallet_item = DAP_NEW_Z(dap_wallet_cache_t);
-            memcpy (&l_wallet_item->wallet_addr, &l_addr, sizeof(dap_chain_addr_t));
+            memcpy(&l_wallet_item->wallet_addr, l_addr, sizeof(dap_chain_addr_t));
             HASH_ADD(hh, s_wallets_cache, wallet_addr, sizeof(dap_chain_addr_t), l_wallet_item);
             pthread_rwlock_unlock(&s_wallet_cache_rwlock);
             s_save_cache_for_addr_in_net(l_net, l_addr);
         } else 
             pthread_rwlock_unlock(&s_wallet_cache_rwlock);
+        DAP_DEL_Z(l_addr);
     }
 }