diff --git a/examples/request_web_socket_block.py b/examples/request_web_socket_block.py
index 9203fcfecedc308e0d7c8eabd6ad5f2b57b4099e..4a05dac1474f65b833db7f6b3c7bf18d2919840d 100644
--- a/examples/request_web_socket_block.py
+++ b/examples/request_web_socket_block.py
@@ -1,11 +1,12 @@
 import asyncio
+import json
 from _socket import gaierror
 
 import aiohttp
 import jsonschema
 
 from duniterpy.api import bma
-from duniterpy.api.client import Client, parse_text
+from duniterpy.api.client import Client
 
 # CONFIG #######################################
 
@@ -26,38 +27,19 @@ async def main():
     client = Client(BMAS_ENDPOINT)
 
     try:
-        # Create Web Socket connection on block path
-        ws_connection = client(bma.ws.block)
-
-        # From the documentation ws_connection should be a ClientWebSocketResponse object...
-        #
-        # https://docs.aiohttp.org/en/stable/client_quickstart.html#websockets
-        #
-        # In reality, aiohttp.session.ws_connect() returns a aiohttp.client._WSRequestContextManager instance.
-        # It must be used in a with statement to get the ClientWebSocketResponse instance from it (__aenter__).
-        # At the end of the with statement, aiohttp.client._WSRequestContextManager.__aexit__ is called
-        # and close the ClientWebSocketResponse in it.
-
-        # Mandatory to get the "for msg in ws" to work !
-        async with ws_connection as ws:
-            print("Connected successfully to web socket block path")
-            # Iterate on each message received...
-            async for msg in ws:
-                # if message type is text...
-                if msg.type == aiohttp.WSMsgType.TEXT:
-                    print("Received a block")
-                    # Validate jsonschema and return a the json dict
-                    block_data = parse_text(msg.data, bma.ws.WS_BLOCK_SCHEMA)
-                    print(block_data)
-                elif msg.type == aiohttp.WSMsgType.CLOSED:
-                    # Connection is closed
-                    print("Web socket connection closed !")
-                elif msg.type == aiohttp.WSMsgType.ERROR:
-                    # Connection error
-                    print("Web socket connection error !")
-
-                # Close session
-                await client.close()
+        # Create Web Socket connection on block path (async method)
+        ws = await client(bma.ws.block)  # Type: WSConnection
+
+        print("Connected successfully to web socket block path")
+
+        data = await ws.receive_json()
+
+        jsonschema.validate(data, bma.ws.WS_BLOCK_SCHEMA)
+        print("Received a block")
+        print(json.dumps(data, indent=2))
+
+        # Close session
+        await client.close()
 
     except (aiohttp.WSServerHandshakeError, ValueError) as e:
         print("Websocket block {0} : {1}".format(type(e).__name__, str(e)))