# Earn Interest

## Daily Interest

We have introduced a new interest feature which will enable our partners to earn **interest** not only on their business accounts but also on any client accounts they add under their BaaS channel. This section outlines how it works.

### Formula

{% hint style="info" %}
**dailyInterest =** EoD **Balance × (annualRate / 365)**&#x20;
{% endhint %}

Interest is calculated **per calendar day** and is **credited at end-of-day (**&#x45;o&#x44;**)** or at a defined daily cut-off time. All daily interest amounts are rounded according to standard currency rules.&#x20;

An **example**: Taking a hypothetical annual interest rate of 10%, currency as KES, and calculation date as March 15th, the **EoD balance** will be decisive in determining the principal what's used to calculate the interest earned for that day. \
\
Consider balance movements during the day:

<table><thead><tr><th width="171.13323974609375">Time (h)</th><th width="244.2667236328125">Event</th><th width="272.86651611328125">Balance (KES)</th></tr></thead><tbody><tr><td>08:00</td><td>Opening Balance</td><td>100,000</td></tr><tr><td>10:00</td><td>Withdrawal</td><td>60,000</td></tr><tr><td>14:00</td><td>Deposit</td><td>80,000</td></tr><tr><td>18:45</td><td>Withdrawal</td><td>70,000</td></tr><tr><td>EoD </td><td>Closing Balance</td><td><strong>70,000</strong></td></tr></tbody></table>

### **Calculation**

{% stepper %}
{% step %}

### **Step 1: Determine** EoD **Balance**

The EoD balance is the closing balance at the end of the business day after all transactions have been processed.

> EoD Balance = **70,000 KES**
> {% endstep %}

{% step %}

### **Step 2: Calculate Daily Interest**

Daily Interest = EoD Balance × (Annual Interest Rate ÷ 365) = 70,000 × (0.10 ÷ 365) ≈ **19.18**
{% endstep %}

{% step %}

### **Step 3: Credit Interest**

* KES 19.18 is credited to the customer's account at EoD&#x20;
* This amount becomes part of the next day's opening balance
  {% endstep %}
  {% endstepper %}

### Edge Cases

1. **Zero Balance Day**

If the EoD balance is zero:

* Daily interest = **0**
* No interest is paid for that day, regardless of any transaction flows that occurred

2. **Account Closure Day**

If the account is closed during the day:

* EoD balance = 0 (account is closed)
* No interest is earned on the day of closure
* Final interest payment is based on the **previous day**'s EoD balance

***

## Weekly Interest

We have also introduced a weekly interest feature that complements the daily interest model. This enables partners to earn interest based on the **minimum balance** maintained over a **calendar week**, with payouts processed weekly.

### Formula

```
weeklyInterest = Minimum Weekly Balance × (annualRate / 52)
```

Interest is determined using the **minimum balance observed at any point during the week**, regardless of higher balances held earlier.

* A **calendar week** runs from **Monday 00:00 to Sunday 23:59**
* Interest is **calculated based on the lowest balance recorded during the week**
* Interest is **credited every Monday at 3:00 AM**, based on the *previous calendar week*
* Interest amounts are rounded according to standard currency rules

An **example**: Taking an annual interest rate of 10%, and currency as KES, and these balance changes during the week:&#x20;

* Monday: KES 5,000,000
* Saturday: Withdrawal → Balance drops to KES 500&#x20;
* Sunday: Balance remains KES 500

### Calculation

{% stepper %}
{% step %}

#### **Step 1: Determine Minimum Weekly Balance**

The minimum balance recorded during the week is first identified, which in this case is KES 500. This amount is then used as the basis for the interest calculation:

```
Minimum Weekly Balance = KES 500
```

{% endstep %}

{% step %}

#### **Step 2: Calculate Weekly Interest**

```
Weekly Interest = 500 × (0.10 ÷ 52) ≈ 0.96
```

{% endstep %}

{% step %}

#### **Step 3: Credit Interest**

**KES 0.96** is credited on **Monday at 3:00 AM.** This reflects interest for the **previous calendar week.** The credited amount becomes part of the current week’s balance
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://choice-bank.gitbook.io/choice-bank/deposit/earn-interest.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
