Shrimpy vs CCXT: The Case for Centralization in a Decentralized Ecosystem
There is a drive in the cryptocurrency space to make everything open, decentralized, and free. This is truly great. The list of things that should fall into these categories is long, although the current list is short. As developers by trade, we love using and supporting open source projects. They provide a powerful set of tools that anyone can leverage to help make your personal and professional life easier.
It’s unfortunate when people start to frown upon anything that isn’t decentralized. The truth is not everything can be decentralized. Not everything can be completely open source. This may be the case in the distant future, but for now progress requires a degree of centralization to push the market forward. Consider Coinbase or Binance, two of the most well-known and reputable crypto businesses. Without these companies, the crypto space would not be where it is today. The market would be a sad state of affairs.
We should embrace centralization when it moves the industry forward. Progress will bring about the change we need to see. Down the road, decentralization of these centralized services will happen. It’s just not possible yet. In an industry where the buzzwords are around decentralization and distributed networks, we must take a step back and evaluate the true costs and benefits of doing so.
When it comes to financial services, features such as trading, order execution, and portfolio management absolutely require a degree of centralization to work properly. Developing a decentralized and distributed infrastructure from the ground up will be extremely complex and time-consuming. Non-localized network speeds are inadequate for real-time trading and won’t solve the major problems that application developers encounter.
Shrimpy’s Universal Crypto Exchange API is the solution for driving innovation in a decentralized economy. By making it easy to build 3rd-party trading platforms, Shrimpy is able to facilitate developers in the market to create new and groundbreaking crypto trading products that will help push the space forward
If you could somehow develop the architecture to allow the end user to run your software, with the API keys never leaving systems they control, then I’d be more than willing to check it out. I know that’s probably an unrealistic request though…
This is one of the first comments we typically receive. While the concept is exciting, the implementation is far more complex than meets the eye. When interfacing with exchanges, requests need to be signed in order to execute trades. The simplified process includes collecting account information, getting pricing data and actually executing the trades. If the trade doesn’t go through, it needs to be resent after being signed again. Each request is processed in quick procession to ensure optimal order execution.
The entire process could take as many as hundreds of requests in order to complete a complex process like rebalancing. Offloading operations to the client to be signed and sent back would be a significant amount of overhead, causing slower rebalancing speeds, and missed trade opportunities.
In addition to the logistics of performing complex operations, there are some strategies which specifically require centralized hardware. Real-time, high frequency, and algorithmic trading strategies require the hardware to be as close in physical proximity to the exchange as possible. These strategies aren’t operating on a scale of miles from the location of the exchange’s matching engine, but feet. You can see how every foot matters from a recent article about the feud of high-frequency traders.
Also, with CCXT you don’t depend on the 24/7 accessibility of Shrimpy’s backend system, because CCXT does not require a backend controlled by a 3rd-party company at all.
CCXT is open-source, users can always look and see what’s happening inside. It doesn’t require your trust and allows you to verify that it is sound. It is free and it has 10k stars on GitHub, a few thousands forks, a big community of users, more than 300 contributors and 700+ dependent projects.
CCXT is a fantastic library for developers who are looking to build an application which relies on data from exchanges. It provides quick access to the endpoints you will need to collect this data from each exchange.
The problem is CCXT lacks depth. It’s missing the infrastructure that’s required for trade execution, data storage and distribution, backtesting, user management, automated exchange updates, and scalability. CCXT provides a software-only solution to assist with small-scale and personal trading setups but fails as a ready-to-use integrated solution.
Developing a trading infrastructure that is always controlled by the user is great in theory, but it means they must always be online. Going offline causes the infrastructure to go offline with them. While there is a chance Shrimpy’s backend system can go down, it’s far less likely than a trading setup being run on a personal computer or mobile device.
Benefits of Centralized Systems
Software is great. Our team is more than half software engineers, so we love software. It’s not the only important aspect of running a successful software business, however. Let me provide an example. Imagine you’re a software engineer at Google and you downloaded their entire repository which has over 2 billion lines of code. You’re done right? You can now run your own Google!
Not even close. These two billion lines of code don’t operate themselves. They require over 1 million servers. There is no one person in the world who likely understands how to deploy and manage the entire infrastructure at Google. It requires coordination between teams, thousands of people working together to understand the entire system.
Then why do we expect people to build robust applications and services by providing them the open source code like CCXT? This idea is unreasonable. The amount of infrastructure it still requires to operate these businesses is enormous. Hundreds to thousands of servers are required to run even a simple application that interfaces with exchanges. It’s not an easy problem, so let’s not pretend there is an easy solution.
Shrimpy is designed to solve the entire infrastructure problem of integrating and maintaining exchanges. Instead of thousands of servers, you can manage everything in only a few small servers. Instead of spending months integrating exchanges, managing sporadic changes, and odd quirks, integrate with a single API that is consistent across all exchanges.
Let’s explore the case for centralizing our trading infrastructure.
Speed & Low-Latency
In the financial sector, where speed and time are of absolute importance, leveraging a local centralized server is the only effective way to reliably procure a server in close proximity to each exchange. This reduces the round trip time to execute orders. Making the strategy more effective at capturing trading opportunities.
The same theory applies to the cryptocurrency trading, where traders are seeking for the slightest advantage that can put them ahead of the rest of the competition.
Trading & Infrastructure
Similar to traditional financial markets, cryptocurrency markets will be dominated by high-frequency and algorithmic trading strategies, which require centralized servers to quickly process and execute trades.
If such high-frequency trading algorithms were executed through decentralized servers, they would lose out to centralized solutions. Low latency order execution is the highest priority in constructing a winning strategy.
But the question remains — how do teams go about creating the massive trading infrastructure in an increasingly competitive space? Developing this infrastructure from the ground up is nearly impossible for small teams, which is why Shrimpy is providing a practical solution for teams developing crypto trading products.
Real-time Data Collection & Processing
When it comes to data collection and aggregation, how do centralized and decentralized systems compare to one another?
Executing trades quickly requires more than simply placing the order with an exchange. Data first needs to be collected from the exchange. Without processing the data in a timely manner, opportunities will be lost. This also requires servers which are operated in close proximity to the exchange.
One of the great things about collecting trading and order book data is the lack of restrictions and its availability for open access. Data from exchanges are collected through public endpoints. Developing a decentralized or distributed system for collecting exchange data requires significantly more work for no additional benefit. With no tangible advantages to a decentralized or open source solution for data collection, this begs the question of whether there is an actual necessity or case for decentralization, which there currently is little evidence of. As of the moment, centralized services are far preferable due to their convenience, ease of access, speed, and reliability.
As of now, there are no products available in the crypto space that facilitate 3rd-party crypto trading app development for centralized exchanges. Shrimpy’s Crypto API was created with the purpose of product scaling in mind.
Although distributed systems are a popular concept in the crypto space, they still have a ways to go in terms of economic and business viability. Open source and decentralized services require participating entities to have updated and concurrent code at all times. Crypto app development teams tend to run lean and often lack the resources to take on these responsibilities.
Other aspects to take into consideration are the different interactions when connecting to crypto exchanges. Each exchange will have different configurations, each with their own unique endpoints, results, workarounds, and update procedures, leading to constant code-breaking updates when attempting to keep up with each exchange.
A centralized service can address this issue by implementing a common interface across all of these exchanges, handle the infrastructure maintenance, and automatically deploy code to reduce downtime.
Shrimpy Universal Crypto Exchange APIs is a robust solution for developing scalable trading applications for business use. By assuming the responsibility of both the trading infrastructure AND user management portal, Shrimpy’s API is an affordable alternative for lean teams looking to quickly develop and launch their own applications for trading and managing crypto.
Millions of cryptocurrency users have handed over their API keys to thousands of 3rd party applications. Each of these applications implement their own way of managing users. At times, these techniques aren’t secure. We’ve seen this happen countless times to other services.
Shrimpy prevents this by allowing developers to leverage our existing security infrastructure. Instead of trying to build security from the ground up, developers can use an existing trusted security service to manage users, reducing complexities and streamlining product launch efforts.
Furthermore, each user can interface directly with Shrimpy to execute trades, collect data, and manage exchange accounts. This reduces the amount of strain on developer resources from having to handle user requests.
There is a place and time for utilizing open source software solutions. However, at this point in time for the cryptocurrency ecosystem, the only way to provide a reliable trading infrastructure that scales globally is to use a centralized service provider that is able to reduce the development friction, increase uptime, and allows developers to focus their technical resources on core product development.
That’s not to say this will always be the case. As our team continues to expand our vision for the future of crypto trading, we will be exploring opportunities to integrate decentralized exchanges and liquidity platforms. Our ultimate goal is to provide real-world value for as many crypto users as possible, which may call for decentralized solutions later on as crypto markets continue to mature.
Shrimpy is an automated crypto trading & portfolio management tool that lets users automate their cryptoasset portfolio strategy like a traditional index fund.
Shrimpy for Consumers
Users are able to configure a custom cryptocurrency portfolio and implement a passive management strategy, removing the hassle of having to actively trade crypto.
The free version of Shrimpy includes complete automated trading, indexing and rebalancing features for ALL users. Shrimpy also offers a monthly premium subscription for $8.99/month. The premium subscription includes:
Shrimpy Social: Follow, communicate, and share strategies with other Shrimpy traders.
Shrimpy Insights: Learn how other Shrimpy users are constructing and managing their crypto portfolio.
Advanced Backtesting: An robust backtesting tool for evaluating custom cryptocurrency portfolio & strategies.
Shrimpy Web Application: Shrimpy - Cryptocurrency Portfolio Management
Shrimpy’s Crypto Trading API for Developers
Beyond the consumer app, Shrimpy also offers a Trading API for developers looking to integrate scalable exchange trading functionality into their app.
Shrimpy’s Universal Exchange API was created as a cloud-based solution to address several crypto developer roadblocks including Exchange Trading, Product Scalability, and User Management. With Shrimpy’s API in hand, developers are not limited in scope when it comes to creating the next era of groundbreaking products that will shape the future of crypto.
Shrimpy’s API is a cryptocurrency trading API that is readily compatible with all of the following exchanges and their API endpoints: Binance API, CoinbasePro API, Bittrex API, Kraken API, Gemini API, Poloniex API, Huobi API, KuCoin API, Bibox API, BitMart API, and HitBTC API. Instead of having to manage all connections to every exchange, users can simply leverage Shrimpy’s existing crypto exchange trading infrastructure and focus on actual product development.
Shrimpy Crypto Trading API: Shrimpy | Crypto Trading APIs for Developers