# Lara staking

## tl;dr

The Lara Stakign mechanism has been implemented based on a vested token logic whose full maturity is 6 months. For more details, refer to the [relevant governance vote](https://snapshot.org/#/laradao.eth/proposal/0xac59595a36b1288d257e2b41523bef4bcfa691bff6201cac9eea757f60f69fee) on our Snapshot Space.

Staking Lara is important for the health of the overall Lara ecosystem. By staking, users are gaining a plethora of benefits, like:

* Earning yield: with a targeted `~13% APY` , staking is a meaningful income source. The best thing is that staked Lara tokens still count toward your voting power in the `Lara DAO`.
* Gain commission discounts: for Lara Protocol to operate, it takes `10%` a commission on your staking yield. The more you stake, the smaller your commission can be. More about staking milestones in its own page at  #
* A new way of locking supply: staking is a mechanism on its own. In addition to that, the vested `LARA` tokens (`veLARA`), are a convenient way of trapping token supply and monitoring future emissions.

{% hint style="success" %}
`$veLARA` balances account as additional voting power, cumulatively with both your `$LARA` balance and `$LARA` staked.
{% endhint %}

{% hint style="warning" %}
COMING SOON: Once the Protocol is mature enough, the highest staking milestones will enable users to create alternative validator ranking methodologies and connect such oracles to the protocol.
{% endhint %}

## The Lara Staking mechanism

### Building blocks

#### The Vested LARA token($veLARA)

The `veLARA` is a simple vested ERC-20 token that helps delay inflation, aligning with the proposal outlined on [Snapshot](https://snapshot.org/#/laradao.eth/proposal/0xac59595a36b1288d257e2b41523bef4bcfa691bff6201cac9eea757f60f69fee). This mechanism ensures a sustainable reward distribution over time.

#### The Lara Staking contract

The Staking contract is the central hub of logic and the main point of interaction.

### Staking flow

#### 1. Stake Lara

To stake Lara tokens, users must first approve the staking contract to spend their tokens. It is recommended to approve the maximum possible amount (MAX(uint256)) to avoid repeated approvals. Once approved, users can call the stake function on the StakingContract.

#### 2. Claim Staking Rewards

After staking, users can claim their staking rewards, which are distributed as `veLARA` tokens. This process does not require any additional approvals or parameters. The relevant contract call for claiming rewards is straightforward and can be executed directly.

#### 3. Redeem Lara Tokens

Users who have claimed their staking rewards at least once can redeem their `veLARA`tokens for `LARA` tokens. The redeem function requires approval for `veLARA tokens`, as it involves burning the rewarded veLARA in exchange for Lara. The claimId parameter, necessary for this function, should be obtained from the Lara subgraph. The exact redeemable amount is linear with the maturity of the underlying claim(the closer to the voted on 6 months the higher is the redeemable amount in %).

#### 4. View Current Rewards and Stake Information

Users can view their staked amount and current available rewards through a dedicated view function. This function provides a comprehensive overview of the user's staking status and potential rewards.


---

# 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.laraprotocol.com/lara-staking.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.
