> For the complete documentation index, see [llms.txt](https://doc.monetrix.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.monetrix.xyz/guide/getting-started-1/stake.md).

# Stake & Unstake

**Staking is where you actually earn yield.** When you stake mxHYPE, you receive **smxHYPE**, a receipt token whose exchange rate to mxHYPE grows as the protocol settles its earnings.

Unstaking is a two-step process with a cooldown period, or an instant exit for a small fee.

{% hint style="info" %}
**Current unstake cooldown: 1 day.** This value is read live from `HypeConfig.unstakeCooldown()` and can be adjusted by governance. The active value is always shown in the UI and is authoritative.
{% endhint %}

## How the exchange rate works

```
1 smxHYPE = X mxHYPE   (X grows over time)
```

The app shows the current rate under the **Earn** tab, e.g. `1 smxHYPE = 1.0014 mxHYPE`. When you stake, you receive `amount / X` smxHYPE. When you unstake, you receive your smxHYPE × (current rate) in mxHYPE, which is more than you put in because the rate has grown.

* **Decimals**: mxHYPE has 18 decimals, smxHYPE has 24.
* **Yield is settled daily.** The rate update reflects yield accrued from 00:00 UTC the previous day to 00:00 UTC today, as the banner under the Earn tab explains. No claim transaction, no compound button.
* **Yield is denominated in HYPE.** The rate grows in mxHYPE terms; the dollar value of your position also moves with the HYPE price.

## Stake

<figure><img src="https://3971154758-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbU68iXKFy5nFlHmmSOQE%2Fuploads%2Fgit-blob-11f9ba35a04768f00a668f04fe422a63fe2a2bb8%2Fmxhype-stake.png?alt=media" alt="Stake mxHYPE page: Earn tab with Stake selected, current rate 1 smxHYPE = 1.0014 mxHYPE, daily exchange-rate update notice, mxHYPE amount input and smxHYPE receive estimate" width="720"><figcaption></figcaption></figure>

### 1. Enter the amount

Select the **Earn** tab at the top, then **Stake**. Enter the mxHYPE amount you want to stake. The app displays:

* Your mxHYPE balance.
* The estimated smxHYPE you'll receive at the current rate.

### 2. Approve mxHYPE

Click **Approve & Stake mxHYPE**. The first wallet prompt approves the smxHYPE contract to pull your mxHYPE.

{% hint style="info" %}
Approve is per-amount. If your existing approval already covers the amount, the button reads **Stake mxHYPE** and the approval prompt is skipped.
{% endhint %}

### 3. Stake

The second prompt is the stake itself. The transaction calls `smxHYPE.deposit(amount, yourAddress)`. Your mxHYPE is transferred in, and smxHYPE is minted to your wallet at the current rate.

### That's it; yield starts now

Your smxHYPE balance doesn't change, but its **redemption value in mxHYPE** grows with each daily settlement. You can watch the `1 smxHYPE = X mxHYPE` line tick up.

## Unstake

Unstaking has two modes, chosen from the dropdown next to the button:

* **Standard**: no fee. Request now, claim after the cooldown.
* **Instant**: 0.3% fee. Receive mxHYPE immediately, subject to availability (see below).

### 1. Request an unstake

Under the **Earn** tab, switch to **Unstake**. Enter the smxHYPE amount you want to unstake. The app displays:

* Your smxHYPE balance.
* The estimated mxHYPE you'll receive at the current rate.

Click **Unstake smxHYPE** and confirm. The transaction calls `smxHYPE.cooldownShares(amount)`. No approval is needed for this step.

After this, the cooldown starts. A new card appears under **Unstake requests** with status `Cooldown` and a countdown timer.

{% hint style="warning" %}
Your smxHYPE is burned at request time and the corresponding mxHYPE is held in escrow. The exchange rate at the time of the request is the rate used at claim; you don't get additional yield during the cooldown.
{% endhint %}

### 2. Wait for the cooldown

The **Waiting** column counts down. The cooldown length (currently **1 day**) is set in the protocol config and shown live in the UI. Governance can adjust this parameter; future changes will be announced before they take effect.

### 3. Claim your mxHYPE

When the cooldown ends, the request's badge flips from `Cooldown` to `Ready` (green) and the button changes to **Claim**.

Click **Claim** and confirm. The transaction calls `smxHYPE.claimUnstake(requestId)` and sends the escrowed mxHYPE to your wallet.

### Instant unstake

Select **Instant (0.3% fee)** from the dropdown. The app quotes the mxHYPE you will receive and the fee. If instant exit is available, click **Unstake smxHYPE**: the first prompt approves smxHYPE to the instant-exit contract, the second calls `instantExit(amount)`. You receive mxHYPE in the same transaction; no cooldown.

Instant exit is served from a protocol-funded buffer, so it is not always available. The app shows **Instant Exit Unavailable** and a reason when:

* Instant exit is paused.
* Your amount is below the instant minimum (currently **2 smxHYPE**).
* The buffer doesn't hold enough mxHYPE for your amount. Try a smaller amount or use Standard.
* The instant queue is full.

## After unstaking

You now hold plain mxHYPE. You can:

* **Re-stake it** to earn yield again.
* **Redeem it** to HYPE; see [Redeem mxHYPE](/guide/getting-started-1/redeem.md). Note that redeem has its own, separate cooldown.

## Troubleshooting

* **"Insufficient mxHYPE balance"**: check your mxHYPE balance; you may need to [mint](/guide/getting-started-1/mint.md) first.
* **"Insufficient smxHYPE balance"** (on Unstake): you're trying to unstake more than you hold.
* **Rate looks static**: the smxHYPE rate updates once a day when the protocol settles earnings, not every block.
* **"Strategy operations are paused" banner**: the protocol's hedging operations are temporarily paused. Mint, stake, and cooldown requests still work; the rate won't move until operations resume.
