diff --git a/dap-sdk b/dap-sdk
index 27e7f5e28febbcb1c4274eddad55b65234397c75..d7b44bbf0a05f38687dba28821502b71e5e7ba80 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit 27e7f5e28febbcb1c4274eddad55b65234397c75
+Subproject commit d7b44bbf0a05f38687dba28821502b71e5e7ba80
diff --git a/modules/common/include/dap_chain_datum.h b/modules/common/include/dap_chain_datum.h
index e48c4079bac516574f857f68e4b9ba6c399130b5..cf461b6e3ada48df17313c01128347cacd56ad76 100644
--- a/modules/common/include/dap_chain_datum.h
+++ b/modules/common/include/dap_chain_datum.h
@@ -38,8 +38,6 @@
 
 /// Transaction header section
 #define DAP_CHAIN_DATUM_TX                  0x0100
-/// Transaction batch header section
-#define DAP_CHAIN_DATUM_TX_BATCH            0x0101
 
 /// Network decree for governance
 #define DAP_CHAIN_DATUM_DECREE              0x0200
diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c
index 06d571ddc3e306e5d5009dec764471f0c59beb39..91d06c0e68a9105616d48f1b29fcddac427b7016 100644
--- a/modules/mempool/dap_chain_mempool.c
+++ b/modules/mempool/dap_chain_mempool.c
@@ -593,7 +593,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
         log_it(L_WARNING,"Not enough funds to transfer");
         DAP_DELETE(l_objs);
         return -2;
-    }    
+    }
     
     dap_chain_hash_fast_t l_tx_new_hash = {0};
     for (size_t i=0; i< a_tx_num ; i++){
@@ -631,6 +631,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
                          "Not enough values on output to produce enough inputs: %s when need ", l_balance);
             strcat(l_log_str, dap_uint256_to_char(l_single_val, NULL));
             log_it(L_ERROR, "%s", l_log_str);
+            dap_list_free_full(l_list_used_out, NULL);
             DAP_DELETE(l_objs);
             return -5;
         }
@@ -641,6 +642,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
             SUM_256_256(l_value_pack, a_value, &l_value_pack);
         else {
             dap_chain_datum_tx_delete(l_tx_new);
+            dap_list_free_full(l_list_used_out, NULL);
             DAP_DELETE(l_objs);
             return -3;
         }
@@ -650,6 +652,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
                 SUM_256_256(l_value_pack, l_net_fee, &l_value_pack);
             else {
                 dap_chain_datum_tx_delete(l_tx_new);
+                dap_list_free_full(l_list_used_out, NULL);
                 DAP_DELETE(l_objs);
                 return -3;
             }
@@ -660,6 +663,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
                 SUM_256_256(l_value_pack, a_value_fee, &l_value_pack);
             else {
                 dap_chain_datum_tx_delete(l_tx_new);
+                dap_list_free_full(l_list_used_out, NULL);
                 DAP_DELETE(l_objs);
                 return -3;
             }
@@ -669,6 +673,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
         if (!IS_ZERO_256(l_value_back)) {
             if(dap_chain_datum_tx_add_out_item(&l_tx_new, a_addr_from, l_value_back) != 1) {
                 dap_chain_datum_tx_delete(l_tx_new);
+                dap_list_free_full(l_list_used_out, NULL);
                 DAP_DELETE(l_objs);
                 return -3;
             }
@@ -677,6 +682,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
         // add 'sign' items
         if(dap_chain_datum_tx_add_sign_item(&l_tx_new, a_key_from) != 1) {
             dap_chain_datum_tx_delete(l_tx_new);
+            dap_list_free_full(l_list_used_out, NULL);
             DAP_DELETE(l_objs);
             return -4;
         }
@@ -709,6 +715,7 @@ int dap_chain_mempool_tx_create_massive( dap_chain_t * a_chain, dap_enc_key_t *a
                     dap_chain_tx_used_out_item_t *l_item_back = DAP_NEW_Z(dap_chain_tx_used_out_item_t);
                     if (!l_item_back) {
                         log_it(L_CRITICAL, "%s", g_error_memory_alloc);
+                        dap_list_free_full(l_list_used_out, NULL);
                         DAP_DELETE(l_objs);
                         return -6;
                     }
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index 2b5642c0a9f106fcae6417aa466285b64a377b42..a0f31fdb383784bce3e325ee8b2f0c31ab770ee6 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -2942,7 +2942,6 @@ int dap_chain_net_verify_datum_for_add(dap_chain_t *a_chain, dap_chain_datum_t *
     dap_chain_net_t *l_net = dap_chain_net_by_id(a_chain->net_id);
     switch (a_datum->header.type_id) {
     case DAP_CHAIN_DATUM_TX:
-    case DAP_CHAIN_DATUM_TX_BATCH:
         return dap_ledger_tx_add_check(l_net->pub.ledger, (dap_chain_datum_tx_t *)a_datum->data, a_datum->header.data_size, a_datum_hash);
     case DAP_CHAIN_DATUM_TOKEN_DECL:
         return dap_ledger_token_decl_add_check(l_net->pub.ledger, (dap_chain_datum_token_t *)a_datum->data, a_datum->header.data_size);