diff --git a/_ucoinpy_test/api/bma/test_blockchain.py b/_ucoinpy_test/api/bma/test_blockchain.py
index 72959726106c24e74c8ea1e7931d6323fac10a1b..72855f337815171cd35b94cc93dd9d3744492fed 100644
--- a/_ucoinpy_test/api/bma/test_blockchain.py
+++ b/_ucoinpy_test/api/bma/test_blockchain.py
@@ -27,18 +27,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Parameters.schema)
 
     def test_parameters_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             params = Parameters(None)
             params.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from params.get()
+                await params.get()
 
         self.loop.run_until_complete(go())
 
@@ -97,34 +95,30 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Current.schema)
 
     def test_block_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/100', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/100', handler)
             block = Block(None, 100)
             block.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from block.get()
+                await block.get()
 
         self.loop.run_until_complete(go())
 
     def test_current_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             current = Current(None)
             current.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from current.get()
+                await current.get()
 
         self.loop.run_until_complete(go())
 
@@ -175,18 +169,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Hardship.schema)
 
     def test_hardship_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/fingerprint', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/fingerprint', handler)
             hardship = Hardship(None, "fingerprint")
             hardship.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from hardship.get()
+                await hardship.get()
 
         self.loop.run_until_complete(go())
 
@@ -215,18 +207,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Membership.schema)
 
     def test_membership_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey', handler)
             membership = Membership(None, "pubkey")
             membership.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from membership.get()
+                await membership.get()
 
         self.loop.run_until_complete(go())
 
@@ -239,18 +229,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Newcomers.schema)
 
     def test_newcomers_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             newcomers = Newcomers(None)
             newcomers.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from newcomers.get()
+                await newcomers.get()
 
         self.loop.run_until_complete(go())
 
@@ -263,18 +251,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Certifications.schema)
 
     def test_certifications_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             certs = Certifications(None)
             certs.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from certs.get()
+                await certs.get()
 
         self.loop.run_until_complete(go())
 
@@ -287,18 +273,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Joiners.schema)
 
     def test_joiners_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             joiners = Joiners(None)
             joiners.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from joiners.get()
+                await joiners.get()
 
         self.loop.run_until_complete(go())
 
@@ -311,18 +295,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Actives.schema)
 
     def test_actives_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             actives = Actives(None)
             actives.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from actives.get()
+                await actives.get()
 
         self.loop.run_until_complete(go())
 
@@ -335,18 +317,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Leavers.schema)
 
     def test_leavers_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             leavers = Leavers(None)
             leavers.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from leavers.get()
+                await leavers.get()
 
         self.loop.run_until_complete(go())
 
@@ -359,18 +339,16 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, UD.schema)
 
     def test_ud_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             ud = UD(None)
             ud.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from ud.get()
+                await ud.get()
 
         self.loop.run_until_complete(go())
 
@@ -383,17 +361,15 @@ class Test_BMA_Blockchain(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, TX.schema)
 
     def test_tx_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             tx = TX(None)
             tx.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from tx.get()
+                await tx.get()
 
         self.loop.run_until_complete(go())
\ No newline at end of file
diff --git a/_ucoinpy_test/api/bma/test_network.py b/_ucoinpy_test/api/bma/test_network.py
index e2b37dddc79c8334c2cb7349046a723ef515a8c7..03d9183fa897c191cd86280459f7a54682d7a459 100644
--- a/_ucoinpy_test/api/bma/test_network.py
+++ b/_ucoinpy_test/api/bma/test_network.py
@@ -22,18 +22,16 @@ class Test_BMA_Network(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Peering.schema)
 
     def test_peering_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             peering = Peering(None)
             peering.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from peering.get()
+                await peering.get()
 
     def test_peers_root(self):
         json_sample = {
@@ -62,15 +60,13 @@ class Test_BMA_Network(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Peers.schema)
 
     def test_peers_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             peers = Peers(None)
             peers.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from peers.get()
\ No newline at end of file
+                await peers.get()
\ No newline at end of file
diff --git a/_ucoinpy_test/api/bma/test_tx.py b/_ucoinpy_test/api/bma/test_tx.py
index 0c61231165a383c205e8621ecb0047feffe5986d..902e9607b1b2628d771306e4605acefb9ed6522e 100644
--- a/_ucoinpy_test/api/bma/test_tx.py
+++ b/_ucoinpy_test/api/bma/test_tx.py
@@ -121,34 +121,30 @@ class Test_BMA_TX(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Blocks.schema)
 
     def test_bma_tx_history_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey', handler)
             history = History(None, 'pubkey')
             history.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from history.get()
+                await history.get()
 
         self.loop.run_until_complete(go())
 
     def test_bma_tx_history_blocks_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey/0/100', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey/0/100', handler)
             blocks = Blocks(None, 'pubkey', 0, 100)
             blocks.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from blocks.get()
+                await blocks.get()
 
         self.loop.run_until_complete(go())
 
@@ -176,17 +172,15 @@ class Test_BMA_TX(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Sources.schema)
 
     def test_bma_tx_sources_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey', handler)
             sources = Sources(None, 'pubkey')
             sources.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from sources.get()
+                await sources.get()
 
         self.loop.run_until_complete(go())
\ No newline at end of file
diff --git a/_ucoinpy_test/api/bma/test_wot.py b/_ucoinpy_test/api/bma/test_wot.py
index 244452e78abd945c89686a1058e48c806f714f8c..6205bd6cdc178112b9ae343eb8009fcd724b3851 100644
--- a/_ucoinpy_test/api/bma/test_wot.py
+++ b/_ucoinpy_test/api/bma/test_wot.py
@@ -70,18 +70,16 @@ class Test_BMA_Wot(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, Lookup.schema)
 
     def test_bma_wot_lookup_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey', handler)
             lookup = Lookup(None, "pubkey")
             lookup.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from lookup.get()
+                await lookup.get()
 
         self.loop.run_until_complete(go())
 
@@ -96,18 +94,16 @@ class Test_BMA_Wot(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(Members.schema, json_sample)
 
     def test_bma_wot_members_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/', handler)
             members = Members(None)
             members.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from members.get()
+                await members.get()
 
         self.loop.run_until_complete(go())
 
@@ -148,25 +144,22 @@ class Test_BMA_Wot(WebFunctionalSetupMixin, unittest.TestCase):
         jsonschema.validate(json_sample, CertifiedBy.schema)
 
     def test_bma_wot_certifiers_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey', handler)
             certsof = CertifiersOf(None, 'pubkey')
             certsof.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from certsof.get()
+                await certsof.get()
 
         self.loop.run_until_complete(go())
 
     def test_bma_wot_certifiers_inner_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=bytes(json.dumps({
     "pubkey": "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
     "uid": "john",
@@ -187,28 +180,25 @@ class Test_BMA_Wot(WebFunctionalSetupMixin, unittest.TestCase):
     ]
 }), "utf-8"), content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey', handler)
             certsof = CertifiersOf(None, 'pubkey')
             certsof.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from certsof.get()
+                await certsof.get()
 
         self.loop.run_until_complete(go())
 
     def test_bma_wot_certified_bad(self):
-        @asyncio.coroutine
-        def handler(request):
-            yield from request.read()
+        async        def handler(request):
+            await request.read()
             return web.Response(body=b'{}', content_type='application/json')
 
-        @asyncio.coroutine
-        def go():
-            _, srv, url = yield from self.create_server('GET', '/pubkey', handler)
+        async        def go():
+            _, srv, url = await self.create_server('GET', '/pubkey', handler)
             certby = CertifiedBy(None, 'pubkey')
             certby.reverse_url = lambda path: url
             with self.assertRaises(jsonschema.exceptions.ValidationError):
-                yield from certby.get()
+                await certby.get()
 
         self.loop.run_until_complete(go())
diff --git a/_ucoinpy_test/api/webserver.py b/_ucoinpy_test/api/webserver.py
index 3dd863479b89b7d85fd903113daa59c080d27c4d..4a945144a6aa38aaf8e18588f749736d3b2d1de8 100644
--- a/_ucoinpy_test/api/webserver.py
+++ b/_ucoinpy_test/api/webserver.py
@@ -29,8 +29,7 @@ class WebFunctionalSetupMixin:
         s.close()
         return port
 
-    @asyncio.coroutine
-    def create_server(self, method, path, handler=None, ssl_ctx=None):
+    async    def create_server(self, method, path, handler=None, ssl_ctx=None):
         app = web.Application(loop=self.loop)
         if handler:
             app.router.add_route(method, path, handler)
@@ -39,7 +38,7 @@ class WebFunctionalSetupMixin:
         self.handler = app.make_handler(
             keep_alive_on=False,
             access_log=log.access_logger)
-        srv = yield from self.loop.create_server(
+        srv = await self.loop.create_server(
             self.handler, '127.0.0.1', port, ssl=ssl_ctx)
         protocol = "https" if ssl_ctx else "http"
         url = "{}://127.0.0.1:{}".format(protocol, port) + path
diff --git a/ucoinpy/api/bma/__init__.py b/ucoinpy/api/bma/__init__.py
index 65991f41aa04b2ddf1d2402556289013d3834899..4acc81044a69c65e2042803fdb585bb5300613e9 100644
--- a/ucoinpy/api/bma/__init__.py
+++ b/ucoinpy/api/bma/__init__.py
@@ -88,16 +88,15 @@ class API(object):
 
         return data
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         """interface purpose for GET request"""
         pass
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         """interface purpose for POST request"""
         pass
 
-    @asyncio.coroutine
-    def parse(self, response):
+    async def parse(self, response):
         """
         Validate and parse the BMA answer
 
@@ -105,14 +104,13 @@ class API(object):
         :return: the json data
         """
         try:
-            data = yield from response.json()
+            data = await response.json()
             jsonschema.validate(data, self.schema)
             return data
         except TypeError:
             raise jsonschema.ValidationError("Could not parse json")
 
-    @asyncio.coroutine
-    def requests_get(self, path, **kwargs):
+    async def requests_get(self, path, **kwargs):
         """
         Requests GET wrapper in order to use API parameters.
 
@@ -120,15 +118,14 @@ class API(object):
         - `path`: the request path
         """
         logging.debug("Request : {0}".format(self.reverse_url(path)))
-        response = yield from asyncio.wait_for(aiohttp.get(self.reverse_url(path), params=kwargs,
-                                headers=self.headers), 15)
+        with aiohttp.Timeout(15):
+            response = await aiohttp.get(self.reverse_url(path), params=kwargs,headers=self.headers)
+            if response.status != 200:
+                raise ValueError('status code != 200 => %d (%s)' % (response.status, (await response.text())))
 
-        if response.status != 200:
-            raise ValueError('status code != 200 => %d (%s)' % (response.status, (yield from response.text())))
+            return response
 
-        return response
-
-    def requests_post(self, path, **kwargs):
+    async def requests_post(self, path, **kwargs):
         """
         Requests POST wrapper in order to use API parameters.
 
@@ -139,9 +136,8 @@ class API(object):
             kwargs['self'] = kwargs.pop('self_')
 
         logging.debug("POST : {0}".format(kwargs))
-        response = yield from asyncio.wait_for(
-            aiohttp.post(self.reverse_url(path), data=kwargs, headers=self.headers),
-                                 timeout=15)
-        return response
+        with aiohttp.Timeout(15):
+            response = await aiohttp.post(self.reverse_url(path), data=kwargs, headers=self.headers)
+            return response
 
 from . import network, blockchain, tx, wot, node, ud
diff --git a/ucoinpy/api/bma/blockchain/__init__.py b/ucoinpy/api/bma/blockchain/__init__.py
index 2232b04b121d61cecc2b6cf74ca00e00a5adefea..bc44aa9c34b1fdfd326bfdf75b51a86c3d83955b 100644
--- a/ucoinpy/api/bma/blockchain/__init__.py
+++ b/ucoinpy/api/bma/blockchain/__init__.py
@@ -81,9 +81,9 @@ class Parameters(Blockchain):
         "required": ["currency", "c", "dt", "ud0","sigDelay","sigValidity","sigQty","sigWoT","msValidity",
                      "stepMax", "medianTimeBlocks", "avgGenTime", "dtDiffEval", "blocksRot", "percentRot"]
     }
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/parameters', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/parameters', **kwargs)
+        return (await self.parse(r))
 
 
 class Membership(Blockchain):
@@ -133,16 +133,16 @@ class Membership(Blockchain):
         super().__init__(connection_handler)
         self.search = search
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         assert 'membership' in kwargs
 
-        r = yield from self.requests_post('/membership', **kwargs)
+        r = await self.requests_post('/membership', **kwargs)
         return r
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.search is not None
-        r = yield from self.requests_get('/memberships/%s' % self.search, **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/memberships/%s' % self.search, **kwargs)
+        return (await self.parse(r))
 
 
 class Block(Blockchain):
@@ -277,16 +277,16 @@ class Block(Blockchain):
 
         self.number = number
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.number is not None
-        r = yield from self.requests_get('/block/%d' % self.number, **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/block/%d' % self.number, **kwargs)
+        return (await self.parse(r))
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         assert 'block' in kwargs
         assert 'signature' in kwargs
 
-        r = yield from self.requests_post('/block', **kwargs)
+        r = await self.requests_post('/block', **kwargs)
         return r
 
 
@@ -295,9 +295,9 @@ class Current(Blockchain):
 
     schema = Block.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/current', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/current', **kwargs)
+        return (await self.parse(r))
 
 
 class Hardship(Blockchain):
@@ -327,10 +327,10 @@ class Hardship(Blockchain):
 
         self.fingerprint = fingerprint
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.fingerprint is not None
-        r = yield from self.requests_get('/hardship/%s' % self.fingerprint.upper(), **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/hardship/%s' % self.fingerprint.upper(), **kwargs)
+        return (await self.parse(r))
 
 
 class Newcomers(Blockchain):
@@ -355,9 +355,9 @@ class Newcomers(Blockchain):
         "required": ["result"]
     }
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/newcomers', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/newcomers', **kwargs)
+        return (await self.parse(r))
 
 
 class Certifications(Blockchain):
@@ -365,9 +365,9 @@ class Certifications(Blockchain):
 
     schema = Newcomers.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/certs', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/certs', **kwargs)
+        return (await self.parse(r))
 
 
 class Joiners(Blockchain):
@@ -375,9 +375,9 @@ class Joiners(Blockchain):
 
     schema = Newcomers.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/joiners', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/joiners', **kwargs)
+        return (await self.parse(r))
 
 
 class Actives(Blockchain):
@@ -385,9 +385,9 @@ class Actives(Blockchain):
 
     schema = Newcomers.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/actives', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/actives', **kwargs)
+        return (await self.parse(r))
 
 
 class Leavers(Blockchain):
@@ -395,9 +395,9 @@ class Leavers(Blockchain):
 
     schema = Newcomers.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/leavers', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/leavers', **kwargs)
+        return (await self.parse(r))
 
 
 class Excluded(Blockchain):
@@ -405,9 +405,9 @@ class Excluded(Blockchain):
 
     schema = Newcomers.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/excluded', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/excluded', **kwargs)
+        return (await self.parse(r))
 
 
 class UD(Blockchain):
@@ -415,9 +415,9 @@ class UD(Blockchain):
 
     schema = Newcomers.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/ud', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/ud', **kwargs)
+        return (await self.parse(r))
 
 
 class TX(Blockchain):
@@ -425,6 +425,6 @@ class TX(Blockchain):
 
     schema = Newcomers.schema
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/with/tx', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/with/tx', **kwargs)
+        return (await self.parse(r))
diff --git a/ucoinpy/api/bma/network/__init__.py b/ucoinpy/api/bma/network/__init__.py
index afe3fdcbb1626112ab29bc0632dceebb0cbf0034..53ee46270fb44cf8227954a526bc87bc1971170d 100644
--- a/ucoinpy/api/bma/network/__init__.py
+++ b/ucoinpy/api/bma/network/__init__.py
@@ -53,8 +53,8 @@ class Peering(Network):
         "required": ["version", "currency", "pubkey", "endpoints", "signature"]
     }
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/peering', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/peering', **kwargs)
+        return (await self.parse(r))
 
 from . import peering
diff --git a/ucoinpy/api/bma/network/peering/__init__.py b/ucoinpy/api/bma/network/peering/__init__.py
index e0903c0fb8cfc0485184c5a7e0d2a8e2ece79b1f..31ae7f208112007cf66318bd67de8a8155693331 100644
--- a/ucoinpy/api/bma/network/peering/__init__.py
+++ b/ucoinpy/api/bma/network/peering/__init__.py
@@ -81,26 +81,26 @@ class Peers(Base):
         ]
     }
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         """creates a generator with one peering entry per iteration."""
 
-        r = yield from self.requests_get('/peers', **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/peers', **kwargs)
+        return (await self.parse(r))
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         assert 'entry' in kwargs
         assert 'signature' in kwargs
 
-        r = yield from self.requests_post('/peers', **kwargs)
+        r = await self.requests_post('/peers', **kwargs)
         return r
 
 
 class Status(Base):
     """POST a network status document to this node in order notify of its status."""
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         assert 'status' in kwargs
         assert 'signature' in kwargs
 
-        r = yield from self.requests_post('/status', **kwargs)
+        r = await self.requests_post('/status', **kwargs)
         return r
diff --git a/ucoinpy/api/bma/node/__init__.py b/ucoinpy/api/bma/node/__init__.py
index 458504bfc593b64e6bef4d07217315c15818de88..2c66a383d527f3d656e50926e4c68302891a17ba 100644
--- a/ucoinpy/api/bma/node/__init__.py
+++ b/ucoinpy/api/bma/node/__init__.py
@@ -53,7 +53,7 @@ class Summary(Node):
     def __init__(self, connection_handler, module='node'):
         super(Summary, self).__init__(connection_handler, module)
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/summary', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/summary', **kwargs)
+        return (await self.parse(r))
 
diff --git a/ucoinpy/api/bma/tx/__init__.py b/ucoinpy/api/bma/tx/__init__.py
index b64add455d2fd2bc59622c079deb944d386c392c..80562fbf17f64a8cee474d79153a79fdbc2bbede 100644
--- a/ucoinpy/api/bma/tx/__init__.py
+++ b/ucoinpy/api/bma/tx/__init__.py
@@ -157,19 +157,19 @@ class History(Tx):
         super(Tx, self).__init__(conn_handler, module)
         self.pubkey = pubkey
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.pubkey is not None
-        r = yield from self.requests_get('/history/%s' % self.pubkey, **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/history/%s' % self.pubkey, **kwargs)
+        return (await self.parse(r))
 
 
 class Process(Tx):
     """POST a transaction."""
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         assert 'transaction' in kwargs
 
-        r = yield from self.requests_post('/process', **kwargs)
+        r = await self.requests_post('/process', **kwargs)
         return r
 
 
@@ -216,10 +216,10 @@ class Sources(Tx):
         super(Tx, self).__init__(connection_handler, module)
         self.pubkey = pubkey
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.pubkey is not None
-        r = yield from self.requests_get('/sources/%s' % self.pubkey, **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/sources/%s' % self.pubkey, **kwargs)
+        return (await self.parse(r))
 
 
 from . import history
diff --git a/ucoinpy/api/bma/tx/history/__init__.py b/ucoinpy/api/bma/tx/history/__init__.py
index cd3f5c3b3505d800b169f70bb54b158ecdf60912..857fdd29b4db7eba0e3f61c84aa57adc22da857a 100644
--- a/ucoinpy/api/bma/tx/history/__init__.py
+++ b/ucoinpy/api/bma/tx/history/__init__.py
@@ -30,6 +30,6 @@ class Blocks(History):
         self.from_ = from_
         self.to_ = to_
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/history/%s/blocks/%s/%s' % (self.pubkey, self.from_, self.to_), **kwargs)
-        return (yield from self.parse(r))
\ No newline at end of file
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/history/%s/blocks/%s/%s' % (self.pubkey, self.from_, self.to_), **kwargs)
+        return (await self.parse(r))
\ No newline at end of file
diff --git a/ucoinpy/api/bma/ud/__init__.py b/ucoinpy/api/bma/ud/__init__.py
index 33f51b2ff52f9b1faaa1bf7ae2e718aec82783cf..613a01f2ac97c6792ee978c60a5cbeae5d92de7c 100644
--- a/ucoinpy/api/bma/ud/__init__.py
+++ b/ucoinpy/api/bma/ud/__init__.py
@@ -33,7 +33,7 @@ class History(Ud):
         super(Ud, self).__init__(conn_handler, module)
         self.pubkey = pubkey
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.pubkey is not None
-        r = yield from self.requests_get('/history/%s' % self.pubkey, **kwargs)
-        return (yield from r.json())
+        r = await self.requests_get('/history/%s' % self.pubkey, **kwargs)
+        return (await r.json())
diff --git a/ucoinpy/api/bma/wot/__init__.py b/ucoinpy/api/bma/wot/__init__.py
index 74b4244735ab4d4f32e0d8eb97485250a6bdf350..dba3883333ee2350db5536149b324f9f7ecc3f16 100644
--- a/ucoinpy/api/bma/wot/__init__.py
+++ b/ucoinpy/api/bma/wot/__init__.py
@@ -29,23 +29,23 @@ class WOT(API):
 class Add(WOT):
     """POST Public key data."""
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         assert 'pubkey' in kwargs
         assert 'self_' in kwargs
         assert 'other' in kwargs
 
-        r = yield from self.requests_post('/add', **kwargs)
+        r = await self.requests_post('/add', **kwargs)
         return r
 
 
 class Revoke(WOT):
     """POST Public key data."""
 
-    def __post__(self, **kwargs):
+    async def __post__(self, **kwargs):
         assert 'pubkey' in kwargs
         assert 'self_' in kwargs
 
-        r = yield from self.requests_post('/revoke', **kwargs)
+        r = await self.requests_post('/revoke', **kwargs)
         return r
 
 
@@ -144,11 +144,11 @@ class Lookup(WOT):
 
         self.search = search
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.search is not None
 
-        r = yield from self.requests_get('/lookup/%s' % self.search, **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/lookup/%s' % self.search, **kwargs)
+        return (await self.parse(r))
 
 
 class CertifiersOf(WOT):
@@ -227,11 +227,11 @@ class CertifiersOf(WOT):
 
         self.search = search
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.search is not None
 
-        r = yield from self.requests_get('/certifiers-of/%s' % self.search, **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/certifiers-of/%s' % self.search, **kwargs)
+        return (await self.parse(r))
 
 
 class CertifiedBy(WOT):
@@ -244,11 +244,11 @@ class CertifiedBy(WOT):
 
         self.search = search
 
-    def __get__(self, **kwargs):
+    async def __get__(self, **kwargs):
         assert self.search is not None
 
-        r = yield from self.requests_get('/certified-by/%s' % self.search, **kwargs)
-        return (yield from self.parse(r))
+        r = await self.requests_get('/certified-by/%s' % self.search, **kwargs)
+        return (await self.parse(r))
 
 
 class Members(WOT):
@@ -275,6 +275,6 @@ class Members(WOT):
     def __init__(self, connection_handler, module='wot'):
         super(WOT, self).__init__(connection_handler, module)
 
-    def __get__(self, **kwargs):
-        r = yield from self.requests_get('/members', **kwargs)
-        return (yield from self.parse(r))
+    async def __get__(self, **kwargs):
+        r = await self.requests_get('/members', **kwargs)
+        return (await self.parse(r))