Canister push to clients

Multiple people have discussed this, and I believe it’s an obvious limitation of the IC: We need canisters to be able to push data to clients.

Right now clients must continuously poll canisters to know about state changes. This does not scale well and causes various issues for client developers and users.

Canister push would hopefully allow developers to use protocols like WebSockets, which provide elegant bi-directional communication between clients and servers.

Possibly related:


Second this proposal as well.

Users expect realtime; developers are going to build it in one way or another. If we’re all building in polling mechanisms, it’s going to have devastating effects once apps start scaling.


Please make it happen. Even if it’s not with websockets it could be through Server Sent Events.


I’m curious if any other blockchain platform is able to push data to clients, or would IC be the first if it implemented this?

My understanding of Ethereum events is that someone would still need to query/poll the event log for changes.