# Technical architecture

### Using Yumi as a BNPL Option (Onboarding)

* The entire flow takes place **within the merchant’s or PSP's UI**; integration is achieved via the SDK, which includes theming support.
* The user can l**ink a bank account** (optional) to receive asset statements and transaction + identity data. In the US, this is done via Plaid; in other locations, we use zkTLS.
* The user can also **connect** **EVM and/or SVM wallets**.
* If a bank is not connected, the user must **complete a zkKYC**.
* At least **one financial data source** (a wallet or a bank) is required.
* We are currently working to integrate with other data sources to improve coverage.

After onboarding, an initial **credit limit** is set based on financial data and **dynamically updated**.

### Payment

* The merchant queries Yumi for a **decision (limit/approval)**; the SDK returns a **callback** with the current **credit limit, approval (or rejection),** and additional loan information. The user's limit may change from purchase to purchase and after repayments.
* The **user sends 25%** of the purchase amount to the merchant, and **Yumi sends the other 75%**.

### Debt Repayment (Installments)

**Every 2 weeks**, Yumi automatically pulls the **scheduled installment** directly from the user’s wallet using the provided allowance (onchain or offchain), until the debt is fully repaid (**3 pulls in total**). If the user’s wallet does not have sufficient balance at the scheduled time, repayment will fail, and the user may incur penalties or risk a lowered credit score.

<figure><img src="/files/ROjAvkr9knIMpcvSWAgk" alt=""><figcaption></figcaption></figure>


---

# 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://docs.yumi.finance/buy-now-pay-later/technical-architecture.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.
