> For the complete documentation index, see [llms.txt](https://docs.caviarnine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caviarnine.com/products-caviar/hyperstake.md).

# HyperStake

### Overview

HyperStake is a novel staking product on CaviarNine that allows you to earn high rewards with **zero maintenance**. By adding liquidity to the innovative LSULP/XRD HyperStake pool, you’re not just staking—you’re enabling instant unstaking for users who need their XRD fast, skipping the usual one-week wait. In return, you earn a slice of every trading fee, boosted by our concentrated liquidity range that targets the action around the NAV price for maximum efficiency. With a **no-loss guarantee** and fully automated pool management, HyperStake is your effortless path to passive income on the Radix blockchain.

***

### Key Features

* **Zero Maintenance**: The pool automatically adjusts to market shifts, so you can set it and forget it.
* **High Rewards**: Earn from instant unstakers and 7-day depositors with a design built for maximized fee generation.
* **No-Loss Guarantee**: Your principal XRD is protected, ensuring you don’t lose your initial investment.
* **Self-Tracking Pool**: The pool’s concentrated liquidity automatically tracks the optimal price range for fee earning. So no replacing liquidity!
* **Radix Native**: Fully integrated with Radix for seamless transactions and wallet support.
* **Open Sources**: <https://github.com/caviarnine/caviarnine-scrypto/tree/main/hyper_stake>

***

### How It Works

HyperStake leverages a unique LSULP/XRD pool on CaviarNine. Here’s a simplified breakdown:

1. **Liquidity Provision**: You add XRD + LSULP to the pool and receive LP tokens representing your share.
2. **Fee Generation**: The pool earns fees from three main sources:
   * **Instant unstakers** who pay a premium to bypass the standard 7-day unstaking period.
   * **7-day depositors** who stake their XRD for a fixed term.
   * **Traders swapping** between LSULP and XRD
3. **Concentrated Liquidity**: The pool’s liquidity is concentrated around the NAV price, maximising fee generation from trades near this key price point. The HyperStake Pool is configured at -1.5% to 0% of the NAV price of LSULP to XRD.
4. **Self-Adjustment**: The pool automatically adjusts its liquidity range based on market conditions, ensuring optimal fee earning without any user intervention.
5. **No-Loss Protection**: A built-in mechanism guarantees that you won’t lose your principal, even in volatile market conditions.

***

### CAVIAR Products and Fees

HyperStake is the first CAVIAR product where 10% of the fees earned in the pool are sent to the CAVIAR fee vaults to decrease the CAVIAR token supply.\
\
The fee breakdown:

* 80% remains in the pool for LPs
* 10% goes to CAVIAR burning via the fee vaults
* 10% is allocated to the treasury

***

### Manifest

**Common addresses:**

```
LSULP_RESOURCE = resource_rdx1thksg5ng70g9mmy9ne7wz0sc7auzrrwy7fmgcxzel2gvp8pj0xxfmf
XRD_RESOURCE = resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd
HYPERSTAKE_COMPONENT = component_rdx1cpz0zcyyl2fvtc5wdvfjjl3w0mjcydm4fefymudladklf6rn5gdwtf
HYPERSTAKE_LP_RESOURCE = resource_rdx1th0f0khh9g8hwa0qtxsarmq8y7yeekjnh4n74494d5zf4k5vw8qv6m
```

**Adding Liquidity:**

```
CALL_METHOD
    Address("<YOUR_ACCOUNT_ADDRESS>")
    "withdraw"
    Address("resource_rdx1thksg5ng70g9mmy9ne7wz0sc7auzrrwy7fmgcxzel2gvp8pj0xxfmf")
    Decimal("LSULP_AMOUNT")
;
CALL_METHOD
    Address("<YOUR_ACCOUNT_ADDRESS>")
    "withdraw"
    Address("resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd")
    Decimal("XRD_AMOUNT")
;
TAKE_ALL_FROM_WORKTOP
    Address("resource_rdx1thksg5ng70g9mmy9ne7wz0sc7auzrrwy7fmgcxzel2gvp8pj0xxfmf")
    Bucket("bucket1")
;
TAKE_ALL_FROM_WORKTOP
    Address("resource_rdx1tknxxxxxxxxxradxrdxxxxxxxxx009923554798xxxxxxxxxradxrd")
    Bucket("bucket2")
;
CALL_METHOD
    Address("component_rdx1cpz0zcyyl2fvtc5wdvfjjl3w0mjcydm4fefymudladklf6rn5gdwtf")
    "add_liquidity"
    Bucket("bucket1")
    Bucket("bucket2")
;
CALL_METHOD
    Address("<YOUR_ACCOUNT_ADDRESS>")
    "deposit_batch"
    Expression("ENTIRE_WORKTOP")
;
```

**Removing Liquidity:**

```
CALL_METHOD
    Address("<YOUR_ACCOUNT_ADDRESS>")
    "withdraw"
    Address("resource_rdx1th0f0khh9g8hwa0qtxsarmq8y7yeekjnh4n74494d5zf4k5vw8qv6m")
    Decimal("HLP_AMOUNT")
;
TAKE_ALL_FROM_WORKTOP
    Address("resource_rdx1th0f0khh9g8hwa0qtxsarmq8y7yeekjnh4n74494d5zf4k5vw8qv6m")
    Bucket("bucket1")
;
CALL_METHOD
    Address("component_rdx1cpz0zcyyl2fvtc5wdvfjjl3w0mjcydm4fefymudladklf6rn5gdwtf")
    "remove_liquidity"
    Bucket("bucket1")
;
CALL_METHOD
    Address("<YOUR_ACCOUNT_ADDRESS>")
    "deposit_batch"
    Expression("ENTIRE_WORKTOP")
;
```

**Swapping:**

```
CALL_METHOD
    Address("<YOUR_ACCOUNT_ADDRESS>")
    "withdraw"
    Address("<LSULP_OR_XRD_RESOURCE>")
    Decimal("<LSULP_OR_XRD_AMOUNT>")
;
TAKE_ALL_FROM_WORKTOP
    Address("<LSULP_OR_XRD_RESOURCE>")
    Bucket("bucket1")
;
CALL_METHOD
    Address("component_rdx1cpz0zcyyl2fvtc5wdvfjjl3w0mjcydm4fefymudladklf6rn5gdwtf")
    "swap"
    Bucket("bucket1")
;
CALL_METHOD
    Address("<YOUR_ACCOUNT_ADDRESS>")
    "deposit_batch"
    Expression("ENTIRE_WORKTOP")
;
```
