Hacker News new | past | comments | ask | show | jobs | submit login

After having looked at dozens of Bitcoin exchange APIs, this one was a breath of fresh air.

The only other respectable API out there belongs to Kraken [1].

[1] https://www.kraken.com/help/api




After having looked at dozens of Bitcoin exchange APIs

For those who don't recognize the name, Clark ran one of the best Bitcoin exchange charts sites at bitcoin.clarkmoody.com (now part of ZeroBlock?)


Polling is an awful API for market data, especially when the poll rate is limited. People end up gaming the system with multiple accounts and getting additional "peeks" into the order book. Maybe it doesn't matter for Bitcoin but it's a bad design for a serious exchange.


The API specifies how to poll once and use the streaming data feed to keep an accurate state of the order book on the client side.

So it's not really a polled API, for serious clients.


Thanks for the correction. You're right.

If one of these guys provided a more traditional fix/itch/ouch setup, they might get more traction with traders who are already active in other currencies/products.


Indeed. The WebSocket API is described here: https://docs.exchange.coinbase.com/#websocket-feed


I've just started to work with the Kraken API it is good. Their key signing/hashing auth is a little weird but the example clients are very useful.

Is there a way to get real time order book updates from the Kraken?

Another good API is Paymium's https://github.com/Paymium/api-documentation the most frustrating thing I find about exchanges API are race conditions when doing HFT, like submitting an order getting an ID, then asking about the ID to find it doesn't exist yet as the update hasn't be prorated yet.


Really? I've found Kraken's pretty hard to work with. They're inconsistent in some ways, like their currency pair names (sometimes "XXBTXZEUR", sometimes "XBTEUR"). Also, they are the only ones I've come across who don't just use plain old integers for ids - they have some weird scheme that has string ids formatted like O6W5EU-VY7YF-CS3XNP.

That said, they're better than say BTC-e and OKCoin :)


The way Coinbase is doing the streaming WebSocket data looks very good. My frame of reference is Bitstamp and Mt. Gox before that...

Keeping a proper copy of the order book on the client side should be fairly straightforward.

Bitstamp's API makes it impossible to keep the full order book synced. They broadcast the top 20 rows over the socket, but for many situations that's not good enough.


Bitstamp has a new websocket channel https://www.bitstamp.net/websocket/ where you can get full order book updates.


Excellent!

Maybe one day and exchange will create a developer email list where they let people know when the API changes (Bitstamp has had an awful history of breaking the API without warning).


Kraken's API is pretty good when compared to the industry average. It's just a little bit whacky.


No way. Kraken doesn't even have a real-time feed. The best I've ever seen is HitBtc or Coinsetter. Those two are the closest to Wall Street grade APIs out there (demo environments, real-time API agnostic of protocol, colocation, etc). From a brief glance, this Coinbase exchange API is close.


Having integrated five other cryptocurrency exchanges, I echo this sentiment. I hope it sets the bar.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: