I'm just getting started with it, and I'm actually not sure whats "under the hood" yet..its proably in the API docs..but I'm lazy. My guess is the API calls are hiding POSIX Sockets (its cross platform.. which is why POSIX is my suspicion). I've never used REST, but google has led me to believe...