diff --git a/.gitmodules b/.gitmodules
index f31f256df596e3e938234d1081ac70db5c7d9780..80d88aeb53f1ea0043f8cb6059a5032226e5b954 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -67,3 +67,6 @@
 [submodule "libdap-server-http-db"]
 	path = libdap-server-http-db
 	url = https://gitlab.demlabs.net/cellframe/libdap-server-http-db.git
+[submodule "libdap-chain-common"]
+	path = libdap-chain-common
+	url = https://gitlab.demlabs.net/cellframe/libdap-chain-common.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2603c2ce4f01aaa1e6bf026530ce5ef2c4ba171a..9135e49f5f87d0c09b7a0c01d1b80491d1801056 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,13 @@ if (NOT (${SUBMODULES_NO_BUILD} MATCHES ON))
             "-fpic"  
        )
    endif()
+   if (NOT (TARGET dap_chain_common))
+       add_subdirectory(libdap-chain-common)
+       target_compile_options(
+            dap_chain_common PRIVATE
+            "-fpic"
+       )
+   endif()
    if (NOT (TARGET dap_chain_mempool))
        add_subdirectory(libdap-chain-mempool)
        target_compile_options(
diff --git a/libdap-chain-common b/libdap-chain-common
new file mode 160000
index 0000000000000000000000000000000000000000..c6225af83a270f68d4775fd2dfeee990bb658266
--- /dev/null
+++ b/libdap-chain-common
@@ -0,0 +1 @@
+Subproject commit c6225af83a270f68d4775fd2dfeee990bb658266