a quick review of CryptoWatch Link, a desktop charting client
Kraken owned CrytoWatch aims to try to change that by moving all your pricing, and charting needs to a desktop client, currently code-named “Link.”
- CW Link moves all streaming data from to a Rust based client library rather than relying on a web browser’s buggy implementation of WebSockets. Memory consumption on both the Linux and Windows clients is around hovers 50MB
- Link is very much a minimum viable product to get it out into the wild that is focused on custom layouts. A lot of standard features and customizations that are present in every charting and pricing platform are just not here yet.
- In a space where there hasn’t been a lot of improvement for the past 6–8 years, this is a good first effort.
- UPDATE — CW team has told me the go-live name of product will be CryptoWatch Desktop.
High level of the product
The user interfaces itself panel-based — you can customize the height and width of the individual windows or docklets. There is also a limited ability to customize the text height.
The types of panels you can choose from are:
- Candlestick charts w/ volume
- Tick chart
- Time and sale (aka trade history)
Candle Stick chart
The candlestick is pretty vanilla. You can choose your charts by exchange, symbol, and timeframe. You can currently adjust the scale of the bars, zoom in and out, change the chart theme from 2 or 4 colors, and that’s about it!
- There are no technical indicators what so ever
- drawing tools arent here yet.
It a view only panel where you would expect to interact with the chart.
The link tick chart show live bid /ask changes to reflect the width market and the trades that occurred. We checked this vs. our own tick source. It seems to be mostly correct. It’s updating on a snapshot, not on exact change in the order book. That perfectly fine for everyone uses.
We did find a bug in this chart. If you change the product to something it wasn’t already subscribed to, the chart had trade history but not bid/ask so you’ de end up with a weird looking chart for a few minutes. This isn’t a deal-breaker because, after 5–10 minutes, the chart is full again. However, it might be useful to have a button to force the “backfilling” of the data.
This is a slightly time-delayed daily market summary of volumes, price ranges, and percentage move. This view will look familiar if you’ve ever spent time on the card style interface on crypto watch. This might be useful if you were building a dashboard of information to sit on a non-main screen to give you info at a glance.
There is nothing super special here. Live price, bid/ask, and daily percentage. Our gripe, nearly universally, was that the test didn’t adjust as you adjust the size of the docket. If you compress it too much, the info goes off-screen.
Wish you could size it down to fit the same profile as the watch list
The order book contains price, quantity, and total sum quantity and is not customizable in any way currently. We found this to be a bit odd as order book aggregation, and book depth was a day one feature of crypto watch. Without these features, it made it almost useless for our needs. Only Nomad tried to use it for anything meaningful. “Being plain jane made it just a more detailed ticker for my needs.”
Time and Sale
Time and Sale, Market Trades, Tally all words for the same thing. CW added a bit more time for customization in this panel. You can configure total in the quote unit and aggregate by the amount at a price rather than a row of trades at the same price.
What does it do under the hood?
The application itself is written in Rust for cross-platform compatibility. On both the VMs we spun up, the application made a connection to
ec2–3–128–3–144.us-east-2.compute.amazonaws.com (3.128.*.*.) using TLSv1.2 on port 443 so secure WebSocket. Besides the streams you’d expect from a charting client, it does send a keep-alive, aka heart message. It doesn’t carry any tracking info, but it does send your IP… that’s part of the protocol.
I did crack the TLS packets (not pictured), nothing unexpected is happening.
It does the same thing as the web client now.
As we mentioned above, the application consistently stayed between 48–52MB of usage, regardless of how many panels and sources we had open.
This is pretty significant.
To further test this, we spun up both a window 10 and Centos VM w/ the same states and let it run for a week. We also spun up a third windows 10 VM running the crypto watch webclient.
At the end of the weeks, the chrome client had ballooned to 3GB of RAM while the CW clients stayed at the ranges we witnessed.
That alone is a reason to keep an eye on this project.
Overall, the team was happy with the quality of the build quality and impressed with the performance. Very few bugs were found while using the product for the last 20 days. Some of those were patched in the latest release without us having to report it. We wish it had more to the “standard” charting toolset, especially if the goal is to make a trading desktop client vs. a dashboard. This will be a tool to keep an eye on in the future.
You can sign up for the beta test waiting list here.