Bitcoin is the most popular cryptocurrency in the world, which is regularly used by several dozen million people. Hundreds of millions own some number of BTC. We’ll tell you how to create your bitcoin wallet for integration with your business or the launch of a new project.
What do you need a bitcoin wallet for?
The first decision to make when creating your bitcoin wallet is to understand who will be using it, how, and what for. Type, features, design of a wallet and marketing strategy will depend on these things. For instance, if you just need a possibility to accept payments in bitcoins, then this wallet can be easily created with various APIs. The development of a wallet for a commercial SaaS project requires more significant effort and money.
Here are the main examples of the use of bitcoin wallets:
- e-Commerce. This option entails that Google Pay, Apple Pay, or PayPal will use the created bitcoin wallet. It means that the users will transfer money to each other and pay for products and services. Therefore, this app should be simple, intuitive, accessible, and have a nice design. So it should be a mobile or online wallet.
- Cold coin storage. This option implies the use of a wallet for long-term storage of coins, which implies the increased demand for reliability and security. Usually, to meet this demand people create hardware cryptocurrency wallets; less often – mobile or desktop apps with enhanced security features: hardware and/or biometric authentication, the possibility to implement a feature of joint balance management, etc. It requires a lot of time, money, and effort to create such wallets;
- Payment receipt on the site. There’s a growing number of online stores and other e-commerce websites, which are starting to accept payments in bitcoins. This possibility is usually implemented by using special APIs, which connect a store to a cryptocurrency exchange, web wallet, or SaaS solution.
- SaaS. Private individuals and companies can create their own cryptocurrency wallets with the help of this solution in a similar way as they launch their online stores using Shopify or WordPress. It’s extremely difficult, expensive, and time-consuming to implement such a SaaS project.
What will your cryptocurrency wallet be like?
Desktop wallets. These are bitcoin wallets, which work within the framework of desktop operating systems Windows, macOS, and Linux. They usually have maximal functionality, a high security level, and a relatively simple interface. Besides, unlike all other options, desktop bitcoin wallets allow launching full nodes, which store all blockchain data, and conducting examination and validation of transactions.
Description of types of bitcoin wallets: pros, cons, and examples. Source
Such wallets are mainly created with a focus on bitcoin enthusiasts, miners, and blockchain developers because only they are ready to tolerate some restrictions of desktop wallets. Some of them are high requirements for hard disk capacity (now it’s 300 GB), constant linkage to a computer, and the necessity of reliable protection of this computer from all kinds of malicious software, frauds, hacker attacks, and DDoS attacks.
Examples: Exodus, Armory, Bitcoin Core, Electrum.
Hardware wallets. These usually are flash drives, which have to be connected to a computer or a laptop to get access to cryptocurrency balance management. Their particularity is that they always store private keys inside the device, due to which hardware wallets are considered the safest. These wallets are managed by an app that is embedded in a flash drive.
Hardware wallets are created with a focus on investors, miners, businessmen, and other users, who operate with a big number of bitcoins and want to protect them from hackers and frauds as best they can. It’s more difficult to develop such a wallet than other types because you need to create not only an app but also a hardware device, which the software will be integrated into.
Examples: Ledger Nano X, Ledger Blue, and Trezor Model T.
Mobile wallets. These are apps to buy, sell, and transfer bitcoins via smartphone. Usually, they’re simple, convenient, have an attractive design, and offer additional features: QR code scanner, fingerprint authentication, Lightning transactions, etc.
Depending on the developer, these apps store private keys either inside a phone or on an external server, which is not very safe. For this reason, such wallets aren’t recommended to be used for operations involving huge amounts of money. They are most suited for small-scale daily transactions.
Examples: Bitcoin Wallet, Electrum, GreenAddress, Infinito, and Edge.
Paper wallets. As a rule, the creation of a bitcoin wallet, in this case, entails the development of software for encryption of public and private keys, so that they can be stored in paper form safely. Approaches to encryption may be various. The most important thing is for them to work quickly and be reliable. Those, who don’t trust digital protection methods, use paper keys.
Examples: Wallet Generator and Eth Address Wallet.
Online wallets. These are SaaS platforms that allow managing the assets with the help of any device that has Internet access. These wallets combine the accessibility of mobile wallets and the capability of desktop wallets, which comes at a price of lower security since the online wallets store the users’ public and private keys on their servers.
Examples: BitGo, Coinbase, GreenAddress.
What features to implement in a bitcoin wallet?
We can use the existing mobile bitcoin wallets such as Coinbase, Electrum, and GreenAddress as a standard to learn what features each similar app should have. Here is their description.
Main features of all bitcoin wallets. Source
- Sign up. If the target audience of your app is ordinary users, then you need a standard registration via email, Google account, or social media accounts. If your target audience is people, who prefer anonymity, then you need registration without linkage to external services.
- Account linking. The user can specify bank details or details of another payment service, by which they will be making purchases inside the wallet. Also, the payments after selling BTC will be made to this account.
- Current rate. A screen, where the current bitcoin rate to a dollar or another fiat currency is specified. The rate has to be pulled in from cryptocurrency exchanges every second or more often.
- Payment transactions. Buying and selling bitcoins, and coin transfer to other people’s crypto addresses. There should be a possibility to check the current balance, transaction history, and payment for outstanding invoices.
- Most used addresses. This is a list of other people’s cryptocurrency addresses, which the user fills in on his own. He can specify the lists of addresses, with which he has interacted the most often.
- QR scanner. A convenient feature, which saves time and allows avoiding mistakes when typing someone’s bitcoin address. It’s possible to use a phone camera, web camera, or just an analysis of an image, which is downloaded into the user’s device, to analyze a QR code.
- Push notifications. They report on transaction completion, outstanding invoice payment requests, app updates, etc.
- Security. It’s usually a two-factor authentication, less often — fingerprint scanner, Face-id, and hardware authentication.
- Dashboard. The screen, by which the administrator monitors the important information about the service: system condition, transaction volume. etc.
- User management. Tracking the status and actions of all users related to the app. These are both people, who buy or sell bitcoins with the help of a wallet and participants in referral programs.
- Analytics and reporting. The wallet generates various data, which can be used to improve the user experience, increase marketing effectiveness, and increase the audience’s loyalty.
- Blocking users. An administrator needs to have a possibility to block users if they violate the service rules, are engaged in fraud, or offend against a law (regulations of AML and KYC).
- The administrator doesn’t have a possibility to cancel bitcoin transactions or ban people in the Bitcoin system.
Does the wallet need additional features?
If you want your bitcoin wallet to be popular with the users, it has to stand out amongst the competitors somehow. You can do it by using various additional features, which improve the user experience. Here are several examples of such features:
How the YubiKey hardware authentication works. Source
- Geolocation. The app can track the user’s location with GPS to determine what fiat currency to peg the bitcoin rate to, what payment services to recommend, and search for the nearest users for quick transactions.
- Virtual cards. Many cryptocurrency wallets issue virtual cards that can be used as ordinary bank cards. Some crypto services also issue offline cards.
- Lightning transactions. It’s a protocol of the second level, which works over the basic Bitcoin network. Lightning makes bitcoin transactions instant (an ordinary bitcoin transaction requires 10 minutes) and reduces their cost significantly (from $1–5 to thousandths of a cent).
- Hardware authentication. Bitcoin wallet that you’ve created can use YubiKey flash drives or their analogs to authenticate users and validate transactions. This increases the level of wallet cybersecurity and protects from many types of fraud.
- Payment integration. It’s very good if the wallet can be used to buy products and services in as many stores and e-Commerce services as possible.
How to develop your bitcoin wallet?
Bitcoin Wallet API. If you need to create a bitcoin wallet to have a possibility to accept payment in bitcoins, you can just use a special API to integrate this possibility into your service. You are able to do it in 1-2 weeks and the cost is $1-10 thous. Here are several projects, which provide such a service: BitPay, Coinbase, Coinify, and SpectroCoin.
Software Development Kit (SDK). You can use such public libraries as Coinbase, Bitcoinj, or Blockchain to speed up and simplify the development of your app. Here’s how much it might cost.
Creating from scratch. It requires more time and money, but this is the best approach if you want to develop an app with a unique design and functionality. Here’s the estimated development cost.