# Managing st\[TARA]

While being on the top of the staking game, no one is a wizard. We envision an even more liquid way of staking than Lido on Ethereum. However, certain restrictions still need to be in place.🥁​​

### No stTARA, no rewards <a href="#no-sttara-no-rewards" id="no-sttara-no-rewards"></a>

While Lido remaps rewards daily, Lara's `st[TARA]` does that a lot more frequently via creating holder snapshots.

{% hint style="info" %}
**Code is law: T**aking a snapshot is publicly open but can't be done more frequently than configured in the smart contract's `epochDuration` blocks. If you hold your `st[TARA]` at the moment of snapshots, you will instantly receive your staking rewards directly to your balance in `st[TARA]`.
{% endhint %}

#### What is a holder snapshot?

A holder snapshot captures the current distribution of `st[TARA]` . This distribution is then used to calculate every delegator's rewards, snapshot by snapshot.&#x20;

<figure><img src="/files/aDvMCxhz7BwANa1K2vwD" alt=""><figcaption><p>Momentary distribution of stTARA from a staking pool's perspective</p></figcaption></figure>

**Let's follow an example:**&#x20;

1\. When Lara starts an epoch, the first 4 stakers are named Anne, David, Joe, and Dan who have staked `345(34,5%), 109(10,9%), 218(21,8%), and 327(32,7%)` `TARA` into Lara. When they did this, they received the 1:1 amount in `st[TARA]`. After they did this,  Lara instantly staked their tokens and after a few blocks, a snapshot was taken. When that happened, Lara claimed all staking rewards until that moment. In the same transaction, the total reward of that epoch was distributed between the 4 stakers, in the initial slices.

2\. If, during the staking epoch, someone else comes and stakes their tokens, those stakers will be included in the next snapshot, thus eligible for the snapshot's reward distribution.

3\. If you do any action that transacts your `st[TARA]` from your address to another, and a snapshot is taken, the new address will be qualified for the rewards, regardless of the time you held the amount of `st[TARA]`. Beware of this when using DeFI protocols. Make sure that their pools or any other instruments are aware of the staked token mechanics and will reroute your yields to you.

### Once you stake, you need to wait for the unstaking period

Lara helps you keep your assets liquid but is no magician and can't circumvent Taraxa's delegation rules set in the [DPOS precompiled contract](https://github.com/Taraxa-project/taraxa-evm/blob/master/taraxa/state/chain_config/chain_config.go#L68). Once Lara delegated your TARA tokens and you received the `st[TARA], you can only receive your TARA back by requesting an undelegation and waiting the undelegation time.`

{% hint style="warning" %}
To create an undelegation request for a specific amount of  `TARA` , you need to approve the Lara contract for that amount of `st[TARA]`  and call its `requestUndelegate` function with the amount. This function will burn your `st[TARA]` and register your claim for the same amount of `TARA`.
{% endhint %}

{% hint style="success" %}
Once you created an undelegation request you can cancel it anytime via calling Lara's `cancelUndelegate` function.&#x20;
{% endhint %}

{% hint style="success" %}
Once your undelegation period passed, you can claim your `TARA` tokens via Lara's  `confirmUndelegate` function.
{% endhint %}

### For LP providers and custodial protocols <a href="#for-lp-providers-and-custodial-protocols" id="for-lp-providers-and-custodial-protocols"></a>

{% hint style="warning" %}
Protocols that want to interact with `st[TARA]` in a custodial manner will need to be implemented against the fact that their custodial contracts will receive user rewards.​
{% endhint %}

{% hint style="danger" %}
For users using protocols that demand you to transfer `st[TARA]:` make sure to read the protocol documentation and inspect the source code of the smart contract you transfer your `st[TARA]` to, since it transfers your claim for the staking rewards.​
{% endhint %}


---

# 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/whitepaper/managing-st-tara.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.
