diff --git a/silkaj/blockchain_tools.py b/silkaj/blockchain_tools.py
index 032504a26ab3d1e25a1c1c3fd5c64b1626c760f9..9321e0ab7d129870d3512857e64508e42d0cd093 100644
--- a/silkaj/blockchain_tools.py
+++ b/silkaj/blockchain_tools.py
@@ -33,3 +33,19 @@ class BlockchainParams(object):
     async def get_params(self):
         client = ClientInstance().client
         return await client(blockchain.parameters)
+
+
+class HeadBlock(object):
+    __instance = None
+
+    def __new__(cls):
+        if HeadBlock.__instance is None:
+            HeadBlock.__instance = object.__new__(cls)
+        return HeadBlock.__instance
+
+    def __init__(self):
+        self.head_block = self.get_head()
+
+    async def get_head(self):
+        client = ClientInstance().client
+        return await client(blockchain.current)
diff --git a/silkaj/cert.py b/silkaj/cert.py
index fc5682b45557e96dd23e027513623a3a596c09d4..a5a09589b8528ba4bd6e2dfa9bc72a2a67499239 100644
--- a/silkaj/cert.py
+++ b/silkaj/cert.py
@@ -25,8 +25,8 @@ from duniterpy.documents import BlockUID, block_uid, Identity, Certification
 from silkaj.auth import auth_method
 from silkaj.tools import message_exit, coroutine
 from silkaj.tui import convert_time
-from silkaj.network_tools import ClientInstance, HeadBlock
-from silkaj.blockchain_tools import BlockchainParams
+from silkaj.network_tools import ClientInstance
+from silkaj.blockchain_tools import BlockchainParams, HeadBlock
 from silkaj.license import license_approval
 from silkaj.wot import is_member, get_informations_for_identity
 from silkaj.constants import SUCCESS_EXIT_STATUS
diff --git a/silkaj/commands.py b/silkaj/commands.py
index 6de07d448551698d970ffe32e0e9e500665155c2..fdaa87170784e96140957eff7bdd511c18a530df 100644
--- a/silkaj/commands.py
+++ b/silkaj/commands.py
@@ -33,8 +33,8 @@ from silkaj.network_tools import (
     best_endpoint_address,
     EndPoint,
     ClientInstance,
-    HeadBlock,
 )
+from silkaj.blockchain_tools import HeadBlock
 from silkaj.tools import CurrencySymbol
 from silkaj.tui import convert_time
 from silkaj.constants import ASYNC_SLEEP
diff --git a/silkaj/money.py b/silkaj/money.py
index 57088b298f1aad6fddd332c61ea4ce49e40b94f9..f9540b6d4b3a5c18d2074ff50e34f06edfe0eb0f 100644
--- a/silkaj/money.py
+++ b/silkaj/money.py
@@ -18,7 +18,8 @@ along with Silkaj. If not, see <https://www.gnu.org/licenses/>.
 from click import command, argument, pass_context, echo
 from tabulate import tabulate
 
-from silkaj.network_tools import ClientInstance, HeadBlock
+from silkaj.network_tools import ClientInstance
+from silkaj.blockchain_tools import HeadBlock
 from silkaj.tools import CurrencySymbol, message_exit, coroutine
 from silkaj.auth import auth_method
 from silkaj.wot import check_public_key
diff --git a/silkaj/network_tools.py b/silkaj/network_tools.py
index 8b014be583dbb50b7e7e75e9242be62b1e5eb8cd..89701d5edeeea5638ac12f1eb838cf85870cc4eb 100644
--- a/silkaj/network_tools.py
+++ b/silkaj/network_tools.py
@@ -22,7 +22,7 @@ import logging
 from sys import exit, stderr
 from asyncio import sleep
 from duniterpy.api.client import Client
-from duniterpy.api.bma import blockchain, network
+from duniterpy.api.bma import network
 
 from silkaj.constants import (
     G1_DEFAULT_ENDPOINT,
@@ -234,19 +234,3 @@ def check_port(port):
         print("Wrong port number", file=stderr)
         return False
     return True
-
-
-class HeadBlock(object):
-    __instance = None
-
-    def __new__(cls):
-        if HeadBlock.__instance is None:
-            HeadBlock.__instance = object.__new__(cls)
-        return HeadBlock.__instance
-
-    def __init__(self):
-        self.head_block = self.get_head()
-
-    async def get_head(self):
-        client = ClientInstance().client
-        return await client(blockchain.current)
diff --git a/silkaj/tx.py b/silkaj/tx.py
index 3063666571fb6ab51e3938ff0c39218e9d4c93ce..84f6ba5e8f1ce0ceaa05771a606246215beda510 100644
--- a/silkaj/tx.py
+++ b/silkaj/tx.py
@@ -22,7 +22,8 @@ from tabulate import tabulate
 from click import command, option, FloatRange
 
 from silkaj.cli_tools import MutuallyExclusiveOption
-from silkaj.network_tools import ClientInstance, HeadBlock
+from silkaj.network_tools import ClientInstance
+from silkaj.blockchain_tools import HeadBlock
 from silkaj.crypto_tools import check_public_key
 from silkaj.tools import message_exit, CurrencySymbol, coroutine
 from silkaj.auth import auth_method
diff --git a/tests/test_unit_tx.py b/tests/test_unit_tx.py
index 11df8bf8f5dcf9128aa7e0b166f880a9694728d4..46f6ce743f3e14aff2ade817ec7fd303404d73ec 100644
--- a/tests/test_unit_tx.py
+++ b/tests/test_unit_tx.py
@@ -447,7 +447,9 @@ async def test_generate_transaction_document(
     monkeypatch,
 ):
     # patch Head_block
-    monkeypatch.setattr("silkaj.network_tools.HeadBlock.get_head", patched.head_block)
+    monkeypatch.setattr(
+        "silkaj.blockchain_tools.HeadBlock.get_head", patched.head_block
+    )
 
     assert result == await generate_transaction_document(
         issuers,