diff --git a/dap-sdk b/dap-sdk
index 76bb290ca9d93e5adac3a56a32d42bc94ad354c5..e97dc15096ffa39761dc8f6c68f9ce8fe53bc49d 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit 76bb290ca9d93e5adac3a56a32d42bc94ad354c5
+Subproject commit e97dc15096ffa39761dc8f6c68f9ce8fe53bc49d
diff --git a/modules/common/dap_chain_datum_tx_receipt.c b/modules/common/dap_chain_datum_tx_receipt.c
index 27b0bdda72c8a5ed2725154886854cbcfdf8fdc1..ef1618beebc9f92daec607b3398e528dd3af66b6 100644
--- a/modules/common/dap_chain_datum_tx_receipt.c
+++ b/modules/common/dap_chain_datum_tx_receipt.c
@@ -53,6 +53,7 @@ dap_chain_datum_tx_receipt_t * dap_chain_datum_tx_receipt_create( dap_chain_net_
     l_ret->receipt_info.srv_uid = a_srv_uid;
     l_ret->receipt_info.units = a_units;
     l_ret->receipt_info.value_datoshi = a_value_datoshi;
+    l_ret->receipt_info.version = 1;
     l_ret->size = sizeof(dap_chain_datum_tx_receipt_t) + a_ext_size;
 
     if (a_ext_size && a_ext) {
@@ -108,7 +109,7 @@ dap_sign_t *dap_chain_datum_tx_receipt_sign_get(dap_chain_datum_tx_receipt_t *a_
         return NULL;
     dap_sign_t *l_sign = NULL;
     for (uint16_t l_sign_position = a_sign_position + 1; l_sign_position; l_sign_position--) {
-        dap_sign_t *l_sign = (dap_sign_t *)(a_receipt->exts_n_signs + l_offset);
+        l_sign = (dap_sign_t *)(a_receipt->exts_n_signs + l_offset);
         uint64_t l_sign_size = dap_sign_get_size(l_sign);
         l_offset += l_sign_size;
         if (l_offset > l_total_signs_size)
@@ -177,5 +178,6 @@ int dap_chain_datum_tx_receipt_check_size(dap_chain_datum_tx_receipt_t *a_receip
         l_sign = (dap_sign_t *)((byte_t *)l_sign + l_sign_size);
     }
     size_t l_sign_offset = (byte_t *)l_sign - (byte_t *)a_receipt;
-    return l_sign_offset == a_control_size ? 0 : -4; // Receipt is lagrer that two signs need
+                                                // Receipt is lagrer that two signs need
+    return l_sign_offset == a_control_size ? 0 : (a_receipt->receipt_info.version ? -4 : 0);
 }
diff --git a/modules/common/include/dap_chain_datum_tx_receipt.h b/modules/common/include/dap_chain_datum_tx_receipt.h
index e5f1e92d7ff48f9b77fc091906bf8cae078c0022..5210c4fff5a322515ed52fcb96b6f376ecd5da0f 100644
--- a/modules/common/include/dap_chain_datum_tx_receipt.h
+++ b/modules/common/include/dap_chain_datum_tx_receipt.h
@@ -33,7 +33,8 @@ typedef struct dap_chain_receipt_info {
     uint64_t addition;
 #endif
     dap_chain_net_srv_price_unit_uid_t units_type;
-    byte_t padding[4];
+    byte_t version;
+    byte_t padding[3];
     uint64_t units; // Unit of service (seconds, megabytes, etc.) Only for SERV_CLASS_PERMANENT
     uint256_t value_datoshi; // Receipt value
 } DAP_ALIGN_PACKED dap_chain_receipt_info_t;
diff --git a/modules/service/stake/dap_chain_net_srv_stake_lock.c b/modules/service/stake/dap_chain_net_srv_stake_lock.c
index ab4876cdcee1bc7435738b3549f81e33e8f19e2f..53a216607537db1cbf3f2d8f92c4b1ea1852b6d6 100644
--- a/modules/service/stake/dap_chain_net_srv_stake_lock.c
+++ b/modules/service/stake/dap_chain_net_srv_stake_lock.c
@@ -1034,7 +1034,7 @@ static int s_stake_lock_callback_verificator(dap_ledger_t *a_ledger, dap_chain_t
                 return -13;
             if (!dap_chain_net_srv_uid_compare_scalar(l_receipt->receipt_info.srv_uid, DAP_CHAIN_NET_SRV_STAKE_LOCK_ID))
                 return -7;
-            if (l_receipt->exts_size != sizeof(dap_hash_fast_t))
+            if (l_receipt->exts_size < sizeof(dap_hash_fast_t))
                 return -8;
             l_burning_tx_hash = *(dap_hash_fast_t*)l_receipt->exts_n_signs;
             if (dap_hash_fast_is_blank(&l_burning_tx_hash))