How to Trust Your Order Book
For any serious trader, monitoring the order book is critical for market analysis. Today Bitfinex is pleased to announce a fresh implement that will help API users keep their books ter sync with a swift moving market.
This guide will provide an overview to accessing the Bitfinex order books via our APIs, and explain how to use our latest synchronization implement: checksums.
The following guide introduces how to interact with both the Surplus and WebSocket interfaces, and how to make use of the fresh checksum instrument.
Using the Surplus API “book” endpoint is good for those who need a single snapshot of the book. There are two versions of Surplus available, V1 and V2 (V2 is recommended):
(documentation) where SYMBOL is the pair you are inquiring about, i.e., BTCUSD, ETHUSD, LTCUSD, etc.
Which will comeback the following response:
The default size of the book is 25 vanaf side. To increase/limit asks or bids you may pass limit_asksand/or limit_bids within the url.
Where SYMBOL is the symbol you are inquiring about i.e. tBTCUSD, tETHUSD, tLTCUSD and PRECISION is the desired precision – P0 being the most precise, P3 being the least precise.
Which will come back the following response:
You will find that the response is returned ter a list. Bids have a positive amount, asks have a negative amount.
If you feel that you need a onveranderlijk stream of updates, WebSockets is the contraption for the job.
To use WebSockets, embark by connecting to wss://api.bitfinex.com/ws/Two
On open, send an subscribe event with your dearest pair and precision :
Now a stream of updates which you can process spil such:
Fresh Feature: WebSocket Checksums
The WebSockets v2 book API (documentation) now supports the option to request a checksum after each book switch. The checksum is a CRC32 value and covers the very first 25 bids and 25 asks. By calculating your own checksum and comparing it to the value provided, you can verify that your gegevens is juist and up to date. Below wij introduce the basics of requesting and applying checksums.
Very first, connect to the Bitfinex WebSocket:
A checksum message will be sent every book iteration:
where CHECKSUM is a signed oprecht.
Ultimately, create a string that represents your book, use a CRC-32 library (ter this case Knot) to create the checksum value, and then compare it to the checksum returned by the WebSocket.
The following is a quick snippet of said steps:
NOTE: It is significant that you recreate your book string ter the same format that the checksum wasgoed created. An illustration:
By comparing your calculated checksum and the one provided by the API, you can verify that your lugar gegevens is onberispelijk. If the values diverge, you’ll know that you need to get a fresh order book snapshot, re-subscribe to the channel, or inspect your implementation of the API.
The checksum permits you to surplus effortless by always knowing that your books are valid and up to date.
WebSocket w/ Checksums — An Example
Feel free to use the following example spil a embarking point te your own Bitfinex contraption.