Create apps that communicate with one another through Bitcoin transactions. To communicate, App1 can send an immutable message to App2 by making a bitocin transaction, to which App2 is listening and triggers its own custom action in response. Like Inter-process calls (IPC) , but for Bitcoin.

Build apps that listen to certain patterns of transactions, and then trigger another bitcoin transaction in response. Create a looping program on Bitcoin.

Build applications that listen to Bitcoin events and trigger 3rd party APIs

Build applications that listen to and run on various Bitcoin events

Each transformed event from the previous step is pushed to the corresponding application via SSE (Server Sent Events) . The apps can be anything from a mobile app to web app to server side app to a hardware device.

All the clients plugged into bitsocket subscribe with their own application-specific filter powered by Bitquery , a Turing complete bitcoin query language. Bitsocket takes the transformed transaction object from the previous step and programmatically turns it into application-specific events in realtime.

Bitsocket transforms every incoming raw bitcoin transaction into a structured format that can be filtered, transformed, and programmed, in realtime.

Whenever there's a new transaction in bitcoin universe that matches the query filter specified by theobject, bitsocket pushes you the notification via SSE (server sent events)

And it's as easy as using websockets (Actually it's SSE). Here's an example of an actual functional code:

Bitsocket lets you monitor realtime Bitcoin network like never before

2. Portable

Notice from above code that, the EventSource is openinng a connection to a base64-encoded JSON query object

{ "v": 3, "q": { "find": { "out.h1": "6d02" } } }

Basically, you're subscribing to that unique base64 encoded string instead of a specific URL.

This content-addressed subscription scheme means multiple bitsocket nodes will always produce the same push notification sets for the same query.

If a bitsocket node goes down, all apps plugged into that node can seamlessly migrate to another bitsocket node, providing application portability and decentralization.