SaFi Bank Space : WIP - Bank features interacting with TM

Feature

Short description of the behavior

Current technical design - components responsible for business logic

Saving account interest

Saving subaccount = pocket.

All accounts (main + pocket) are saving accounts → interest rate is applied.

Pockets can be Locked or Unlocked.

  1. Unlocked pocket

    1. customer can move money in and out anytime.

    2. interest is accrued and paid daily.

  2. Locked pocket

    1. locked pocket has variable bonus interest rate (compared to unlocked) based on tenure

    2. customer can only move money in but not out from a locked pocket

    3. pocket is automatically unlocked after tenure end

    4. customer can unlock pocket before tenure end but loses the bonus interest rate.

    5. interest is accrued daily, but should be paid upon unlocking

Single smart contract for both unlocked and locked account.

Personal loan

Overdraft

Interbank transactions

Intrabank transactions

Fee collection

If the customer does not have enough money on the account to pay all outstanding fees, there is a certain order in which the fees (or debts) should be paid:

(a) subscription fees of the bank,
(b) penalties/charges for past due loans,
(c) penalties/charges for overdraft,
(d) past due loan,
(e) past due overdraft,
(f) interest (overdraft),
(g) current due for loan,
(h) current due for overdraft, and
(i) other subscriptions with other merchants (auto-debits)

After X days of being in debt, the outstanding fees should be forwarded to an external collection system. Such fees collected by using the external collection system are processed as usual (e.g. customer crediting their account)

Microservice (debt-manager) which manages the customer outstanding fees, listens to customer’s account balance and charges the fees according to the order when possible.