Cool project. btcd is going to make projects like this so much easier in the future, I think.<p>The old school way of doing something like serving notifications over websockets without using a hacky solution like bitcoind's walletnotify to a script, or new, well-engineered solution like btcd, is to create an actual lightweight Bitcoin node in the language of your websocket server. Traditionally, people have used artforz's old Python half-a-node for this purpose[1].<p>I recently updated this old half-a-node, also using code from jeffgarzik's python-bitcoinlib, to run on Python 3's new asyncio instead of the old asyncore. I have then have it tapping into PyZMQ to scale up and serve websockets on multiple Tornado servers. I've open sourced the asyncio part and may open source the rest soon[2]. In the full project, Tornado provides the main event loop for asyncio, but also smoothly integrates the ZMQ event loop using eventloop.ioloop.<p>I used this to create a backend for a realtime Bitcoin POS application, but I'm not convinced there's a real market yet for it, so I've not yet moved forward with it. Fun stuff.<p>1. <a href="https://github.com/jgarzik/pynode/tree/mini-node" rel="nofollow">https://github.com/jgarzik/pynode/tree/mini-node</a><p>2. <a href="https://github.com/esbullington/pynode-asyncio" rel="nofollow">https://github.com/esbullington/pynode-asyncio</a>