> For the complete documentation index, see [llms.txt](https://roi-laboratories.gitbook.io/roilabs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://roi-laboratories.gitbook.io/roilabs/technology/technology-and-infrastructure/core-components.md).

# Core Components

**Onchain Asset Locking (OAL) Protocol**

* The heart of ROI Labs.
* Assets (ETH, stable coins, ERC-20 tokens) are deposited into **ROI Smart Contracts** that enforce transfer restrictions.
* These contracts operate **independently of wallets** — meaning even if a seed phrase is imported into another wallet, the locked assets cannot be moved.
* Unlocking requires explicit onchain approval through ROI’s security mechanism (e.g., passcode, biometric binding, or multi-factor trigger).

#### **ROI Smart Contracts**

* **Lock Module** – Handles deposits and enforces immovability.
* **Unlock Module** – Releases assets only when the user completes onchain verification.
* **Staking Module** – Allocates locked assets to staking pools for yield.
* **Governance Module** – Enables DAO-driven decisions on parameters like lock periods, fees, or staking rewards.

#### **rTokens (ROI Derivatives)**

* Synthetic tokens (e.g., rETH, rUSDC) minted against locked assets.
* rTokens are **1:1 backed** by the underlying locked asset.
* They are transferable and usable across DeFi protocols for borrowing, trading, or liquidity provision.
* Burn mechanism ensures rTokens must be redeemed before the base asset can be unlocked.

#### **Wallet Integration SDK**

* ROI provides a lightweight **SDK/API layer** that any Web3 wallet can integrate.
* Functions include:
  * **Lock Asset**
  * **Unlock Asset**
  * **View Locked Balance**
  * **Mint/Burn rTokens**
* Wallets integrate ROI seamlessly without altering their UI/UX significantly — ROI becomes a **“security switch”** inside the wallet.
