Among many technical questions we receive, the latency-related group definitely stands out. Having deep HFT roots, I fully share concerns about this topic. Back in the day, building strategies for FX markets, we were choosing one CPU family over the other, preferring to use switches and routers of certain non-mass-market brands, install and tune very specific network cards, and so on. By the way, we replicated all this in the XTRD eco-system, that is why our NY4 location is equipped with Aristas and Exablaze servers!
But, of course, all these optimizations should be made only after your code is tuned to perfection. There is no economical sense of burning thousands of dollars on expensive hardware toys while you might have a bigger problem and it’s closer than you think.
We’ve been consulting several so-called “crypto-first” prop trading shops who bought absolutely top of the line/high cost servers and rented private internet lines from Avelacom (by the way, we also use Avelacom for certain destinations) to shave 4-7 ms of network-added latency. But! And here comes the best part – they had plans to use the CCXT library to trade. Don’t get me wrong, CCXT is a great library and I personally do respect the Open Source community but CCXT is not about HFT! So the fund guys win 7 ms by using high end hardware and private networks but lose sometimes up to 200 ms by using the wrong software.
Why do I think XTRD can do any better? One of our main focuses was – and still are – lowering latency in all possible ways. We analyze exchanges’ APIs, measure execution times, and build our connectors in order to notify clients as soon as possible when something happens.
Let me give you an example. Bittrex has a REST API to submit orders and an event-driven notification channel built on top of the terrible Microsoft SignalR stack. SignalR, in its turn, provides information in “orders” and “executions” channels. Data from the “executions” channel is more informative and useful (at least from our standpoint) but sometimes it comes with 300 (!) ms delay after similar, but less granular, updates in “orders”. What is really funny is that initial responses over the REST API come (sometimes, not always, which makes it even more interesting) faster than confirmations through SignalR. We know all these nuances and our connectors are capable of dealing with such situations. Of course, it creates certain complexity and non-linear logic but this is what we do for living.
Another example – when you cancel an order on Binance, you can rely on WebSocket notifications (which is a very convenient way) but in many cases, the REST API gets you a faster response. How fast? 10 ms! So you’ll know that your order has been canceled 10 ms faster and act on it accordingly. In the HFT world 10 ms is almost an eternity.
Each exchange has such “Easter eggs” and we know many of them. XTRD combines powerful hardware with a software layer, optimized to “shave” 10 ms here and 45 ms there. If you are committed to win, everything matters – your algo, the way it is coded, servers to run it, the right network to communicate, and a reliable partner to execute. Cut these latencies with XTRD, join the club!
In this article, we’ll describe how to configure trading capabilities on various cryptocurrency exchanges using the XTRD Addon for Bookmap. In case you don’t have this addon yet, here is the link to the document that will guide you through.
Use the standard Bookmap configuration window to subscribe to a certain instrument, for example, ETH/USDT on Binance. Once connected, you should see a floating window with your positions under management (initially empty):
Click on the blue “TRADING SETTINGS” button in the floating window. It will bring up another window with a list of available and configured trading destinations.
The Bookmap platform is organized in such a way that you need to have an active market data subscription in order to trade. It’s always possible to add subscriptions through the Bookmap Marketplace.
In the “XTRD Trading Settings” window, click on the “CONFIGURE” button for your target trading destination. Depending on the exchange type, you’ll need to enter a combination of Private Key, API Key, and/or Password. Please feel free to reach out to us in case you need assistance obtaining these parameters from your exchange!
Click on the “ADD” button. You’ll be forwarded to the connector’s configuration window.
“Ready to trade” destinations will have a green light, and a red light indicates that the connection is not established yet.
Allow about one minute for the system to finish all synchronization such as open orders and positions. Once a connection is ready, the indicator will turn green and all your available assets will be displayed in the “Positions” window.
Congratulations, you now can trade on Binance (and many other exchanges) using the XTRD Addon for Bookmap!
Important Menu Options
UPDATE – this button will be activated once you decide to update your connectivity credentials.
DELETE – this button will remove the selected exchange from the routing destinations. All open orders will remain open.
If you would like to quickly convert one currency to another, go to Positions, select base asset (in our case ETH), select a quote asset from the drop-down (for example BTC), and click “CONVERT”.
All other trading operations, like opening or canceling orders and monitoring trading activities can be performed using the standard Bookmap functionality.
We prepared a small video with instructions and several trading operations (including cross-checks using an actual Binance GUI).
Like most people, my first impressions are based on visual appeal. Yes, I realize that it might be the wrong approach to judge a book by it’s cover, but it’s hard to beat human nature.
As part of the crypto exchange integration process at XTRD, we usually familiarize ourselves with the exchange’s provided user interface, support systems, communication channels, public documentation, and so on. I remember that the day we started working on Coinbase Pro, I posted a long and exciting speech in the internal employee group chat about my findings.
After dozens and dozens of clunky, sometimes even absurd GUIs I’ve witnessed, Coinbase Pro was like a breath of fresh air. Everything was so polished, so smooth (no, smooooooth), and worked so intuitively, that I said — “guys, that’s why Coinbase is one of most popular platforms to trade crypto. Yes, fees are high but you enjoy the process. It’s like a switchover from an old Soviet Union “Zhuguli” to Mercedes Benz. Look, they even have a FIX API!”.
But then we started working with Conbase’s API. First impressions can be deceiving. Below is the list of things that puzzled us (and which we solved).
Your order is not yours
The FIX protocol defines a special field called ClOrdId (Client Order ID) to carry client-assigned IDs of his/her orders. The client’s OME/EMS (order/execution management system) uses these unique IDs to track each order individually for many reasons. It could be execution, reporting, accounting, or of the above.
When the server receives and accepts the client’s order, it assigns its own ID to the order (transmitted using field OrderID). This is completely reasonable because you can’t rely on a counterparty to track orders. Your system, your rules, your order IDs.
Unfortunately, in Coinbase Pro, a client’s order IDs are not really clients’. In accordance with their rules, the field ClOrdId should contain a UUID string (something like this 58d1f436–6a53–11eb-9439–0242ac130002).
Any attempts to send something different — numbers (1,2,3…), strings (my_super_order_1, cool_order_132) or any other forms of IDs will be rejected. This means that your OMS/EMS should discard the existing methodology of client side ID generation (database IDs, timestamps, random strings, and so on) and start using Coinbase Pro rules. Time to rename ClOrdId to CoinbaseClOrdId!
Wait, UUID is not that bad for ID management, there are several other exchanges that use it. Why not adopt it and stop complaining?
Because there is another surprise with ClOrdIds on Coinbase Pro! Once an order is confirmed and you received the first ExecutionReport with OrderID, you’ll never see your IDs again. Any following update attempts to extract a list of open orders or trading history — everything will contain only the Coinbase-assigned ID.
So there are challenges to solve:
adopt your OMS/EMS to use UUIDs or build a mapper between your native IDs and what you send to Coinbase
build a matching mechanism that allows identifying orders using only OrderID and links it to ClOrdIds
Needless to say, our clients simply don’t know about the twists and turns of this plot. XTRD’s FIX API is designed in a way that doesn’t limit you or creates additional obstacles to solve. Your system, your orders, your rules.
XTRD allows the assignment of any type of IDs — numbers or strings. Each ExecutionReport (if successful) contains an OrderID (ID in our system, always a number), and an exchange-assigned ID (could be anything) that can be used for cross-checks between internal and exchange systems for a binary, synergistic execution verification and audit.
As a final word: Coinbase Pro is a fantastic product and a great exchange to trade on — it’s normal that some parts of a very complex offering have minor rough spots.
XTRD’s job is to ensure that our clients’ awareness of integration difficulties only exists from our complaints in articles!
XTRD is happy to announce its partnership with Beeks, a leading cloud computing, connectivity and analytics provider for financial services.
This partnership will allow seamless provisioning of virtual private servers (VPS) immediately ready to trade on a variety of digital assets platforms, provided by XTRD. Beeks’ advanced eco-system, managed by their 24/7 Network Operations Centre, will dramatically reduce deployment time and increase the agility of resource provisioning.
As well as VPS based services for our larger trading clients, Beeks can also offer bare metal compute on dedicated servers providing better performance and an increased security layer.
Pete Johnson, Chief Technology Officer at Beeks stated, “As a growing asset class, we’ve had lots of interest in connecting our client base to trade the cryptocurrency markets. We already have several clients and partners in this space and we see the relationship with XTRD as an exciting extension of our capabilities”.
“Trading digital assets include certain complexities, such as protocols, connectivity, settlement, cybersecurity, and proper infrastructure. We believe that our partnership with Beeks Financial Cloud will bring much-needed peace of mind to many of our clients in terms of the deployment process, taking into account Beeks’ level of sophistication. As for the rest – XTRD has you covered.” said Serg Gulko, Co-Founder, and CTO at XTRD.
Beeks is a leading cloud computing, connectivity and analytics provider for financial services. With an international network of eighteen datacentres, Beeks provides end to end outsourcing of compute environments by delivering low-latency compute, connectivity and analytics, on-demand. ISO 27001 certified, Beeks supports its global customers at scale exclusively within global capital markets and leading financial centres.
Colocation is a deployment of physical hardware in the XTRD rackmounts in Equinix NY4, a primary datacenter utilized by major financial companies and stock exchanges. One of the most secure and efficient (in terms of performance and latency) ways to start trading crypto is by leveraging theseXTRD routing servers at Equinix.
You can send us your own hardware or rent something from our inventory. XTRD can offer 1U or 2U slots with both managed and unmanaged options.
With a managed option the XTRD team will take care of your hardware (monitor, component replacement, backups etc), while unmanaged means that it has to be done by your engineers.
From our experience, if you want to get the best possible performance – colocation is the only choice. With direct access to hardware and software, you can tune servers to outperform virtual instances offered by cloud providers. Of course, it all comes with a price and depends on your end goals. For example, a Honda is a great car to do pretty much everything – travel, commute to work, help your friend to move to another location but if you need to run a race – consider a Ferrari.
Pros of dedicated managed hardware:
Low network latency
Full control over the hardware
Cost of hardware
Cost of hardware maintenance
If your servers are already in Equinix, another great option is cross-connection. With minimal latency, you can communicate with XTRD’s servers to consume market data and route orders to major cryptocurrency exchanges in the US, Asia, and Europe.
XTRD’s state-of-the-art network infrastructure based on high-performance Arista switches will deliver FIX messages in and out in no time!
Low network latency
Ability to reuse your own hardware
More expensive than VPN or VPS
If network latency for you is not an issue, we can offer access to our services through encrypted VPN channels. It’s easy to configure and doesn’t necessarily require purchasing expensive hardware.
With this type of connection, clients are able to access the same resources as cross or direct connection but with a bit higher network latency caused by SSL/TLS encryption.
This is an ideal set up during the development/integration phase followed by migration to more advanced (and fast) cross-connection or colocation methods. Nevertheless, VPN can still be used for a variety of applications that do not require low latency.
Virtual Private Server (or VPS for short) is a good alternative to the co-location option. Instead of physical servers, your code will be running inside a virtual machine. This is a perfect option when you just want to do a quick test of your ideas.
No long-term obligations
Hardware knowledge is not required
Easy to maintain (backup, restore, destroy)
Less tuning options
VPS deployment options are available through our partners such as UltraFX VPS.
Let us know if you would like to try our services with a no-cost, no-obligation trial period!
NEW YORK: 7/30/2020 – TradingScreen Inc. (TS) subsidiary MARKTS, a cryptocurrency order and execution management system (OEMS), announces today its partnership with XTRD, an orders routing and connectivity provider targeting digital markets, to enable end-users to connect to an additional set of crypto exchanges on the MARKTS platform.
This integration will enable seamless connectivity to a further 20+ exchanges and expand the already extensive list of venues enabled on the MARKTS platform. The partnership will ensure reliable connectivity for institutional investors to digital assets by providing clients with alternative routes to liquidity and facilitating efficient trading of various top tier coins and tokens.
Through this partnership, MARKTS will address the long-standing issue of reliable connectivity to digital assets for the institutional sector and facilitate multi-venue access.
“In a market where liquidity is fractionated and reliable connectivity is essential, accessing multi-venues is paramount. Alongside our current set of TS connections, XTRD services will provide our clients with choice and key alternative routes to access liquidity.
“We are excited to partner with XTRD which complements our set of institutional-grade connections to various crypto venues,” says Alexandre Carteau, Head of MARKTS.
“We are happy to announce our partnership with MARKTS today to remove the barriers hindering reliable connectivity and access to digital assets for the institutional sector. Through this partnership we will provide institutional-grade solutions for traders of all kinds,” says Serg Gulko, Co-Found, and CTO at XTRD.
MARKTS, a TradingScreen company, is a cloud-based ‘software-as-a-service’ platform that offers users the ability to employ institutional-grade tools to facilitate order routing of digital assets in one integrated and compliant solution. For more information, please visitwww.markts.io
Founded in 2017 by financial markets trading experts, XTRD is introducing a new infrastructure to allow banks, hedge funds, and large institutional traders easy, reliable access to any cryptocurrency market they choose. By building a low-latency infrastructure with a unified FIX API across multiple liquidity points, XTRD is taking an industry-standard technology used within global financial markets – namely FIX – for over 25 years and introducing it to the cryptocurrency market. Visit www.xtrd.io for more information.
When it comes to cybersecurity, especially in the digital asset industry, there is no room for compromises!
Of course, this is a very hot topic and it’s always easy to talk about it rather than implement it in practice. These are additional procedures to follow, extra techniques to use, more people to hire. We built our systems taking into account the hostile environment where we will operate. Here is a brief overview of what XTRD does in order to protect our clients’ digital assets.
Restricted access. Our servers are not available over the public internet. In order to trade, clients have to cross-connect with XTRD within Equinix IBX data centers. Another option is to set up a VPN tunnel. In both cases, we know who the customer is.
Isolated environment for clients. Each client runs their operations within an isolated network segment invisible to other participants. This isolation is controlled by hardware and software layers.
Components separation. XTRD is built as a modular system (different data buses, routing components, data normalization farm, streamers, databases, monitoring, journaling, and so on) where components are separated by firewalls (if required by business logic). Each component can access only very specific IP addresses and ports. And, of course, no access to the operating environment is available over the public Internet!
Data encryption. Despite the fact that components are isolated and covered by firewalls, they “talk” to each other only through encrypted channels. Even internally. That’s the rule!
No sensitive information stored as a plain text. We deal with passwords, keys, and other forms of client’s credentials. This information is never stored unencrypted. API calls (yes, we do have REST API for accounts management) never return real data. Logs/journal records are scrambled to avoid unexpected leaks.
Protected from people’s failure. XTRD uses techniques similar to launch sequences on nuclear submarines – in order to start the system, it required a combined effort of several people. So in case of an unlikely event when one part of the key was compromised, it’s still not enough to obtain access – analogous to a multi-signature wallet concept.
Authentications and authorization. The majority of XTRD resources require authentication prior to obtaining access. In addition, access to certain resources is limited by a role-based authorization system.
Journaling and monitoring. All events, big and small, are carefully monitored and added into a journal. We know who was doing what and when. Of course, this information is carefully stored and backed up via tape on separate geographically distant servers.
XTRD has many more secure controls but we are keeping some of our secrets!
Let us know if you would like to try our services with a no-cost, no-obligation trial period!