# Overview

<figure><img src="/files/0mUn72eS8810tSfOJGE7" alt=""><figcaption></figcaption></figure>

## Onchain

The Onchain module consists of a series of smart contracts deployed on the [Base chain](https://www.base.org/). These smart contracts govern the Tab Protocol and Governance.

### Tab Protocol

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

The Tab Protocol is a comprehensive suite of smart contracts designed to manage reserves, Tabs, vault operations, oracles, and risk. Each component works in tandem to ensure the stability and reliability of the protocol.

### Governance

Governance is facilitated through a set of OpenZeppelin Governance smart contracts. These contracts, along with a timelock controller, ensure that only approved proposals are executed.

## Offchain

Offchain modules are integral to the Tab Protocol, focusing on oracle functions and risk monitoring.&#x20;

Although these modules currently operate offchain due to the high costs associated with on-chain execution, this is a necessary design compromise for a self-funded project like ShiftCTRL.

We are fully committed to transitioning all components on-chain as soon as it becomes feasible.

### Tab Oracle

The Tab Protocol's functionality relies on precise, real-time currency exchange rates, which are crucial for vault operations and risk monitoring.&#x20;

The Tab Oracle module receives these live rates from whitelisted oracle feed providers, carefully vetted by the community through Onchain governance. By aggregating data from multiple sources at regular intervals, the exchange rates are derived using median values to ensure accuracy and reliability.

This median rate is then signed and retrieved whenever a user performs vault operations—such as opening new vaults or withdrawing Tab & reserves.&#x20;

To maintain security, the Onchain smart contract verifies that the rate has been signed by an authorized signee, ensuring that only validated data is used in the protocol’s operations.

{% hint style="info" %}
**Note:** The oracle has been bootstrapped using three currency exchange rate providers. \
As the protocol grows, we anticipate that more oracle feeds will come directly from the community, supported by a reward system that compensates these providers for their services.
{% endhint %}

### Tab Keeper

The Tab Keeper module is essential to the stability of the Tab Protocol, continuously monitoring vaults to ensure their reserve ratios remain above the configured threshold. By regularly retrieving live exchange rates from the Tab Oracle, the module accurately assesses each vault’s reserve ratio.

If a vault’s reserve ratio falls below the set threshold (default 180%), a risk penalty is automatically applied to the vault. Should the ratio decline further and reach the liquidation threshold (default 120%), the Tab Keeper initiates vault liquidation. This process involves selling the reserves, starting at a higher price and gradually lowering it until sufficient reserves are sold to recover all outstanding Tabs from the liquidating vault, thereby protecting the integrity of the protocol.


---

# 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.shiftctrl.money/developer/overview.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.
