Coinbase Pro API Review

By XTRD CTO Serg Gulko

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!”.

Image for post

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.

Image for post

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 partners with Beeks

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.

Different deployment options

Colocation 

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 
  • High performance
  • High security
  • Full control over the hardware 

Cons:

  • Cost of hardware
  • Cost of hardware maintenance

Cross-connection

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! 

Pros

  • Low network latency
  • High security 
  • Ability to reuse your own hardware

Cons

  • More expensive than VPN or VPS

VPN

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.

VPS

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. 

Pros

  • No long-term obligations
  • Hardware knowledge is not required
  • Easy to maintain (backup, restore, destroy)
  • Less expensive

Cons

  • Less tuning options
  • Less performance

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! 

Feel free to reach out to us on LinkedInFacebookTwitter, or via the website at XTRD.IO.

Previous articles:

Reliable Market Data
Normalized Symbology
Normalized API for Trading
Engineering XTRD’s Fort Knox of Authentication

MARKTS partners with XTRD to increase access to digital assets for end-users

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. 

About MARKTS:

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 visit www.markts.io

About XTRD: 

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.

Market Data: July 29, 2020

Market data report provided by XTRD FIX API

BITHUMB

Bithumb contains 226 trading pairs consisting of 167 assets

New coins listed: GOLD, IBP, SUTER, CNS, BLY

Available cryptocurrency pairs: 

EXMO

EXMO contains 182 trading pairs consisting of 57 assets

New coin listed: CHZ

Available cryptocurrency pairs: 

New cryptocurrency pair: 

Removed cryptocurrency pair: 

  • XTZ/ETH

YOBIT 

Yobit contains 8604 trading pairs consisting of 1431 assets

New cryptocurrency pairs: 

OKEX

OKEx contains 386 trading pairs consisting of 157 assets

New coins listed: AERGO, SNX, BAL

Available cryptocurrency pairs: 

GATE.IO

GATE.IO contains 473 trading pairs consisting of 253 assets

New coins listed: KSM, AMPL, MTA, YFI

Available cryptocurrency pairs: 

HUOBI 

Huobi contains 567 trading pairs consisting of 234 assets

New coin listed: KSM

Available cryptocurrency pairs: 

New cryptocurrency pair: 

BINANCE

Binance contains 628 trading pairs consisting of 216 assets

New coins listed: MKR, RUNE, DAI

Available cryptocurrency pairs: 

BINANCE US

Binance US presently contains 77 trading pairs consisting of 40 assets

New coins listed: USDC, VTHO

Available cryptocurrency pairs: 

BITMEX

Bitmex contains 15 trading pairs consisting of 12 assets

New cryptocurrency pair: 

CEX.IO

CEX.IO contains 101 trading pairs consisting of 31 assets

New coin listed: ZRX

Available cryptocurrency pair: 

New cryptocurrency pairs: 

PROBIT

PROBIT contains 683 trading pairs consisting of 395 assets

New coins listed: MATIC, CNS, EVY, DDK, SXP, TERN, NNN, DX, COC, GMC, ULT, YFI, UQC, PHNX, HSS, AVA, ZPAE

Available cryptocurrency pairs: 

New cryptocurrency pair: 

STEX

STEX contains 437 trading pairs consisting of 344 assets

Delisted currency: RUB

Removed cryptocurrency pairs: 

  • BTC/RUB
  • BTC/USD
  • BTC/EUR
  • ETH/USD
  • LTC/USD
  • ETH/EUR
  • LTC/EUR
  • USDT/USD
  • ADK/USD
  • ADK/EUR
  • XRP/USD

BITMART

Bitmart contains 271 trading pairs consisting of 159 assets

New coils listed: SG, DOT, CNC

Available cryptocurrency pairs: 

New cryptocurrency pair: 

Delisted coins: TWEE, TUSD, LEOBTC50

Removed cryptocurrency pairs: 

  • LEOBTC50/USDT
  • TWEE/USDT
  • TUSD/USDT
  • ETC/USDT

Engineering XTRD’s Fort Knox of Authentication

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! 

Feel free to reach out to us on LinkedIn, Facebook, Twitter, or via the website at XTRD.IO.

Previous articles:

Reliable Market Data
Normalized Symbology
Normalized API for Trading

Normalized API for trading

XTRD’s mission is to provide clients with normalized FIX API to trade across multiple cryptocurrency exchanges. Our FIX 4.4-compatible solution can help you to:

  • reduce development costs
  • reduce maintenance costs 

All these “reduce” points are usually highly overused by marketers and in most cases become nothing but buzz words. Our team mainly consists of engineers, so instead we will speak in facts here.

Most digital asset exchanges have their own unique APIs. There is nothing wrong with expressing yourself by inventing yet another REST or WebSocket API for trading. Our team saw many of these along the way… The problem arises when you need to trade on, for example, Binance, OKEx, HitBTC, Gemini, and SeedCX simultaneously. The names were chosen intentionally because all five of these exchanges have significant differences in workflow. Try to send a market order through their native APIs and you’ll have a perfect example. 

Imagine that you need to build a system that should trade on these five exchanges – and for some reason, you decided to do it in-house. The integration of each exchange will take about three to four weeks (we’ve spent about two weeks per exchange, taking into account our 30+ integrated exchange experience). In an ideal scenario, this is one month for a team of five, or five months for a one-man-band. With prices ranging from $2,000 to $10,000 per engineer per month, you might end up with an initial budget of $10k to $50k. 

But this is only the initial commitment. Exchanges tend to change protocols by constantly introducing “latest and greatest” features, decommissioning old APIs, and doing all the other things that keep developers constantly busy. This means more work for engineers but less money for a business. 

We already passed this road and are happy to offer our FIX 4.4. order routing solution for crypto markets. XTRD’s solution provides the ability to trade digital assets using a single, standard API and very predictable workflow. All messages (NewOrderSingle, OrderCancelRequest, ExecutionReport, RequestForPosition, OrderMassStatusRequest and so on) and logic were replicated from traditional trading systems that make the integration process seamless and almost instantaneous. 

No matter how often exchanges change their protocols – the XTRD team tracks these changes on the back end to simultaneously update our own connectors and keep your trading operations uninterrupted. 

For financial professionals with relevant experience, integration with XTRD’s order routing services is a question of days (sometimes hours) rather than weeks and months when dealing with native exchange formats one by one. To those who are not familiar with FIX, we provide code samples and expert integration assistance. 

Being a member of the FIX Trading Community, XTRD does its best to spread the word regarding utilizing the FIX protocol for trading digital assets. We believe that a unified protocol such as FIX can significantly improve reliability and reduce the cost of ownership for our current and future clients. 

Let us know if you would like to try our services with a no-cost, no-obligation trial period! 

Feel free to reach out to us on LinkedIn, Facebook, Twitter, or website

Normalized symbology

The XTRD team has built and maintained a database of normalized symbol names and assets in the digital asset trading space. This may sound like a small thing, but once you begin trading across multiple crypto exchanges things quickly start to become complicated. For example, just the ETH/USDT trading pair is represented as follows across these exchanges:

  • ethusdt on HUOBI
  • ETH/USDT on KRAKEN
  • ETHUSDT on BINANCE
  • 55 on BITMART

Here are additional esoteric naming conventions.

With XTRD, you can subscribe to market data updates through our FIX API using the same symbol name – for example, ETH/USDT – for Huobi, Kraken, Binance, Bitmart, and any other XTRD supported exchange. More importantly, you can trade over XTRD’s FIX using just the ETH/USDT symbol name for all exchanges. All trading messages, all reports – everything is built on top of normalized symbols and assets. XTRD has done the hard work of normalizing naming conventions, so you don’t have to. 

Today XTRD’s database contains 12,659 unique symbols with multiple permutations. This means that you can reach 30+ different digital asset exchanges in almost no time using XTRD’s unified FIX API. 

Being an active member of the FIX Trading Community, we understand the importance of standardization and are awaiting ISO’s decision regarding a global cryptocurrency naming convention. Whenever it will happen – today, tomorrow, or in two years – our systems are designed in a way that allows easy adaptation for diverse primary naming sources. 

Let us know if you would like to try our services with a free, no-obligation trial period! 

Feel free to reach out to us on LinkedIn, Facebook, Twitter, or via the website at XTRD.IO.

Reliable Market Data

We would like to start a cycle of short articles that will highlight the main XTRD advantages and explain why you might consider using our services and ecosystem to build your next big thing.

Market data is fuel for the financial industry. No matter what you are doing – watch a chart, trade through some platform, or run automated strategies – the data is what makes the wheels spin. 

Despite its’ inherent openness, crypto market data is not an easy nut to crack. If your needs are a bit more than ETH/BTC from Binance, then you enter a territory of different protocols, unreliable transfer channels, out of the blue API changes, and proprietary, very unique symbology standards. A “build to last” approach does not work here; much of your resources will be immediately consumed by dozens of small tasks related to market data channels. Of course, if data distribution is the core of your business, it makes perfect sense to build and maintain these connections in-house. But if not?

For the last two years XTRD successfully provided reliable market data from major digital assets exchanges from the US, Asia, and Europe. Coinbase Pro, Gemini, Binance US, OKCoin, Binance, Huobi, OKEx, Bitmart, HitBTC, Bittrex, Bitstamp – this is just to name a few. 

The biggest advantage is that data is coming in a normalized format using FIX 4.4 protocol. Instead of streaming huge entire order book updates, our servers optimize the flow by sending only actual changes (in a form of “MarketDataIncrementalUpdate” messages). We send you the updates only, not the entire order book over and over, which is how it comes through natively for many exchanges.

For financial professionals with relevant experience, integration with XTRD’s market data streaming services is a question of days (sometimes hours) rather than weeks and months when dealing with native exchange formats. 

To those who are not familiar with FIX, we provide code samples and expert integration assistance. 

Being a member of the FIX Trading Community, XTRD does its best to spread the word regarding utilizing the FIX protocol for streaming digital asset market data. We believe that a unified protocol such as FIX can significantly improve reliability and reduce the cost of ownership for our current and future clients. 

Let us know if you would like to try our services with a free, no-obligation trial period. 

Feel free to reach out to us on LinkedIn, Facebook, Twitter, or website

Market Data: June 17, 2020

Market data report provided by XTRD FIX API

BITHUMB 

Bithumb contains 212 trading pairs consisting of 154 assets

New coin listed: DIVI

Available cryptocurrency pairs: 

YOBIT 

Yobit contains 8584 trading pairs consisting of 1429 assets

New coin listed: MASK

Available cryptocurrency pair: 

OKEX

OKEx contains 368 trading pairs consisting of 147 assets

New coin listed: WGRT

Available cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • DCR/ETH
  • AE/OKB
  • EDO/BTC
  • SPND/USDK
  • EDO/USDT

BINANCE

Binance contains 577 trading pairs consisting of 201 assets

New coin listed: STMX

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

Removed cryptocurrency pairs: 

  • WAVES/USDC
  • EOS/PAX
  • ZEC/TUSD
  • BCD/ETH
  • USDC/PAX

BINANCE US

Binance US contains 69 trading pairs consisting of 36 assets

New coin listed: REP

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

BITMEX

Bitmex contains 23 trading pairs consisting of 14 assets

New coins listed: USDU20, Z20

Available cryptocurrency pairs: 

New cryptocurrency pairs: 

BITSTAMP

BitStamp contains 32 trading pairs consisting of 10 assets

New coin listed: XLM

Available cryptocurrency pairs: 

  • XLM/EUR
  • XLM/USD
  • XLM/BTC
  • XLM/GBP

KRAKEN

Kraken contains 168 trading pairs consisting of 41 assets

New coin listed: AUD

Available cryptocurrency pairs: 

COINSUPER

Coinsuper presently contains 73 trading pairs consisting of 53 assets

Removed cryptocurrency pairs: 

  • CCC/ETH
  • CCC/USD

BITFINEX

BITFINEX contains 294 trading pairs consisting of 161 assets

New coin listed: RINGX

Available cryptocurrency pair: 

CEX.IO

CEX.IO contains 86 trading pairs consisting of 30 assets

New cryptocurrency pair: 

PROBIT

PROBIT contains 598 trading pairs consisting of 340 assets

New coins listed: COMP, QTCON, YOC, XTRM, DAPS

Available cryptocurrency pairs: 

New cryptocurrency pair: 

Delisted coin: CSL

Removed cryptocurrency pair: 

  • CSL/USDT

STEX

STEX contains 438 trading pairs consisting of 338 assets

New coins listed: BPC, GIG

Available cryptocurrency pairs: 

Delisted coin: WCC

Removed cryptocurrency pair: 

  • WCC/BTC

BITMART 

Bitmart contains 290 trading pairs consisting of 163 assets

Removed cryptocurrency pairs: 

  • CRYP/ETH
  • CRYP/BTC

HITBTC

HitBTC contains 906 trading pairs consisting of 405 assets

New coin listed: DAPS

Available cryptocurrency pair: