Building a Digital Bank, Part #3
SDK.Finance — who what when where why how
In the previous part (#2), we touched on SDK.Finance, giving an idea of what it is. To re-cap — it's a strong & flexible back-end solution that should fit most needs of a Digital Bank. In this part (#3), we will delve deeper and explore this platform in detail.
The platform offers rich out of the box functionality, but for some particular features and requirements, additional core development and customization might be required.
SDK.finance manages customization projects through a transparent ticketing workflow in Jira and the cooperation model is divided into four steps.
Before starting the project, an investigation phase with SDK.finance helps to set expectations for all parties. This includes:
Discussing the project requirements
Signing contracts and NDAs
Agreeing on ongoing costs
The main idea is to understand what is needed and how much of it is satisfied out of the box, and how much needs to be built. Based on that, we will get a better understanding of the project costs. This can take up to 4 weeks.
After signing a contract, a technical specifications document is drafted. The document includes:
Texts explaining requirements
The goal is to set clear requirements and expectations for the critical back-end components. These requirements will later be translated into actionable tasks. This phase can take up to 4 weeks as well.
Finally, after completing the steps above, core development on the SDK.finance back-end can start. A development instance is one of the first deliverables, and this enables us to start developing and testing fully integrated front-end components and see weekly progress on the core back-end development.
The estimated time of this phase is around 10 weeks, but this can vary based on the requirements. The expectation is to have all the components built and integrated, by the end of this phase.
This phase includes the final QA and UAT, followed by go-live. During this phase, final testing takes place and the product is made available to the public. After go-live, support services are highly recommended.
The estimated duration of this phase is 4 weeks.
The whole journey is estimated to take close to 6 months, but this, of course, will vary based on actual requirements.
A demo of the SDK.finance back-office is available. This gives us a glimpse of what is supported out of the box.
Security and privacy are key points for the platform and as such, features are only accessible by specific roles. Although most operations can be performed through their standard back-office, from a product management and administration perspective, we recommend building a custom back-office to facilitate operations and enhance usability.
User Account Management
The Creation, Reading, Updating, and Deletion of users is possible out of the box. User attributes are basic:
First name (Latin transliteration)
Middle name (Latin transliteration)
Last name (Latin transliteration)
Email verification status
Communication preferences (limited only to sending emails when making transactions or authenticating)
Two-factor authentication preference
Attached to every user account are verification documents. The possible documents are:
Passport (used to verify the identity)
Tax ID (possibly for verifying businesses)
Utility bill (used to verify the address)
Driver’s licence (used to verify the identity)
The platform still requires the integration of an external service for ID verification. SDK.finance offers multiple options, but the integration has to be explicitly requested. The collected documents and user data are assumed to be stored securely and are encrypted.
This part of the back office governs transactions and is well-developed.
The platform supports multiple wallets in multiple currencies. This represents multiple bank accounts in multiple currencies belonging to a single user.
Each of the wallets can be topped up — similar to how you can transfer funds to a specific sub-account, and users can transfer funds in between wallets.
As for transferring money outside of the platform, an example of a standard banking form is provided.
There is a field for setting commissions. Commissions can apply for transactions coming in or out of the platform and for currency exchange.
Another feature is the creation of vouchers. Vouchers can be used as a single predefined payment that a user can redeem.
This feature can be used for creating promotions, incentives, gift cards, or top-up cards.
Commissions can also be set when redeeming vouchers.
Linking a Bank Account and a Card
A very similar form can be found under the user profile management. A linked bank account can be used to make regular payments to and from the platform.
Similarly, a card can be associated with the account.
The platform supports sending messages to specific users or to all users. This is useful for push notifications and setting up reminders and alerts, and even customer support.
A very useful feature of the platform is a simple content management system which is focused on translating strings for buttons, labels, and messages.
It’s very simple to use and it is intended to be used for product localization. Strings that are entered through the CMS can be referenced by the applications by their key value and based on localization settings, the correct language will render.
This user role goes beyond the scope of the demo. According to their documentation, this role is able to:
Access the list of all profiles in the system
Access the list of financial accounts/wallets and transaction history of each account (can be limited to a certain amount of last transactions)
List of all support tickets sent by the user
Block/unblock profile or account
Send direct messages to the user
Send requests to Anti-fraud to carry out an investigation
Although the demo shows multiple capabilities of the platform, SDK.finance is architected to be used via API calls coming in from custom-built interfaces. In the next part, we will explore how API calls can be used to achieve the basic functionality of mobile banking.
The next part
The topic of the next episode is MVP components of a banking application. We will analyze the SDK.finance API documentation to identify whether the needed functionalities exist.
Scandiweb is a full-stack digital agency with expertise in FinTech, digital marketing, and eCommerce. If you have a problem or a question, we’ll be happy to find you an answer, just drop us a line at firstname.lastname@example.org!