diff --git a/bin/silkaj b/bin/silkaj
index 72eb739beb6e1edfe52ee8752594bb059e393c31..61bfa060ceecebfb6f8dc8a9bb91c0d3de6d2431 100755
--- a/bin/silkaj
+++ b/bin/silkaj
@@ -18,6 +18,7 @@ along with Silkaj. If not, see <https://www.gnu.org/licenses/>.
 """
 
 from sys import exit
+from asyncio import get_event_loop
 
 from silkaj.network_tools import check_port, best_node, EndPoint
 from silkaj.cli_tools import manage_cmd
@@ -27,4 +28,4 @@ if __name__ == "__main__":
     if not check_port(ep["port"]):
         exit(1)
     best_node(ep, True)
-    manage_cmd()
+    get_event_loop().run_until_complete(manage_cmd())
diff --git a/silkaj/cli_tools.py b/silkaj/cli_tools.py
index 6ebb7f62fe7f30572644347bc872bd77ba13a129..c90e7bc4eaa6e9caf1384cd0d122c01561a72854 100644
--- a/silkaj/cli_tools.py
+++ b/silkaj/cli_tools.py
@@ -119,7 +119,7 @@ def usage():
     )
 
 
-def manage_cmd():
+async def manage_cmd():
     cli_args = Command()
     if cli_args.is_version_request():
         message_exit(SILKAJ_VERSION)
@@ -155,7 +155,7 @@ def manage_cmd():
         currency_info()
 
     elif cli_args.subcmd == "diffi":
-        difficulties()
+        await difficulties()
 
     elif cli_args.subcmd == "net" or cli_args.subcmd == "network":
         if cli_args.contains_switches("sort"):
diff --git a/silkaj/commands.py b/silkaj/commands.py
index b0af8e67fcbfa821f796b178c1d5f886d395c2c9..234a3aa83ee14b0421f909d95b0314c57ee7f804 100644
--- a/silkaj/commands.py
+++ b/silkaj/commands.py
@@ -21,6 +21,7 @@ from os import system, popen
 from collections import OrderedDict
 from tabulate import tabulate
 from operator import itemgetter
+from duniterpy.api.bma import blockchain
 
 from silkaj.wot import get_uid_from_pubkey
 from silkaj.network_tools import (
@@ -28,6 +29,7 @@ from silkaj.network_tools import (
     get_request,
     best_node,
     EndPoint,
+    ClientInstance,
     HeadBlock,
 )
 from silkaj.tools import convert_time, message_exit, CurrencySymbol
@@ -106,14 +108,15 @@ def power(nbr, pow=0):
     return "{0:.1f} × 10^{1}".format(nbr, pow)
 
 
-def difficulties():
+async def difficulties():
+    client = ClientInstance().client
     while True:
-        diffi = get_request("blockchain/difficulties")
+        diffi = await client(blockchain.difficulties)
         levels = [
             OrderedDict((i, d[i]) for i in ("uid", "level")) for d in diffi["levels"]
         ]
         diffi["levels"] = levels
-        current = get_request("blockchain/current")
+        current = await client(blockchain.current)
         issuers = 0
         sorted_diffi = sorted(diffi["levels"], key=itemgetter("level"), reverse=True)
         for d in diffi["levels"]:
@@ -136,6 +139,7 @@ def difficulties():
             )
         )
         sleep(5)
+    await client.close()
 
 
 network_sort_keys = ["block", "member", "diffi", "uid"]