# User Interaction Flow

Once onboarding is complete and KYC has been successfully posted on-chain, the system has issued a unique **Masque ID** to the user. This verification ensures that the user is authorized to access and interact with the Zodor ecosystem.

<figure><img src="/files/GVV8aqxjcZVaoBnJzrj2" alt=""><figcaption><p>User Interaction </p></figcaption></figure>

The user interaction flow is designed to provide a seamless experience, structured as follows:

1. **Funding the Account**
   * Users fund their smart wallet using supported digital assets **USDT, USDC**. These assets serve as the medium of exchange for purchasing security tokens linked to real-world assets and as the gas-payment instrument for `ZodorTokenPaymaster`.
2. **Browse Asset Pools**
   * Users browse the Hub for live deals across all four verticals. Each pool corresponds to a distinct real-world asset, providing diverse investment opportunities. AI-powered discovery surfaces deals matched to the investor's risk profile and jurisdiction.
3. **Security Token Purchase**
   * Using the deposited stablecoin, users purchase **security tokens** that represent fractional ownership in the selected asset pool.
   * The flow goes through `StablecoinPurchaseRouter`, which:
     * Validates KYC + jurisdiction through `ZodorIdentityRegistry`
     * Calls `ZodorComplianceModule.canTransfer()` for a precheck
     * Atomically transfers stablecoin to the asset treasury and tokens to the investor's wallet
     * Pays gas in the same stablecoin via `ZodorTokenPaymaster`
4. **Rental / Dividend Income Distribution**
   * Zodor takes regular snapshots of the real-world assets within each pool to track current state and performance
   * Based on these snapshots, rental, dividend, or coupon income is calculated proportionate to each user's ownership of the relevant security token
   * The calculated income is credited directly to the user's wallet through the per-asset `ZodorSecurityVault` (ERC-4626), with NAV adjustment applied for non-transferable share accounting
   * The backend `processDividendPayouts` cron handles batched distribution and reconciliation
5. **Secondary Trading or Cross-Chain Movement**
   * After the holding period elapses, users can sell on `ZodorPermissionedPool` (KYC-gated AMM) or bridge to Ethereum / other chains via `ZodorCCIPBridge` or `ZodorOFTAdapter`
   * Compliance follows the token across chains bridges check `canTransfer()` on both sides

This streamlined interaction flow ensures transparency, efficiency, and regulatory compliance while enabling users to participate confidently in real-world asset tokenization.


---

# 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://whitepaper.zodor.io/user-experience/user-interaction-flow.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.
