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 Bitcoin Wallet 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).
Apps like Bitcoin Wallet
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 recent statistics, more than 14 million BC wallets are registered in 140 countries. It 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 quite high average rate – 4,4.
Blockchain Wallet is sometimes called hybrid because it stores bitcoin wallets online, although the company can’t access your private keys. In this way, fully anonymous payments are quite hard to make.
Coinbase is 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. Bitcoin Wallet developers created another very popular mobile app – BitcoinJ. However, it is available only for Android (more than 1 million downloads on Google Play).
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 allows users to buy and sell bitcoin, either, and litecoin by name, email, or digital currency address. It has special Vault feature where people can safely 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 changes in price, transactions and other important messages. Clients can easily 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 allows 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 faster payments. BitcoinJ enables users to sweep of paper wallets or pay offline via Bluetooth. App design is simple 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 code scanner. To send and request money easily.
- Merchant services. To browse bitcoin merchants and to work as a merchant.
- Push notifications. Alerts on transactions, changes 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 2015 became the first licensed U.S. Bitcoin exchange. They provided users with many financial tools 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 Node.js, Java, PostgreSQL, Redis, and orchestrated with Docker. And the exchange backend written in create apps has modular and scalable design ideal to add new 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 Simple Storage Service (Amazon S3), AWS Lambda, Kinesis containers etc. At least 1 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 whole Coinbase service, developers used many different technologies including a combination of Ruby, Node.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 instance, Java was mainly used to create the service’s backend but developers also used Clojure and Node 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:
- iOS: Storyboards, JSBridgeWebView
- Android: Gradle, BitcoinJ, Apache commons, Junit
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 backend is very important 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 tools 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 allow communication with Google Services and their integration to other services. For instance, in our case, Google Analytics, Smart Lock for Passwords on Android and Google Maps were used.
EDS (email delivery service) works for email confirmation, changing 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 2014 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 Node were also needed for smaller backend systems. Also, Blockchain has a wide variety of own APIs for different programming languages including Python, Java, .NET (C#), Ruby, PHP, and Node. Above you can also see the list of frameworks Blockchain apps work with.
This API allows 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 whole range of advantages like support from the app stores, faster 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 an Android-version. If we are talking about an app like Coinbase it takes nearly 700 hours. The hardest parts of the app are Exchange – 200 hours, Send/Request money – 120 hours, Notifications – 100 hours and Profile – 100 hours. Also, 40 hours are needed for Sign In/Up and more 40 hours for Dashboard development.
Add 100 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, although 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.
|Pin code screen||24||16|
|Get bitcoin screen||32||24|
|Send bitcoin screen||32||24|
|QR Code recognition||40||40|
|Address book screen||32||32|
|BackUp wallet screen||24||24|
|Recovery from backUp||24||24|
Our apps also have unique features. For instance, Blockchain’s Bitcoin Wallet needs Email verification screen and Map screen while BitcoinJ app has Report problem screen and Network monitor.
|Login screen||24||Security screen||32|
|Registration screen||32||Currency screen||32|
|Verify email screen||32||Get from wallet screen||32|
|Navigation Menu||16||Network monitor screen||32|
|Map screen||32||Report problem screen||32|
|My wallet screen||24||Help||24|
|Connect wallet to device||32|
Android app development estimate: 700/550/550 hours. iOs app development estimate: 600/500/450 hours. You can read more about 3 best bitcoin app SDK for iOS and Android with samples here.
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 easy to express in few numbers. Actually, it depends on quite many factors.
Basically here we’re talking about your decisions as a client. A number of native apps, a variety of features, type of developers – all these will influence development cost in the end. So if we mean bitcoin wallets you must answer a few main questions:
- What features will your app have? Remember that each small 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 answer 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, 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 seriously influence the total price. For instance, 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 small troubles can easily 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 easily 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 whole developers’ team. As usual in such cases, we recommend working with bigger companies, as far as bitcoin wallet is a quite complicated app that requires involving different specialists.
For our calculation, we took 50$ as the median per hour rate at developer companies.
|Backend||$10 000||$10 000||$10 000|
|Android||$35 000||$27 500||$27 500|
|iOS||$30 000||$25 000||$22 500|
|Web/desktop||$5 000||$5 000||$5 000|
|Design||$7 500||$7 500||$7 500|
|QA / PM||$4 000||$4 000||$4 000|
|Total||$91 500||$79 000||$76 500|
As you can see from our calculation bitcoin wallets can have various price depending on used development tools: from $76,000 to almost $100,000. And remember that combining different component can lower or make that numbers bigger.
Of course, you should discuss each unique idea with developers because you may not consider all the details. But at the same time, our spreadsheet will help you to get an estimated cost of bitcoin wallet development. So if you have interesting ideas for apps that work with bitcoins contact us to know more details and get a more accurate estimate.