How to implement a client capable of playing live games if not by polling?

We have a live game interface… this is how our own client interfaces with the game. However, we aren’t just going to give everyone access to this interface as-is right now.

I’d say 99% of api consumers don’t need access to real time move information and we will look at those 1% on a case-by-case basis. So while our rest api is public our real time interface is subject to a more strict approval process.