# Staked positions (spNFTs):

Adopted from Camelot, Hiveswap is using a new liquidity approach based on non-fungible staked positions, dubbed spNFTs.

<figure><img src="https://315769805-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fdb4AkTGYSPDJg9CD8RWL%2Fuploads%2FJsNeGuzS2mEUvCg25mAr%2FArtboard%201-update%20bera.png?alt=media&#x26;token=477d0450-bbc1-433e-99d3-261204a369c0" alt=""><figcaption></figcaption></figure>

#### How does it work?

Each Hiveswap LP has its own staking positions (or spNFTs) that users can mint by wrapping LP tokens (this is done by depositing them in the relevant contract).

Upon creating a position, the deposit is sent to a specific corresponding NFTPool contract

The NFT will be the only way for a user to withdraw the funds. Whoever owns the spNFT is by default holding the LP tokens locked in the spNFT.

But staked positions are more than simple receipts: they replace the usual farms generating yield that you will find in most of the DeFi protocols, and also play the role of an additional layer of features offering unlimited new opportunities and potential extensions:

**Properties:**

Every staked position (spNFT) has the following basic information:

* a unique ID
* a deposit LP token
* a deposit LP token amount
* an APY
* optional lock settings (duration, start/end time)

### Operations

Here is the list of available interactions available to a staked position's owner:

**Deposit:** Add more tokens to the position. Resets the lock of the position if locked.

**Withdraw:** Withdraw an amount of tokens from the position. If the position is emptied, the spNFT is automatically burned. It cannot be used if the position is locked.

**Harvest:** Harvest all pending rewards (xHIVE and HIVE) from the position. Only used when yield incentives are allocated to the position's LP token.

**Lock:** Lock an unlocked position for a given duration.

**Extend:** If the position is already locked, users can renew or extend the lock duration.

**Transfer:** Transfer the position to another address.

**Split:** Split the position into two, dividing between them the original amount. If the original position is locked, the new one will be as well with the exact same settings.

**Merge:** Merge positions into one. The final position will use the longest lock duration and farthest end lock time among all the merged positions.

**Locks:**

It's possible to specify a lock duration when creating a position, implying it will be impossible to withdraw anything from the spNFT until the end of the lock.

Every wrapped Hiveswap LP has its own lock settings (max lock duration, and its matching max lock multiplier).

A lock will provide a yield bonus based on this multiplier if the position's LP is incentivized, and can be a needed requirement to have the right to stake on a Honey Comb (pools).&#x20;

This bonus will be linearly calculated proportionally to the duration of the lock and the maximum lock multiplier.

**APY:**

spNFTs will have it’s own APY based on a number of factors listed below.

* The allocation set by the Master to the wrapped LP
* The lock multiplier
* The YieldBooster multiplier

**Yield Farming:**

While staked positions under the form of spNFTs has a wide range of use, one of their main initial purposes will be to replace classic yield farming mechanisms by receiving Hiveswap incentives.

**NFTs that bear yield:**

The mechanics will have a lot of similarities with a regular DeFi farm.

Instead of allocating rewards to regular farms, Hiveswap’s master contract will distribute incentives to all the staking positions to wrapped LPs.

Once a staked position's LP belongs to those listed pairs, the spNFT starts generating yield with rewards from the Master contract, as if its owners were actually staking into a regular farm.

#### Rewards:

Hiveswap incentives will be in the form of dual-rewards: the eligible wrapped Hiveswap LPs will have their matching staked positions receive both xHIVE and HIVE.

The share of both rewards in the total varies depending on the asset, with a default set to 80% xHIVE / 20% HIVE

**Yield Multipliers:**

There are two ways to boost returns from yield-generating staked positions: through locks, or through the YieldBooster plugin.

Both values will vary depending on the staked asset, from 0% to 150% (x1 to x2.5), but will usually be set to their default 100% (x2).

The sum of those two multipliers is used to determine the total multiplier of the position. Every pool will have its own maximum boost, with a 200% (x3) default cap and an absolute cap of 250% (x3.5).The sum of those two multipliers is used to determine the total multiplier of the position.&#x20;

\\
