BharatFi is a neobanking solution built with Stellar Blockchain targeting B2B2C segment. It provides DeFi and banking services for a seamless customer experience. The primary motivation is to bridge the gap between Small Businesses in both B2B and B2C, Banks, Lenders, Insurers (Financial Institutions) using Stellar blockchain capabilities such as Accounts and Assets (NFT!), Transactions, Wallet Management. With BharatFi, businesses can transaction with other individuals, businesses, hire on-demand workforce and complete their financial obligations while banking beyond borders.
What it does
BharatFi provides better visualization across multiple user accounts, transaction capabilities, reconciliations, beneficiary management and other on-demand fintech services to deliver an uber customer experience.
New User Account Onboarding The application auto-detects the account state of the user. For new accounts, the user is taken through a guided onboarding flow to complete the following steps: Name, Profile (Roles), KYC, Location (via Google Maps), Contact Verification (Mobile and Email), Terms and Conditions. Once the user accepts the T&C, Base Accounts are created in Stellar Testnet and funded with 10,000XLM via the friendbot
New Business Account Users are able to add a business account via the same interface. The option is available to active user accounts. The accounts are automatically set to be active, however, in production application, this would be after KYC verification. Base Accounts are created in Stellar Testnet and funded with 10,000XLM via the friendbot
Application Overview The application allows KYC completed users to login. After authentication, it provides a unified login interface and account selection (personal, business). Inside, user has access to
- Dashboard with account balance, various short-cuts, Pending Payments and Collections
- Contacts List (personal, business)
- Transfers List - record or all transactions with filters to search (the welcome bonus transaction is seen)
- Accounts - List of all accounts - Stellar, Fiat etc
- Reports - for downloading statements
- Solutions - this is a list of various offerings personalized for the customer. (we are showing all options here), however, for example, the business user will get option to open additional accounts for customer invoice payment collections or for managing payroll accounts. These are to be controlled by the subscription plans purchased by the user - depending on number of customers, suppliers and team members, contacts etc...
Add Contacts Managing Contacts and Beneficiaries is vital to every fintech application. BharatFi provides options to add both individual and business (organization) contacts and team (employees for business accounts). This helps to cover scenarios where payments and transfers can be made to both individuals (personal transfers) and to business accounts (payment against invoices etc).
Fund Transfers Users can make fund transfers to their contacts using the built-in forms with quick selections and dropdown. the fund transfer request is submitted to the Stellar Testnet and settled. Once success confirmation is received, the account balances in the application are also updated, and both sending and receiving parties are notified via email alerts.
Fund Collections Users can request funds from other party (from their contacts). This can be in various scenarios such as allowances, expense claims, local purchases, petty cash expenses etc. On the basis of the submission, the requestor can cancel the request, while the approver can decline or confirm the payment. The email alerts are sent our on each new collect request, and once success confirmation is received, the account balances in the application are also updated, and both sending and receiving parties are notified via email alerts.
Reports The application provides option to download account statement in excel format, which is useful to import into other CRM / ERP / accounting system for downstream processing.
How we built it
we build it using node-react setup for the web application and integrate with Stellar using the SDK and APIs. we setup a small serverless micro-service in between the client application and the Stellar test-net, which helps tp perform several other functions such as handling kyc, contact list management, email notifications, transactions - record keeping via integration between Stellar Testnet, MongoDB and client front end application. the current client application is optimized for both desktop and mobile views.
Some of the services we had to build ourselves, as we were able to leverage serverless functions: Custom Authentication using Firebase + MongoDB Authentication Provider One Time Passcode Service (6-digit random number generator) Mail Notification Service (nodemailer, gmail)
Challenges we ran into
one of the challenges was around managing contacts - since a contact may not exist with an account in the system and might create an account later. a similar challenge came when creating business accounts and adding multiple user access to the same business account.
in addition, understanding and learning Stellar concepts was a bit difficult as it is different from traditional setup - however the revamped documentation made it easier. most of the documentation seems to have been updated recently and this has been a major help.
we joined the hackathon late, so we were in an existential time crisis all the time :)
Accomplishments that we're proud of
we have been able to successfully implement a solution with transactions capacity on the testnet in a short duration of time. we have a setup which we can use to goto the market very soon.
What we learned
concepts of blockchain, account and asset management on stellar, handling transactions, product management, doing more with less time and being efficient with resources
What's next for BharatFi
we are keen to launch this into the market. as immediate steps, we plan to showcase the current sandbox version to our communities here and get additional feedback. at the same time, we intend to work on the KYC component, additional integrations for fiat transactions, Stellar Mainnet integrations and Wallet Development and a Mobile Application to deliver a better customer experience.