diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c
index 6f3f4470999f7f13f21ae34756aacc6f60bca684..e79512a82f18607da45713d2e7de66be081fd5e5 100644
--- a/modules/mempool/dap_chain_mempool.c
+++ b/modules/mempool/dap_chain_mempool.c
@@ -104,9 +104,20 @@ char *dap_chain_mempool_datum_add(const dap_chain_datum_t *a_datum, dap_chain_t
     case DAP_CHAIN_DATUM_TOKEN_DECL:
         l_type_str = "token";
         break;
-    case DAP_CHAIN_DATUM_TOKEN_EMISSION:
+    case DAP_CHAIN_DATUM_TOKEN_EMISSION: {
+        size_t l_emission_size = a_datum->header.data_size;
+        dap_chain_datum_token_emission_t *l_emission = dap_chain_datum_emission_read((byte_t*)a_datum->data, &l_emission_size);
+        uint64_t l_net_id = l_emission ? l_emission->hdr.address.net_id.uint64 : 0;
+        DAP_DELETE(l_emission);
+        if (l_net_id != a_chain->net_id.uint64) {
+            log_it(L_WARNING, "Datum emission with hash %s NOT placed in mempool: wallet addr net ID %lu != %lu chain net ID",
+                   l_key_str, l_net_id, a_chain->net_id.uint64);
+            DAP_DELETE(l_key_str);
+            return NULL;
+        }
         l_type_str = "emission";
         break;
+    }
     case DAP_CHAIN_DATUM_TX:
         l_type_str = "transaction";
         break;