# How it Works

## The Basic Flow

```
You deposit PRO into staking contract
        ↓
Contract records your stake and period
        ↓
Every 12 hours, rebase triggers
        ↓
Protocol calculates rewards from treasury
        ↓
Your staked balance increases
        ↓
New balance compounds next rebase
```

No claiming. No gas for rewards. Automatic.

## Step by Step

{% stepper %}
{% step %}

### Deposit

When you stake:

* PRO transfers from your wallet to staking contract
* Your position is recorded with timestamp and period
* You become eligible for next rebase
  {% endstep %}

{% step %}

### Rebase (Every 12 Hours)

The protocol:

* Calculates total rewards to distribute
* Requests minting from treasury (backed by reserves)
* Adjusts all staker balances proportionally
  {% endstep %}

{% step %}

### Compound

Your new, larger balance earns the next rebase. This is compound interest — earnings on earnings.
{% endstep %}

{% step %}

### Unstake

When you want to exit:

* Request unstake through dApp
* Principal unlocks linearly over blocks
* Withdraw available balance anytime
  {% endstep %}
  {% endstepper %}

## What You See

| Before Staking    | After Staking     |
| ----------------- | ----------------- |
| Wallet: 1,000 PRO | Wallet: 0 PRO     |
| Staked: 0 PRO     | Staked: 1,000 PRO |

After 30 days (assuming \~0.7% daily):

| Position | Amount      |
| -------- | ----------- |
| Staked   | \~1,233 PRO |
| Earned   | \~233 PRO   |

Your staked balance shows the growth directly.

## Contract Interaction

The staking contract uses sharded permissions:

| Shard               | Function                         |
| ------------------- | -------------------------------- |
| Asset Vault         | Holds your staked PRO separately |
| Cycle Policy        | Manages period parameters        |
| Reward Distribution | Handles rebase calculations      |

Sharding means your funds are isolated — issues in one module don't affect others.

## Security Features

* **Multi-signature** — Contract operations require 5/6 signatures
* **Linear unlock** — Prevents instant large withdrawals
* **On-chain** — All transactions verifiable
* **No custody** — You can always unstake (linear unlock applies)

## Common Questions

<details>

<summary>Do I need to do anything after staking?</summary>

No. Rebase is automatic. Just wait.

</details>

<details>

<summary>Can I add more to my stake?</summary>

Yes. Additional stakes may create separate positions or merge, depending on contract implementation.

</details>

<details>

<summary>What if I unstake before my period ends?</summary>

You can unstake anytime (linear unlock), but may forfeit period bonuses.

</details>

## Next

* [Staking Periods](broken://pages/5cba4116cecde5903ed361c25a3820d6fbd61fd9) — Understand lock durations
* [APY Calculation](broken://pages/7635b6e8af7afc93c7b6042a9038ae10d4408936) — Calculate your returns


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://cryptodao-it.gitbook.io/c-dao/2.-mechanics/staking/how-it-works.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.
