A bank may not have an office, but it must have an online banking service that can be accessed using a mobile app. At the same time, such a service should be not only convenient and understandable, but also as secure as possible, as well as comply with the standards for protecting the privacy of its users. At the moment, blockchain technologies cope with the tasks of security and data protection best of all. Therefore, in this article, we will show you how to develop a blockchain-based banking application.
Concept development
This stage is very important, as it allows you to understand what kind of banking application you want to develop and what you need to do this. In particular, you have to decide on a niche, target audience, main functions, as well as exactly how you plan to use the blockchain.
Here is a list of areas where blockchain is most often used in banking:
- Payments: You can develop a decentralized register to conduct monetary transactions and store transaction history. With blockchain, such a system will be more secure, faster and cheaper.
- Fundraising, crowdfunding: Initial Coin Offerings (ICOs) showed how easy it is to raise money for new projects.
- Clearing and settlement systems: Blockchain and smart contracts can remove unnecessary intermediaries and make such transactions almost instantaneous.
- Securities: More efficient and functional capital markets can be created by tokenizing traditional securities.
- Loans and credits: Blockchain technology can make borrowing money more secure and provide lower interest rates, as well as make all transactions automatic, including identification of parties.
- Trade finance: Will increase transparency, security and trust between traders worldwide by simplifying the bill of lading process.
- Identification and compliance verification: Blockchain allows for identity verification, keeping the anonymity of all parties, which will be very useful in identifying parties and verifying their compliance with KYC/AML.
Choosing a blockchain developer
Once you have decided which application you need, you can move on to finding a technical partner.
Developing a blockchain-based online app with freelancers or full-time employees is not worth it. Since, firstly, blockchain requires certain skills and experience, and secondly, only a professional team can guarantee the reliability of their code and its protection from unauthorized access.
Here's what specialists your tech partner should have:
- Product manager
- 1-2 Back-end developers
- 1-2 Front-end developers
- 1-2 Android / IOS developers
- 2-3 QA- specialists
- Business Analyst
- UI/UX designer
Where to look for a technical partner and what to look for is detailed in the article: "
How to choose software developer company?".
Development of drafts and prototypes of the service
An example of how a working draft of a banking application is turned into a wireframe.
Source
Next, together with the
developer company, you need to make a draft and/or prototype of your banking application, where you will see the order of user actions, the main design elements and service functions. You do not need to work hard on the look of the interface in the draft. It is enough to get an idea of the user's path to make it as short as possible.
Once you've optimized the user's path and understood what design elements you need to implement, you can start building the wireframe for your application. This is a schematic representation of the design of an application, consisting of blocks and lines that symbolize design elements and the user's path from screen to screen. They help better understand how everything will work, whether the user will be able to carry out what he needs, and how simple and convenient it is.
If you are satisfied with everything and no holes and complications were found, the wireframe can be turned into a highly detailed prototype that gives a more accurate idea of how the application will look after completion of your blockchain-based banking application.
Development of a graphic layout of the application
Based on a poorly detailed prototype, a more detailed one with markup of user paths is created, after which a layout of the application interface is created.
Source
A layout is, in fact, the finished design of the application interface (what the user will see). It should fit your niche, have a nice look, and fulfill the assigned tasks. All three of these things are required and equally important, so put your best effort into polishing them, remembering that
21% of millennials will uninstall an app right away if they don't like the design.
Here is a short list of what you should consider when creating your layout:
- Make sure the color scheme, icons, buttons, typography and other elements are in the same style and complement your corporate identity.
- All interface elements should be detailed, understandable and predictable: the user should intuitively understand what will happen if you click on a button or if you go to another screen of the application.
- Navigation through the application should also be intuitive to the user and correspond to the idea of a typical application.
- Choose colors, photos, videos that make users feel the way you want. For example, blue is the color of trust, red is anxiety, yellow is originality and novelty.
- If you are going to work internationally, think about regional differences in user perception.
Decide on the functions of your application
What functions of the banking application people use most often.
Source
Here is a list and description of the features that should be in any mobile banking application:
- Creating an account. Users can use email, phone number, or social media accounts to register on your platform and link bank accounts and cards to their account. The process must be simple, fast and safe at the same time.
- Account management. Includes functionality related to viewing account balance, activity history and switching between cards. People refer to this information most often, so you should be able to access it from the start screen of your application.
- Payments and transactions. Mobile banking apps may not include this feature, but it is better to have it as it greatly improves engagement and user experience. Moreover, it must be implemented with "foolproof" in order to avoid problems associated with sending funds by users to the wrong address. Now it is customary to do this through payment links and QR codes.
- It is necessary to determine the user's location and search for the nearest ATMs, terminals, service points.
- Support service. Should be available 24 hours a day, seven days a week, to swiftly help users solve their problems. It is best if it will be a combination of voice or chat bots, which will take over the processing of typical requests. Whereas live trained specialists will solve atypical problems and tasks.
- Pop-up notifications. Users must be notified of all changes in their balance of payments and activities within mobile banking. Deposit or withdrawal of funds, reminder of terminal payments, request for payment - users should see these things on screens.
What else is desirable to add to the MVP of the mobile banking application:
- Joint management. You can give users the ability to share account management, which is useful for both business and ordinary people, for example, to pay for shared meals or travel.
- Shake to pay. If two people shake their phones at the same time close to each other (for example, within a radius of a meter), then your application can recognize this as a signal to transfer money. Distance can be determined via Bluetooth or Wi-Fi.
- Dynamic CVC2. CVC2 is a three-digit bank card verification code. It is usually static, but you can add the ability to automatically change this code once a day or an hour at a random number to increase the security level of your users' funds.
- Three-factor authentication. This is a fraud prevention measure that involves the use of three levels of protection for authorization and / or spending of funds: password, SMS, voice password, fingerprint, face or retina scanning.
Choosing the best blockchain platform
When you know what functions your application needs and what exactly you want to transfer to the blockchain, you can start choosing the optimal blockchain platform. Usually the stake is placed on the security and speed of the blockchain, but not always. For some banking applications, increased transaction anonymity and data confidentiality may be important.
These are the most commonly used blockchain networks in the banking sector:
- The most popular option used by 80% of all developers. Suitable for projects focused on transparency, security and accessibility. Most blockchain developers know how to work with this blockchain, unlike other networks, for which you usually need to look for appropriate specialists.
- The Chinese equivalent of Ethereum, which previously relied on tokenization, instant and completely anonymous transactions. But recently it decided to move to a more "legal" status and added the possibility of licensing and certification of tokens and participants.
- R3 Corda. This corporate network was developed by J.P. Morgan specifically for the banking sector. Its main advantage is easier integration with outdated banking software (old large banks usually use old solutions, the basis of which was created back in the late 80s).
- A family of blockchains from the Linux Foundation that allow you to run public and private blockchains. There is a Hyperledger Iroha solution tailored for mobile application development.
Choosing the right technology stack
Burgan Bank mobile app architecture.
Source
When choosing a technology stack
to develop a blockchain application, you should focus on five main areas: back-end, front-end, blockchain, and cross-platform. In addition, you should also not forget about the things related to the reliability and security of the software.
This is what is most often used in such projects:
- For Android: Java, Kotlin, Node JS, ROR, Laravel.
- For IOS: Swift, Node JS, ROR, Laravel, IOS fabric.
- Cloud: AWS, Google Cloud Platform, MS Azure.
- Push notifications: Twilio, Amazon SNS, MAP.
- Database: MySQL, MongoDB, Redis.
- Other: RSpec, Phantom JS, PUMA server, PhoneGap, C ++, Xcode.
- Blockchain: depends on the chosen platform.
Application development cost
At this point, programmers
implement your application in code. Development time and cost depend on the complexity of the project and functionality, as well as on the location of the developer company. Location is important as developer rates can vary widely from country to country. You can read more about this in the article: «
How much does blockchain development and implementation cost?».
Here is the estimated cost of developing a blockchain banking application:
Deploying your service
After the completion of development and comprehensive testing, you need to put the application in the AppStore, Google Play Market and Microsoft Store marketplaces. These sites have strict reliability and security requirements, so make sure your service is working as expected and free of vulnerabilities for hackers and Ddos attacks, as well as several anti-phishing tools.
Feedback and development
Launching the application is just the beginning. After it, you should continue to collect feedback from users and your support service in order to remove all problematic points based on this data and add the functions that your target audience needs. In addition, if you are betting on users of Apple devices, then you also need to submit an application to the Apple editorial office so that they conduct an expert analysis and give their recommendations.
Legal points
All banking applications must comply with the laws and regulations of the country(s) in which they operate. Typically, these laws include requirements for the safety and privacy of users, as well as the fight against money laundering, corruption and the financing of terrorism.
Here are the most famous rules for financial security:
- California Consumer Privacy Act (CCPA)
- Payment Services Directive (PSD2) throughout the European Union (EU) and European Economic Area (EEA).
- Payment Card Industry Data Security Standard (PCI DSS).
- Pan-Canadian Trust Framework (PCTF) in Canada.
- Compliance with KYC requirements (Know Your Customer).
- General Data Protection Regulation (GDPR) in Europe.