Coinbase Tech Stack: Technologies That Power the Cryptocurrency Platform
As of December 2021, there were over 300 crypto exchanges with a total daily volume of nearly $290 billion on average.
Accessibility is one of the reasons for trading platforms and global exchanges being so popular. When COVID-19 crashed the global stock market, the demand for crypto boosted. The economic uncertainty caused by the pandemic has made millions of people look for alternative investment strategies. Cryptocurrencies became a viable response to stock market volatility. And more so for millenials: the new-era investors find crypto an attractive asset class and solid long-term investment choice.
Here at Surf, we specialize in developing fintech solutions, including cryptocurrency trading and exchange platforms. One of our projects is Twim, a cryptocurrency trading app for smartphones and tablets, which can be used by both professional traders and enthusiasts.
From our experience, if you are planning to create a crypto platform, we suggest looking at what leading companies have already done and what tech stack has proved its efficiency already. And namely, using the example of Coinbase.
Why look at Coinbase?
Coinbase was founded in 2012 and has grown to the most trusted US crypto trading platform. As of March 2021, it was the largest cryptocurrency exchange in the United States by trading volume.
- Coinbase is present in 100+ countries with over 115,000 ecosystem partners.
- In 2020, Coinbase experienced a sharp rise in the number of users. The monthly active users increased from 1 million to 2.8 million and doubled to 6.1 million in Q1 2021
- Coinbase revenue in H1 2021 made up $4.03 billion.
- Coinbase offers 3 primary lines of products: for individuals such as Coinbase platform, Coinbase Wallet, Coinbase card, for businesses such as Coinbase Prime, Commerce, Exchange, Custody, and for developers such as Cloud, Rosetta, WalletLink.
Coinbase tech stack in details
React Native for Coinbase applications
In 2012, when Coinbase was founded, there was a website only. The first native iOS and Android apps were released in 2013. But in 2020, Coinbase mobile app was completely rewritten from scratch with React Native.
There were several reasons behind the decision to migrate to a cross-platform solution. The company wanted:
- To increase the rate of growth and speed of iteration on mobile platforms.
- To improve coordination of larger, systemic changes and connectedness between Coinbase engineers working on the same platform.
- To deliver improved quality and performance for the company’s customers.
Among other reasons, the choice of React Native was conditioned by the fact that the web engineering platform of Coinbase was built on React. The technology stack was well-known for the team and allowed to improve connection across both mobile and web. Besides, React Native offers proven reliability, security features, performance, and native compatibility that fit the company’s needs.
While migrating to React Native, the Coinbase team faced some challenges. One of the biggest ones was a large native codebase. It covered over 200 screens, where many of them contained substantial business logic. And the team had to take it into account and do their best to avoid any regressions in features or lower performance during migration. Apart from that, over 30 native engineers had to retrain to cross-platform development without stopping new features release.
The Coinbase team gradually increased the scope and impact of the migration areas and organized the process of testing and result monitoring. Thanks to this, the company succeeded in achieving significant product performance improvements at each stage of the migration.
We at Surf also have successful experience with cross-platform development, in particular, with Flutter. The framework allows building mobile apps with excellent performance and native look and feel. Moreover, it saves 40% time and money for app development. Our portfolio includes several Flutter projects and one of them is a new business app for Rosbank. The app became the first Flutter-powered bank in Europe, and Flutter turned out to be a good match for the bank’s needs and helped to reduce development time and costs.
Coinbase Wallet — a Web 3.0 non-custodial wallet
Web 3.0 is a concept for a decentralized Internet based on public blockchain technology. To better understand the idea, we shall go back to Web 1.0 and Web 2.0.
- Web 1.0 was the first iteration of the commercial Internet and gave the users the option to read-only.
- Web 2.0 allows users to both read and write on centralized platforms such as Twitter, Facebook, YouTube, and others.
- Web 3.0 empowers users to read-write-own so that the users can manage their content, data, and digital assets via blockchains.
Web 3.0 is an evolving concept, but has already gained the interest of many users. To meet the constantly changing user needs, Coinbase is investing in accessible and user-friendly experiences that make it easier to participate in decentralized finance (DeFi) and collect non-fungible tokens (NFTs).
Coinbase Wallet applies Web 3.0 technologies. It is a self-custody wallet where the user is the only owner. It means users’ private keys are stored locally on their devices, and users have complete control over their cryptocurrency, keys, and data. The wallet supports over 4,000 token types and a wide range of decentralized applications. Through this digital product, Coinbase offers its customers the chance to study decentralized networks via phone or browser.
AWS as Coinbase cloud solution
Initially, the Coinbase bitcoin exchange was built in the cloud. Taking into account Coinbase’s ever-growing popularity and industry specifics, the team has always been committed to keeping the Coinbase technology basis secure, scalable, and ensuring availability. Additionally, they needed an efficient data analytics solution to get timely insights about customers’ interactions with the products.
In 2014, Coinbase started to evaluate various cloud technology providers to choose the one that could give them complete control over their environment instead of several different third-party hosting providers. Their choice was Amazon Web Services (AWS).
AWS offers a wide range of tools and services that cover Coinbase needs, including:
- AWS Identity and Access Management (IAM) to securely control access to AWS services;
- Amazon Relational Database Service (Amazon RDS) to easily set, use, and scale relational databases in the cloud;
- Amazon Elastic Compute Cloud (Amazon EC2) with the deepest and broadest computing platform, offering over 475 instances and set of the latest processors, storages, networks, operation systems, and purchase models for practically any load;
- AWS Availability Zones to distribute apps natively around the globe;
- Amazon Kinesis to seamlessly collect, process, and analyze real-time streaming data to get timely insights and respond promptly.
- AWS CloudTrail, Amazon Simple Storage Service (Amazon S3), AWS Lambda to get complete, transparent, and indexed audit logs across the IT environment.
- Amazon Elastic MapReduce (Amazon EMR) to receive additional big-data insight;
- Amazon Redshift to provide a managed petabyte-scale data warehouse;
The additional advantage is that Coinbase was able to focus more on innovation because they trust AWS and its solutions.
Coinbase API for integrations
Coinbase is a well-known and trusted platform for digital currency exchange. But it also offers an application programming interface (API) for developers to extend functionalities of their new or existing apps through the integration of Bitcoin, Bitcoin cash, Litecoin, and Ethereum.
Coinbase Digital Currency API offers the following capabilities:
- Generate cryptocurrency wallets and addresses;
- Buy/sell and send/receive cryptocurrency;
- Securely store Bitcoin, Bitcoin cash, Litecoin, and Ethereum;
- Retrieve real-time or historical price information;
- Receive payments notifications.
Above is the experience of Coinbase with its own challenges and solutions. On the one hand, the company has always been looking for technologies that are reliable and secure, as well as constantly working to improve user experience. On the other hand, Coinbase is ready to apply cutting-edge solutions. Being flexible and consistent in terms of tech stack helps Coinbase stay ahead of the competition even today.
When planning your own project you’ll face common fintech industry challenges and your own pains. For example, when we developed the Twim app, we had to overcome several challenges:
- Design an app that covers the needs of both professional traders and beginners;
- Provide users with the most crucial trading information -charts, depth of market, orders, and quotes for currency pairs- and have them constantly updated;
- Make the app fast and stable, which is vital for trading with ever-changing stock prices.
Twim was challenging for us in terms of chart building. Charts present one of the main elements in any trading app. They shall be accurate and updated timely. To build charts, we used the library of TradingView, the well-known financial visualization platform. Its advantage is flexible settings that allow displaying indicators that traders may need. Now, we continue our relationships with TradingView as a consulting partner.
If you want to learn how we dealt with those challenges and developed an intuitive and high-performant app, you can read the Twim case study.
But of course, all projects are different, so when you have one in mind and could use some help — just contact us. We will be glad to share our expertise with you and help you choose the right tech stack for your project.