The Finish Novice’s Guide to Trading Bitcoins By Steven Hay on January 25, two thousand sixteen – Updated on August 3rd, two thousand seventeen Trading TL;DR version of How to Trade Bitcoin: Table of Contents You can use Bitcoin’s volatility to trade Bitcoin CFDs without wielding actual Bitcoins through companies like Plus500, Avatrade and Fortrade. […]
How much does it cost to make an app like Bitcoin Wallet
We’ve already written a few articles about the cost of creating apps similar to Instagram, Yelp, Grindr, Shazam , and others. However, this one will be slightly different as we’ll describe three apps like B itcoin W allet at the same time.
If you look for bitcoin applications in app stores you’ll notice that there are few types of those. And bitcoin wallets are among the most popular. So in this article, we’ll talk about Bitcoin Wallet from Coinbase, Blockchain Luxembourg Ltd. and Bitcoin Wallet developers.
For the sake of convenience in the text, we’ll simply call them Coinbase, Blockchain, and BitcoinJ (for technology it’s based on).
How does Bitcoin Wallet app work?
Very first of all, lets’ get a brief view of all three apps.
Bitcoin Wallet from Blockchain is often called the most popular in the world. Due to the latest statistics, more than fourteen million BC wallets are registered in one hundred forty countries.
Blockchain app is available for Android and iOS but also works on Windows, Mac OS, and Linux. This wallet has over million downloads on Google Play and fairly high average rate – Four,Four.
Blockchain Wallet is sometimes called hybrid because it stores bitcoin wallets online, albeit the company can’t access your private keys. In this way, fully anonymous payments are fairly hard to make.
Another popular bitcoin wallet you shouldn’t miss is created by Coinbase. It has mobile apps for Android and iOS but also is accessible through web browsers.
Coinbase Wallet on Google Play now has over million downloads (average rate Four,Four). The company now has almost Four.1 million customers and more than thirty eight thousand merchants, who accept bitcoin, ethereum, and litecoin through this service.
By the way, this wallet works with other cryptocurrencies, while the competitors concentrate on bitcoin only. At the same time, Coinbase is a bit risky, as the company holds your bitcoins. Albeit with the Vault feature users can avoid that control.
One more Coinbase disadvantage is limited geography. For example, now it works in thirty two countries only.
Bitcoin Wallet developers created another very popular mobile app. However, it is available only for Android. This Bitcoin Wallet also has more than one million downloads on Google Play. It was very first launched on March 7, 2011, and therefore is regarded as one of the oldest names in the bitcoin business.
Here we should also mention that this app has open source code. Anyone can use it, so similar apps are available for other platforms too.
BitcoinJ is slightly different from previous wallets because it is decentralized and has a utter P2P function. This means that users get utter control over their bitcoins.
Bitcoin Wallet app features
As was mentioned above Bitcoin Wallet apps have both similar and different features. We want to analyze each application separately and then give you a summary of main bitcoin wallet features.
This app permits users to buy and sell bitcoin, ether, and litecoin by name, email, or digital currency address. It has special Vault feature where people can securely store their bitcoins. Also, the app shows users list of merchant services such as Dell, Expedia, Overstock and many others.
Coinbase Wallet shows users price charts to track real-time and historical cryptocurrency exchange rates. Also, it uses alerts to notify people about switches in price, transactions and other significant messages.
Clients can lightly send and request money via NFC or QR code. For this and other purposes, you can connect your PayPal, bank account, credit and debit cards to the wallet.
App security is provided with a passcode. It protects the app if your phone was stolen or lost. In this case, you can remotely deny access to your funds within this app.
This application permits users to send and receive Bitcoin instantly with anyone in the world and shows bitcoin amounts in BTC, mBTC, or bits. Blockchain wallet also works offline.
Blockchain wallet provides clients with QR scanner, paper wallet import and search of bitcoin merchants in the needed area. The app shows actual bitcoin conversion rates and sends notifications on transactions.
Both PIN and password protect your bitcoins in this case. Besides all wallets have fully encrypted client-side. So that company claims it can’t view user’s transactions or wallet balance.
As was mentioned above this Bitcoin Wallet doesn’t require registration, as it works peer to peer.
BitcoinJ app has standard features like sending and receiving Bitcoins via NFC, QR-codes or Bitcoin URLs, display of Bitcoin balance, conversion rates to and from national currencies etc.
Also with this wallet, you get address book for most often used Bitcoin addresses, system notifications and possibility to scan QR codes for swifter payments. BitcoinJ enables users to sweep of paper wallets or pay offline via Bluetooth.
App design is ordinary and material-like. It supports portrait & landscape mode and works on tablets. Besides many screens have their own tutorial.
By the way, Coinbase and BitcoinJ are displayed amongst official bitcoin wallets at Bitcoin.org.
So here are the main bitcoin wallet features:
- Authorization. Sign up/sign in form to access bitcoin wallet.
- Bitcoin Wallet: To send and receive bitcoins, check the balance.
- Most used addresses. To access frequently used addresses.
- Conversion rates. To track bitcoin price.
- Paper Wallet import. To scan paper bitcoin wallets.
- QR codescanner. To send and request money lightly.
- Merchant services. To browse bitcoin merchants and to work as a merchant.
- Thrust notifications. Alerts on transactions, switches in bitcoin price etc.
- Security. To set a password and PIN to protect the app.
Tech stack for Bitcoin Wallet-like app
Now we’ll talk about technology stack needed to create apps like Coinbase, Blockchain or BitcoinJ. As these applications have different structure again we’ll describe all of them separately.
In two thousand fifteen became the very first licensed U.S. Bitcoin exchange. They provided users with many financial implements including Coinbase Exchange for trading digital currencies. Later it was renamed into GDAX – Global Digital Asset Exchange. And now it is one of the most liquid digital asset exchanges in the world.
GDAX was built using a combination of Knot.js, Java, PostgreSQL, Redis, and orchestrated with Docker. And the exchange backend written in Knot.js has modular and scalable design ideal to add fresh features and digital assets.
Also, Coinbase used various cloud technology in earlier times, but now it is based mostly on Amazon Web Services (AWS).
For example, this company has a streaming data insight pipeline in AWS, with real-time exchange analytics processed by an Amazon Kinesis managed big-data processing service. This data later goes through a complicated chain of technologies including AWS CloudTrail, Amazon Plain Storage Service (Amazon S3), AWS Lambda, Kinesis containers etc. At least one TB of data goes through this process every day.
All of the company’s networks are designed, built, and maintained through AWS CloudFormation templates. Coinbase also uses Amazon Virtual Private Cloud (Amazon VPC) endpoints to optimize throughput to Amazon S3, and Amazon WorkSpaces to provision cloud-based desktops for global workers.
As for entire Coinbase service, developers used many different technologies including a combination of Ruby, Knot.js, PostgreSQL, MongoDB, Redis, Swift (for iOS), and Java (for Android). Also, you can work with AngularJS development company to make your own crypto-app.
Blockchain Luxembourg Ltd. built their bitcoin empire using different popular technologies. The company named a few of them.
For example, Java was mainly used to create the service’s backend but developers also used Clojure and Knot for smaller backend systems. The frontend part is based on AngularJS while the database is MySQL.
The Blockchain wallet is available on iOS, Android, and The Web. The company uses many frameworks in their apps. Here are few of them:
To create Web application company needed AngularJS, NPM, NodeJS, Travis, ES6, Jasmine (for tests), BitcoinJS, Bootstrap, and others.
Bitcoin Wallet is a standalone Bitcoin payment app for Android device fully using BitcoinJ SDK without an own server (instead of using P2P). It is an open source project on GitHub, so anyone can make similar or look-a-like application.
BitcoinJ itself is an open source Bitcoin client library built using Java. It also implements the Bitcoin network protocol. This library can be downloaded as a JAR or using Maven or Gradle. Also one can get the code from Github
As you know b ackend is very significant part of development process . So that we described it separately for all apps too.
To develop an app basing on Coinbase APIs and SDKs you’ll need to create a few basic elements like User and Story management, Notification and Blockchain. To make those elements work one can use various instruments including Bitcoin network, Google API, AWS, EDS, Rest API etc.
Database for app like-Coinbase uses Redis, MongoDB and Postgre SQL technologies.
Google APIs – are a set of application programming interfaces developed by Google. They permit communication with Google Services and their integration to other services. For example, in our case, Google Analytics, Brainy Lock for Passwords on Android and Google Maps were used.
EDS (email delivery service) works for email confirmation, switching forgotten password etc. In this case, you can use Sendgrid or Amazon SES.
AWS – Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services. Since two thousand fourteen Coinbase works with this services, including Amazon S3, Amazon RDS, and Amazon EC2.
Blockchain backend somewhat resembles that of Coinbase, so we wouldn’t repeat it in details. It also includes User and Story management, Notification service and, of course, Blockchain technology.
To create Blockchain backend developers mainly used Java, but Clojure and Knot were also needed for smaller backend systems.
Also, Blockchain has a broad diversity of own APIs for different programming languages including Python, Java, .NET (C#), Ruby, PHP, and Knot. Above you can also see the list of frameworks Blockchain apps work with.
Bitcoin Wallet based on BitcoinJ has a simpler structure. To create something like that you’ll need BitcoinJ API and REST API.
This API permits users to work with TestNet3 (official bitcoin test network), MainNet (original and main network for Bitcoin transactions) and also to set up a private server.
BitcoinJ has very rich functionality. One of most attractive features is SPV mode. It enables users to download only part of bitcoin blockchains and work with it.
Backend development estimate in average will take 200+ hours regarding chosen type of app.
Native app development
Developing native apps tends to be a bit expensive if compared to web apps. However, it gives you a entire range of advantages like support from the app stores, quicker work, better using of built-in features etc.
Native apps are usually created for most popular mobile OS and nowadays those are Android and iOS. Windows Phone popularity is not very big that’s why many popular bitcoin wallets do not always have a separate version for it.
Our dev team at ThinkMobiles estimated the time needed for development of Bitcoin Wallets for Android.
If we are talking about an app like Coinbase it takes almost 700 hours.
The hardest parts of the app are Exchange – two hundred hours, Send/Request money – one hundred twenty hours, Notifications – one hundred hours and Profile – one hundred hours. Also, forty hours are needed for Sign In/Up and more forty hours for Dashboard development.
Add one hundred more hours for various smaller app details. As a result developing app like-Coinbase is the most time-consuming.
Then we also have Bitcoin Wallets from Blockchain and BitcoinJ. Each of them requires almost 550 hours of work, albeit the main components of the process are slightly different. In the next table, we compared similar features of bitcoin apps. As you can see estimated time for them is not the same.
Our apps also have unique features. For example, Blockchain’s Bitcoin Wallet needs Email verification screen and Map screen while BitcoinJ app has Report problem screen and Network monitor.
Bitcoin Wallet app cost components
Before calculating the total cost of creating your own bitcoin wallet app let’s talk once more about developing apps in general. As you may already know app development is not that effortless to express in few numbers. Actually, it depends on fairly many factors.
Basically here we’re talking about your decisions as a client. A number of native apps, a diversity of features, type of developers – all these will influence development cost in the end. So if we mean bitcoin wallets you must response a few main questions:
- What features will your app have? Reminisce that each puny feature adds a few thousand dollars to the total price of your app. However, the number of features also influences the level of service your clients get.
- What kinds of apps do you need? Native apps (iOS/Android) are generally more expensive than Web apps. But also they give owners and users more possibilities.
- Will your app require a server? If the reaction is ‘yes’, be ready to pay more. Above you could read that BitcoinJ Wallet doesn’t require a server while Blockchain or Coinbase apps need it.
Answers to these questions will help developers to make a final estimate of your application.
Also to understand app pricing we can divide the cost of development process into separate parts and analyze each of them.
In any case, very first of all, you’ll need a backend for your app. Basing on backend developers can create native apps for Android or/and iOS and also Web app (HTML5). You can choose all of this or just one. It depends on certain goals you set for your application.
Then you need to create some interface so that your client can actually use the app. The difficulty of designer work can gravely influence the total price. For example, if designers use ready templates you will pay less. But if you want to create unique design get ready to wait longer and pay more.
At last, there is a stage of testing. Each app needs to go through series of tests because users nowadays are very sensitive to application bugs. And in the world of harsh app competition, those puny troubles can lightly lead your potential clients to the competitors at once.
In the next drawing, you can see how different parts of development process influence the total price of an app. The longer time each part takes, the more money you’ll pay.
Total cost estimate
Now after you know the average time for development of each app components you can lightly count the total cost of creating each app.
Here we get back to the point of development cost. There are few possibilities like hiring separate freelancers or working with the entire developers’ team. As usual in such cases, we recommend working with fatter companies, as far as bitcoin wallet is a fairly complicated app that requires involving different specialists.
For our calculation, we took 50$ as the median per hour rate at developer companies.