# Welcome to Plenty Docs

Greetings, pioneers of the decentralized future!

Find comprehensive documentation to help you start working with Plenty's suite of products as quickly as possible. Whether you're a developer, a trader, or an enthusiast, there's something here for everyone.

* [**V3 Docs**](/v3-docs/plenty-v3-introduction): Explore the latest features, enhancements, and optimizations in our V3 release. Learn about our most advanced DeFi primitives yet.
* [**API Docs**](/developers/plentys-unified-api): Integrate Plenty into your own applications seamlessly. Our API documentation provides you with all the endpoints, request parameters, and sample codes you'll need.
* [**SDK Docs**](/developers/plenty-v3-sdk): For those looking to build on top of the Plenty ecosystem, our SDK documentation is your go-to resource for all development-related queries.
* [**V2 Docs**](/v2-docs/plenty-v2-introduction): If you're using Plenty V2, find all the information you need to use V2 effectively.


# Plenty Overview

To provide clarity, especially for those new to the Plenty ecosystem, it's essential to distinguish between the various components that make up "Plenty."

* **Plenty Labs**: The company behind the development of the Plenty protocol and its web interface.
* **The Plenty Protocol**: A robust suite of smart contracts that together form an automated market maker. This protocol enables peer-to-peer market making and swapping of tokens on the Tezos blockchain, aligning with our vision of decentralization and financial sovereignty.
* **The Plenty Interface**: A user-friendly web interface designed for effortless interaction with the Plenty Protocol. While the interface is the most accessible way to engage with our protocol, it's just one of many avenues for interaction.
* **Plenty Voting**: Our voting system for Plenty V2, empowered by the PLY token, allows for community-driven reward distribution for liquidity providers in Plenty V2.


# Plenty V3 Introduction

A pivotal innovation in Plenty V3 is **Capital Efficiency**. In Plenty V2, liquidity was uniformly distributed across the entire price spectrum, from zero to infinity. While this approach was straightforward, it was not the most efficient use of capital.

Plenty V3 revolutionizes this by allowing liquidity providers to "concentrate" their capital within specific price intervals. This means that when you provide liquidity, you can choose a custom price range where you expect most trading to occur. This innovation allows your capital to work more effectively, maximizing your returns.

{% content-ref url="/pages/J01ONDfsixsPyhydYSSj" %}
[Concentrated Liquidity](/v3-docs/plenty-v3-introduction/concentrated-liquidity)
{% endcontent-ref %}

{% content-ref url="/pages/ZnQG5tO8Sb7M32OwW3Ey" %}
[Fees](/v3-docs/plenty-v3-introduction/fees)
{% endcontent-ref %}

{% content-ref url="/pages/KZqzJlytP6HwtnQwZYl2" %}
[Range Orders](/v3-docs/plenty-v3-introduction/range-orders)
{% endcontent-ref %}

## How to add liquidity to Plenty V3

{% embed url="<https://www.youtube.com/watch?v=lchYETZED_Y>" %}


# Concentrated Liquidity

### Introduction

The cornerstone of Plenty V3 is **Concentrated Liquidity**: a revolutionary approach that allows liquidity providers to allocate their capital within a specific price range. Unlike traditional models where liquidity is spread uniformly across an infinite price curve, Plenty V3 optimizes the use of capital.

In traditional pools, much of the liquidity remains untouched. Plenty V3 allows liquidity providers to focus their capital on specific price ranges. This results in deeper liquidity at those ranges, enabling traders to get better rates and liquidity providers to earn more fees. We refer to this as a "position," and providers can have multiple positions per pool.

### Active Liquidity

In Plenty V3, liquidity becomes "active" or "inactive" based on the asset's price movement in relation to the set price range of a position. When the asset price moves out of the position's range, the liquidity becomes inactive and stops earning fees.

This dynamic nature of liquidity allows for a more efficient market, as liquidity providers are incentivized to keep their liquidity active. They can do so by setting multiple positions at different price intervals, thereby letting the market naturally determine the most efficient distribution of liquidity.

### Ticks

To facilitate concentrated liquidity, Plenty V3 introduces the concept of "ticks," which serve as the boundaries for each price range. A tick represents a \~0.005% change in price, and liquidity providers must choose the upper and lower ticks for their position.

The smart contract for the pool will continuously swap assets within the current tick range until the next tick is reached, at which point any dormant liquidity within the new tick range becomes active.

Tick spacing is directly related to the swap fee, allowing for a more flexible and efficient liquidity provision.


# Fees

### Swap Fees

Swap fees are proportionally distributed to all liquidity that is within the designated range at the time of the swap. If the spot price moves outside of a position's specified range, that segment of liquidity becomes inactive and ceases to earn fees. Should the spot price move back into the range, the liquidity is reactivated and resumes generating fees.

**Unlike Plenty V2, swap fees are not distributed to veNFT holders for voting.** They are instead collected separately and must be manually claimed by the liquidity providers when they choose to collect their earnings.

### Fee Tiers

Plenty V3 introduces a variety of pools for each token pair, each with its own unique swap fee. Initially, liquidity providers can create pools with four different fee levels: 0.01%, 0.05%, 0.30%, and 1%. Additional fee tiers may be introduced later.

The concept of splitting pairs into separate pools was previously impractical due to liquidity fragmentation concerns. However, the introduction of concentrated liquidity in Plenty V3 mitigates the issue of price impact, making it feasible to have multiple pools for better functionality and capital efficiency.

### Choosing the Appropriate Fee Tier

We foresee that specific asset types will naturally align with particular fee tiers based on the incentives for both traders and liquidity providers.

For instance, low-volatility assets like stablecoins are likely to be most compatible with the lowest fee tier. The risk for liquidity providers holding these assets is minimal, and traders will aim for an execution price as close to 1:1 as possible.

Conversely, more exotic or infrequently traded assets are expected to align with higher fee tiers. Liquidity providers will be incentivized to offset the risks associated with holding these more volatile assets for extended periods.

### Development Fee Structure

In Plenty V3, we've introduced a development fee that accounts for 20% of the total fees generated. This is a shift from our previous model in Plenty V2, where all fees were allocated to voters. In V3, the remaining 80% of the fees are distributed to liquidity providers.

This fee will be reinvested into the ongoing development and maintenance of the Plenty ecosystem, ensuring that we can continue to offer cutting-edge features and security measures.<br>


# Range Orders

Plenty V3 introduces a novel approach to swapping through automated market makers (AMMs) with the concept of **Range Orders**. This feature allows for customizable liquidity positions and single-sided asset provisioning, offering a mechanism similar to traditional limit orders.

In conventional order book markets, limit orders can be set to buy or sell an asset at a predetermined price, to be executed at an unspecified future time. In Plenty V3, you can approximate this by providing liquidity for a single asset within a specific price range. Once the spot price crosses this range, the target asset becomes available for withdrawal, effectively executing the range order.

Unlike traditional markets where limit orders might incur fees, range orders in Plenty V3 generate fees for the liquidity provider as the order gets filled. This is because range orders are technically a form of liquidity provisioning.

### Types of Range Orders

The architecture of AMMs allows for certain types of limit orders to be replicated, while others cannot. Here are some examples:

#### Possible Range Orders

1. **Take-Profit Orders**: If the current USDt/CTEZ pool price is 1 USDt/CTEZ and you wish to sell your CTEZ when it reaches 1.5 USDt/CTEZ, you can set a range order by providing CTEZ at that price. The order will be filled when the spot price crosses your set range.
2. **Buy Limit Orders**: If the current USDt/CTEZ pool price is 1 USDt/CTEZ and you anticipate that CTEZ will rebound after dropping to 0.5 USDt/CTEZ, you can set a range order by providing USDt at that price. The order will be filled when the spot price drops below your set range.

#### Impossible Range Orders

1. **Buy Stop Orders**: You cannot set a range order to buy CTEZ at 1.5 USDt/CTEZ if the current price is 1 USDt/CTEZ, as the price space above the current spot price is denominated in CTEZ.
2. **Stop-Loss Orders**: You cannot set a range order to sell CTEZ at 0.5 USDt/CTEZ if the current price is 1 USDt/CTEZ, as the price space below the current spot price is denominated in USDt.

### Fees and Strategies

Fees generated from your liquidity position will be denominated in both tokens of the given pair. For example, after swapping CTEZ for USDt or vice versa, a small amount of both CTEZ and USDt will be credited to your account as liquidity provisioning rewards.

The choice of concentration for setting range orders is up to the user. A wider range may generate more fees if there's price volatility within your range, but it also increases the risk of the order being unfilled if the spot price reverses before completing your full range.


# Plenty's Unified API

Plenty's Unified API offers a comprehensive resource for accessing extensive information about all aspects of the Plenty ecosystem, encompassing both the v2 and v3 decentralized exchanges (DEX) as well as the vote escrow system. This unified API simplifies the process for developers to retrieve specific data related to Plenty's applications, facilitating the creation of a wide range of services and applications on top of Plenty.

{% embed url="<https://docs.api.plenty.network/>" %}


# Plenty V3 SDK

A V3 SDK for Typescript developers. It simplifies interaction with [Plenty's segmented CFMM](https://github.com/Plenty-network/plentyswap-v3) by offering essential math utilities and operation object creation for tasks like swapping, liquidity management, and staking positions in farms.

{% embed url="<https://www.npmjs.com/package/@plenty-labs/v3-sdk>" %}

{% embed url="<https://github.com/Plenty-network/v3-sdk>" %}


# Plenty V2 Introduction

An introduction to Plenty's vote escrow (ve) model.

{% hint style="info" %}
Existing Automated Market Makers (AMMs) are primarily designed for individual Liquidity Providers (LP's), and incentivize liquidity in exchange for an emission of free tokens. While today, AMMs are often used by other protocols, either through token incentives, bootstrapping liquidity, or protocol owned liquidity.
{% endhint %}

The goal of the new Plenty is to better align emission of tokens to beneficial actions and solve the problem with current AMM designs where liquidity provision is temporarily subsidized while fee generation -the more sustainable incentives-generating mechanism- is not.

The Plenty DEX requires modifications to make it easy for other protocols to leverage them:

* Must be able to easily add token incentives to liquidity.
* Must be able to easily bribe token emissions onto liquidity.
* Must be able to accrue fees from incentivized liquidity.
* Must be able to permissionlessly deploy liquidity.

> With the above in place, any protocol, DAO, or project on Tezos can easily incentivize its own liquidity, be it for its token, its stable coin, or even other derivatives, and while doing so, fully accrue trading fees.

{% content-ref url="/pages/IakMo3bI60zLi5Xs64my" %}
[What are the differences between the ve models of Curve & Plenty V2?](/faq/what-are-the-differences-between-the-ve-models-of-curve-and-plenty-v2)
{% endcontent-ref %}

## Introducing a "ve" model

{% hint style="info" %}
Vote escrow (ve), a DeFi primitive pioneered largely by [Curve](https://resources.curve.fi/crv-token/understanding-crv) with `CRV` and `veCRV`.
{% endhint %}

#### A vote escrow (ve) model with two tokens is introduced to align rewards to beneficial actions:

1. `PLY`: a standard FA1.2 token used as a reward for LP token stakers.
2. `veNFT`: a non-fungible token (NFT) based on [a new ve model](/faq/what-are-the-differences-between-the-ve-models-of-curve-and-plenty-v2).&#x20;

{% content-ref url="/pages/IakMo3bI60zLi5Xs64my" %}
[What are the differences between the ve models of Curve & Plenty V2?](/faq/what-are-the-differences-between-the-ve-models-of-curve-and-plenty-v2)
{% endcontent-ref %}

Users can mint a `veNFT` by locking `PLY`  in a vote escrow (ve) lock for a specified duration. `veNFTs` are used for voting. By voting a `veNFT` holder can claim the trading fees and bribes attached to the liquidity pool for the epoch (one week). In the next epoch (one week) `PLY` emissions are distributed based on the vote weight of each gauge.&#x20;

{% hint style="info" %}
`veNFTs`can be traded on secondary markets like [objkt.com](https://objkt.com/), and have their own intrinsic value.&#x20;
{% endhint %}

### Voting for trading fees

One important innovation here is that `veNFT` holders receive trading fees ONLY from the gauges they have voted for. This is a modification to [the ve model of Curve](https://resources.curve.fi/crv-token/understanding-crv) in which `veCRV` holders receive fees from the entire protocol itself.&#x20;

In the case of `veNFT` voting, users will vote for pools which generate the most trading fees. That should have the positive effect of attracting more liquidity in that liquidity pool, potentially leading to an increase in volume and trading fees.

### Inflation protection

Another innovation is that `veNFT` holders also receive a share of `PLY` emissions based on the circulating supply. Anytime the circulating supply increases through inflation, a proportional increase will be attributed to `veNFT` holders. This makes the value proposition of locking very attractive as your lock does not get diluted by new `PLY` emissions.

As `veNFT` can be traded, a different user from the one who created the vote lock in the first place can hold them to benefit. If this user is a protocol, it could use `veNFT` to direct `PLY` emissions to its own liquidity pools and earn its trading fees.

{% content-ref url="/pages/wyghQBxmfXbpeZ70oykL" %}
[Understanding Bribes](/v2-docs/plenty-v2-introduction/understanding-bribes)
{% endcontent-ref %}

### Different scenarios for different users

<figure><img src="https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2Fn1s3Scri3HPl83AUuDEV%2F3%20plenty%20users%20-%20no%20text%402x%20(1).png?alt=media&amp;token=9c39da20-f7e8-44b2-896e-d7df73d085d5" alt=""><figcaption><p>Alice, Bob, and Carol use different strategies.</p></figcaption></figure>

* **Alice:** By providing liquidity and staking LP tokens Alice earns `PLY` rewards. Alice doesn't vote, so she won't earn any trading fees and bribes. The gauge weight of `Liquidity Pool 1` is lowered at the start of the next epoch, unlike `Liquidity Pool 2` and `Liquidity Pool 3.` Their gauge weights are increased at the start of the next epoch thanks to the voting activity of Bob and Carol.
* **Bob:** By voting Bob earns trading fees and bribes related to `Liquidity Pool 2`. Voting for the gauge attached to `Liquidity Pool 2` increases the gauge weight at the start of the next epoch.
* **Carol:** By providing liquidity, staking LP tokens, AND voting for a gauge, Carol earns `PLY` rewards, trading fees, and bribes. Voting for the gauge attached to Liquidity Pool 3 increases the `PLY` gauge weight at the start of the next epoch.


# Understanding PLY & veNFTs

PLY is a fungible FA1.2 token and vePLY an NFT.

{% hint style="info" %}
Users can earn `PLY` emissions by providing liquidity in a liquidity pool and stake their LP tokens in a [gauge](/v2-docs/plenty-v2-introduction/understanding-gauges). A user can [boost](/v2-docs/plenty-v2-introduction/understanding-boosting) their rewards by 2.5x by owning a `veNFT.`
{% endhint %}

## What can `veNFT` holders do?

* Vote on the weekly `PLY` emission percentage split across the [gauges](/v2-docs/plenty-v2-introduction/understanding-gauges) of the different Plenty liquidity pools.
* Claim weekly trading fees from voted liquidity pools.
* [Boost](/v2-docs/plenty-v2-introduction/understanding-boosting) `PLY` rewards APR for own LP stake.
* Claim weekly [bribes](/v2-docs/plenty-v2-introduction/understanding-bribes) from voted liquidity pools.

<figure><img src="https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2F0Qd2e3RYk0LKPlUxotdF%2FMinting%20a%20vePLY%20NFT%402x%20(10).png?alt=media&amp;token=576e5791-adba-483c-9b67-8af1685dfe38" alt=""><figcaption><p>Alice earns fees and bribes by voting. Boosting multiplies the LP token staking rewards by 2.5x.</p></figcaption></figure>

## Advantages to locking PLY for vePLY

Similar to Curve’s `veCRV`, `vePLY` (and its associated voting power based on the duration of the lock) functions primarily around governance, gauge rewards, and gauge voting. It also serves as a reward booster, as liquidity providers (LPs) that hold `vePLY` receive 40%-100% of the reward. Users receive more voting power the longer they lock their tokens, which helps keep value locked within the protocol.

So users that own `PLY` that wish to participate in voting and receive a share of the revenue generated by the protocol can lock their `PLY` for a given amount of time and receive a `vePLY` NFT. This time lock can last as short as a week or as long as four years. Once a `PLY` lock is created, a user can vote on different gauges to receive trading fees from the gauges that the user has voted for. The following is a general overview of the different time lock based voting rights:

* Four Year Lock: 1 `PLY` = 1 vote
* Two Year Lock: 1 `PLY` = 0.5 vote
* Six Month Lock: 1 `PLY` = 0.125 vote

Similar to Curve’s vote-escrow token design, a user’s `vePLY` voting power decays linearly over time and must be actively renewed to avoid decay. Although this is not a novel mechanism, it does help keep constant locking pressure on `PLY`. Once the given time lock expires, the original `PLY` deposit can be withdrawn from the lock.

<details>

<summary>Lock Scenarios</summary>

* If you lock 1000 `PLY` for 4 years, you get a `vePLY` NFT with an initial voting power of 1000.
* &#x20;If you lock 1000 `PLY` for 3 years, you get a `vePLY` NFT with an initial voting power of 750.
* In a similar way, you get 500 for 2 years, 250 for 1 year and so on in a linear way. The longer the duration of your lock, the higher your initial voting power.

As mentioned before, this voting power also decreases constantly at the same linear rate. So, if you have 1000 `PLY` locked for 4 years and received a `vePLY` with initial voting power as 1000 - after a year, the voting power will be reduced to 750. By the end of the lock, the voting power would reach zero.

</details>

Another iteration on existing vote escrow models is that the dilution of existing early `PLY` locks is actively mitigated. A game theoretic application intended to keep `PLY` staked for longer periods of time is applied through the provision of emissions. In short, `PLY` locks also receive a share of `PLY` emissions, based on the circulating supply. As more token holders lock, therefore, less `PLY` rewards are distributed to LPs.

### Three economic principles of Plenty's ve that deviate from the standard vote escrow rules from Curve <a href="#id-479b" id="id-479b"></a>

{% hint style="info" %}
We have modified the math of the original first two principles of ve(3,3) to allow decent incentives for protocols that join later in the future.
{% endhint %}

1. **Weekly `emissions` are adjusted as a percentage of `circulating supply`**

The `real emission` that the users receive is related mathematically to a `base emission` as follows:

$$
Emission\_{real} = Emission\_{base} - (Emission\_{base} \* \frac {PLY\_{ lockedSupply}}  {PLY\_{totalSupply}} \* 0.5 )
$$

Meaning, if the weekly `base emission` is set at 2,000,000. Then, if 0% of `PLY` is locked for `vePLY`, the entire 2,000,000 is emitted. If 50% of `PLY` is locked for `vePLY`, the weekly emission would be 1,500,000. If 100% of `PLY` is locked for `vePLY`, the weekly emission would be 1,000,000.

**2. `ve` locks increase their holdings proportional to the weekly `emission`**

The locked PLY supply is inflated to prevent dilution as:

$$
PLY\_{newLockedSupply} = Emission\_{real} \* \frac {PLY\_{ lockedSupply}}  {PLY\_{totalSupply}} \* 0.5
$$

Assume a 1,500,000 `PLY`weekly `emission`, a `total_supply` of 20,000,000 `PLY`, and a `locked_supply` of 10,000,000 `PLY`. This would mean that 1,500,000 are minted and provided as incentives. Then, according to the math, total locked supply would be inflated by 3,75,000 `PLY`.

**3. `vePLY` is transferable as an NFT**

By tokenizing the lock position we allow a single address to own more than one lock. Lock balances are cumulative and each lock contributes to the overall voting power. This further allows locks to be traded on secondary markets, as well as to allow participants to borrow against their locks in future lending market places. By extending locks into NFTs, the capital inefficiency problem of ve assets, for example in DeFi protocols like Curve, is solved.&#x20;


# Understanding Gauges

Farms, but better.

A gauge is a fancy crypto term for defining how much of the `PLY` rewards an LP can earn when providing liquidity to a Plenty liquidity pool. The higher the votes for a gauge, the more `PLY` can be earned by staking LP tokens in a gauge.

The gauge is an instrument to measure which liquidity pool is weighted most heavily with rewards. Voting for gauges occurs weekly.

## The Gauge System

`PLY` emissions should be directed to users who provide liquidity within the protocol. This usage is measured via “gauge” smart contracts. Each liquidity pool has an individual liquidity gauge.&#x20;

To measure liquidity, the user deposits their LP tokens into the gauge. `PLY` emissions each gauge is getting depends on the current inflation rate and the gauge weight. Each user receives a share of `PLY` proportional to the amount of LP tokens locked in a gauge.&#x20;

{% embed url="<https://whitepaper.plenty.network/amm/vote-escrow-smart-contracts#related-core-contracts>" %}

## Gauge Voting

Users can allocate their voting power towards one or more gauges to earn trading fees and bribes attached to the liquidity pool. Gauges receive newly minted `PLY` proportional to its vote weight. Each user with a `vePLY` NFT can change their preference at any time.

When a user applies a new weight vote, it gets applied at the start of the next epoch (1 week). The weight vote for any one gauge cannot be changed more often than once in 7 days.

<details>

<summary>Voting Scenario</summary>

The main perk of being a vePLY NFT holder is that you can vote on the distribution of weekly PLY emission across the Gauges. The distribution is calculated based on the voting power you assign to each gauge during the voting period.

Voting is in an ‘always-on’ state, and each week on a fixed day results are factored in and gauge weights are adjusted.

vePLY holders receives AMM fees only for the gauges they vote for. It is required to vote in a week in order to receive the fees for that week.

**Scenario for Voting:**

* Assume there are three AMM pools and associated gauges:
  * &#x20;kUSD - CTEZ
  * USDtz - CTEZ&#x20;
  * uUSD - CTEZ
* There are 3 vePLY holders with following voting power:
  * **Alice:** 4,000
  * **Bob:** 3,500
  * **Carol**: 2,500
* The vote distribution across a certain week is:
  * kUSD - CTEZ: 4,500 votes (2,000 votes from **Alice** and 2,500 votes from **Bob**)&#x20;
  * USDtz - CTEZ: 3,000 votes (2,000 votes from **Alice** and 1,000 votes from Bob)&#x20;
  * uUSD - CTEZ: 2,500 votes (2,000 votes from Carol)
* PLY distribution for the gauges for the current week is 150,000 PLY:&#x20;
  * kUSD - CTEZ gauge will distribute 45% of the allocation: 67,500 PLY
  * USDtz - CTEZ gauge will distribute 30%: 45,000 PLY.
  * uUSD  - CTEZ gauge will distribute 25%: 37,500 PLY.

**Scenario for Fees:**

* &#x20;For kUSD pool, ALICE has 44.4% vote share and BOB has 55.6%. The fees will be distributed amongst them in same ratio.
* For USDtz pool, ALICE has 66.6% share and BOB has 33.3% share.
* For uUSD pool, JOHN has 100% share of the fees, since he is the only voter.

Votes for Gauges can also be incentivised by giving bribes to those who vote for emissions through the gauge. The bribe reward is distributed based on the voting share, similar to the distribution of fees.

</details>


# Understanding Boosting

By boosting a user could receive up to 2.5x PLY rewards.

Each gauge has a `baseAPR` and a `maxAPR`. The `baseAPR` is what a liquidity provider will earn for providing liquidity to a pool and staking LP tokens in the gauge. The `maxAPR` can be reached by boosting.

All gauges have different boosting requirements, meaning some pools are easier to boost than others. It depends on how much others have locked and how much the liquidity gauge has.

If no users vote lock any `PLY` (or simply don’t have any), the inflation will simply be distributed proportionally to the liquidity each one of them provided. However, if a user locks enough `PLY` in a lock, they are able to boost their `PLY`  rewards by up to factor of 2.5 (reducing it slightly for all users who are not doing that).

Implementation details are such that a user gets the boost at the time of the last action or checkpoint. Since the voting power decreases with time, it is favorable for users to apply a boost and do no further actions until they vote lock more `PLY`. However, once the vote lock expires, everyone can “kick” the user by creating a checkpoint for that user and, essentially, resetting the user to no boost if they have no voting power at that point already.


# Understanding Bribes

Any protocol or user can attach bribes onto a liquidity pool and those who vote for it will be able to claim them.

Plenty natively supports gauge bribes and automatically adjusts them according to weekly `vePLY` NFT votes. In addition to traditional bribes, which allows a protocol to expand their on-chain liquidity by bribing vote escrow holders to vote in a specific way (e.g. Convex bribing `veCRV` token holders). Plenty allows any user to attach bribes onto a gauge.

The concept of bribes was made popular by Convex which came to control a large share of Curve voting power. As users kept chasing high `CRV` rewards, protocols realized they could grow their protocol and on-chain liquidity by bribing `veCRV` holders to vote for their pool.

On Plenty, it’s possible for anyone to attach bribes onto a gauge and those who vote for it are then able to claim them.

## Who can bribe?

Anyone can issue a bribe to attract voters to a specified gauge in a specified epoch. However, bribers would most likely be:

* Protocol owners who are aiming to bootstrap liquidity for their protocol's token.
* Liquidity providers who have high stakes in a certain pool.

{% hint style="danger" %}
Bribes must be given in **fungible tokens**. A bribe given in NFTs won't be divisible amongst the voters. Moreover, really small bribes especially in low-precision tokens should be avoided.
{% endhint %}

{% embed url="<https://whitepaper.plenty.network/amm/vote-escrow-architecture#briber>" %}

![Adding a bribe to a gauge will attract more votes, which will result in a higher gauge weight, which will attract liquidity.](https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2F1j3bym1jLG4jXr8OvNIl%2F3%20plenty%20users%20\(copy\)%402x%20\(2\).png?alt=media\&token=d5104d5e-c09c-41d0-8be5-39b36ef7d550)


# Tokenomics

{% content-ref url="/pages/eY6hfrQhhkgW9LepvXe4" %}
[Distribution](/v2-docs/tokenomics/distribution)
{% endcontent-ref %}

{% content-ref url="/pages/yELMjzpTDBL4FJulAdtI" %}
[Migration](/v2-docs/tokenomics/migration)
{% endcontent-ref %}

{% content-ref url="/pages/0h1j219dDpJ2j3L6wekQ" %}
[Emissions](/v2-docs/tokenomics/emissions)
{% endcontent-ref %}


# Distribution

Distribution of Plenty's new $PLY token.

<div align="center"><figure><img src="https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2FLLtRNE7L7i1CYwv4Qd0j%2Ftokenomics.png?alt=media&amp;token=1fb6f89d-155b-4a55-a7bf-b88a326a455a" alt=""><figcaption><p>PLY Token Distribution</p></figcaption></figure></div>

The total supply of `PLY` is capped at **1 billion** tokens. The distribution is as follows:

* **40% (400 million PLY)** - Existing PLENTY and WRAP holders through [migration](/v2-docs/tokenomics/migration).
* **40% (400 million PLY)** - Community incentives emitted through [gauges](/v2-docs/tokenomics/emissions).
* **15% (150 million PLY)** - Reserved for the current and future members of Plenty's core team.
* **5% (50 million PLY)** - Reserved for airdrops, marketing and partnerships with existing Tezos protocols.

### Vesting and Release&#x20;

* The circulating supply at genesis would be at most **250 million PLY (25% of total supply)**. The **5%** of supply allocated for airdrops, marketing and protocol partnerships will be available for use instantly, plus the **20%** of supply through the initial exchange as described in [migration](/v2-docs/tokenomics/migration).
* The remaining **200 million PLY (20% of supply)** allocated for migration will be released linearly over the first two years of the project as described in the [mechanics of migration](https://app.gitbook.com/o/HZgMP2jzqgvjj54lU5lH/s/VIKTsDadrIG7W2qBrlds/~/changes/DDRPH9pFEkGWy4WEKNcr/tokenomics/migration#mechanics-of-migration).
* **150 million PLY (15% of supply)** allocated for the core team shall be linearly vested for 2 years.
* The final **400 million PLY (40% of supply)** will be provided as liquidity and locking incentives to the community through [gauges](/v2-docs/plenty-v2-introduction/understanding-gauges) and [inflation of PLY lockers](https://docs.plenty.network/). The emission strategy is explained elaborately in the [emissions section](/v2-docs/tokenomics/emissions).&#x20;

{% hint style="info" %}
The genesis supply would ideally be much less than the maximum figure of 250 million PLY since not all holders would migrate on the first day itself. Additionally, the 5% reserved for airdrops and partnerships shall be minted in parts, whenever required.
{% endhint %}

### Circulating and Locked Supply

Due to the [ve-model](broken://spaces/uSZqLWzyYI3TZv61BVjD), a certain percentage of PLY will be locked as vePLY and [directly affect the emission rate](https://app.gitbook.com/o/HZgMP2jzqgvjj54lU5lH/s/VIKTsDadrIG7W2qBrlds/~/changes/DDRPH9pFEkGWy4WEKNcr/tokenomics/emissions#a-visual-peek) of PLY over time.

{% hint style="success" %}
Vested PLY vested is minted on-demand whenever a claim is made. This ensures that at no point there is an 'unused PLY' supply that is locked away in any other form other than vote-escrow.
{% endhint %}

Over time, the total circulating supply i.e emission through gauges + locker inflation + vesting of migrated and team allocated PLY would look like this:

The *knee* at the 2-year mark is caused due to the ending of the vesting period for the team allocated and migrated PLY. Post that, the only way PLY comes into supply existence is through gauge emissions and locker inflation.

{% hint style="success" %}
Vested PLY that is not claimed within the first two years is still claimable after the end of the vesting period.
{% endhint %}

<figure><img src="https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2FiFHOcKR0gedCFqqpEiEY%2FWireframe%20-%2020.png?alt=media&amp;token=47b09c96-8f84-4697-96cd-c9bf3fbf17ae" alt=""><figcaption></figcaption></figure>


# Migration

Swapping PLENTY and WRAP for PLY

With the advent of the new [plenty.network](https://plenty.network) that comprises improved Plenty DEX and EVM-bridge (taken over from [wrap protocol](https://www.benderlabs.io/wrap)), existing `PLENTY` and `WRAP` holders can swap their tokens for `PLY`.

A total of **400 million PLY** or **40%** of the total supply is allocated for this initial migration - **32%** for `PLENTY` holders and **8%** for `WRAP` holders.

## Mechanics of Migration

The migration is a 2-step process involving an initial exchange, followed by the vesting of tokens received. The exchange starts on **5th January 2023** with the swap rates being as follows:

`1 PLENTY = 5.714 PLY` and `1 WRAP = 3.092 PLY`&#x20;

50% of the PLY you receive from the exchange will be available immediately and the remaining 50% shall be vested linearly up to **5th January 2025**. The vested tokens get unlocked by the second, but claims can be made only once every 24 hours.

{% hint style="success" %}
There is **no end date** for migrating to PLY. You may swap your tokens at will once the exchange begins. Refer to the [scenarios](#migration-scenarios) listed below to understand how the migration would work for different time frames.
{% endhint %}

Of the **400 million** tokens allocated for migration, **200 million** tokens would be available on the day the exchange starts. The remaining **200 million** tokens would keep coming into circulation up to and beyond **5th January 2025.**

### **Migration Scenarios**

<details>

<summary>Migrate on the day exchange starts</summary>

If Alice exchanges **100 PLENTY** for **850 PLY** on the very day the exchange starts, she gets **425 PLY** i.e 50% of the total immediately. The remaining **425 PLY** is then **vested until  5th January 2025.**

</details>

<details>

<summary>Migrate a few days after the exchange starts, but before the vesting ends</summary>

If Alice exchanges **100 PLENTY** for **850 PLY,** 6 months after the exchange starts, she gets **425 PLY** immediately. **106.25 PLY** i.e the amount that would have been unlocked if exchanged on the first day, can be claimed after the first 24 hours. The remaining **318.75 PLY** follows the standard vesting rule until **5th January 2025**.

</details>

<details>

<summary>Migrate after the end of vesting</summary>

If Alice exchanges **100 PLENTY** for **850 PLY, after 25th January 2025** she gets **425 PLY** immediately. The remaining **425 PLY** is claimable entirely after the first 24 hours.

</details>

{% hint style="info" %}
You can make multiple migrations from the same Tezos address. The vested tokens simply add up.
{% endhint %}


# Emissions

Liquidity and locking incentives for the community.

A total of **400 million PLY (40% of supply)** will be distributed as liquidity incentives through [gauges](/v2-docs/plenty-v2-introduction/understanding-gauges) and locking incentives through anti-dilution inflation of lockers.

The gauge emission in the first year would be set at **1** **million PLY/week**, distributed across the gauges of all liquidity pools based on their weekly vote shares. **The emission rate would be** **dropped by a factor of** \~$$\sqrt{2}$$ **at yearly intervals.**

{% hint style="success" %}
In the first 3 weeks of launch, extra rewards would be distributed every week through the gauges to reward early adopters.
{% endhint %}

As described in our modified [ve(3,3) model](/faq/what-are-the-differences-between-the-ve-models-of-curve-and-plenty-v2#479b), the emissions would further be adjusted based on the locked PLY supply and accompanied by the inflation of lockers to protect from dilution.

## A Visual Peek

{% hint style="info" %}
Graphs were updated post-launch to reflect the real values in the smart contract.
{% endhint %}

* The cumulative emission through the gauges for different values of locked PLY supply:

<figure><img src="https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2FGEqaiMuQuD8Ph6z0ohWV%2FWireframe%20-%2022.png?alt=media&amp;token=d27bab1c-208e-4d4d-8df8-3dbb7fc37792" alt=""><figcaption></figcaption></figure>

* The cumulative inflation of PLY lockers for different values of locked PLY:

<figure><img src="https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2F3Y3xYipdl79eIQhpDWp3%2FWireframe%20-%2021.png?alt=media&amp;token=b6d35c2b-77f1-4e91-8d0d-9c791d19cea8" alt=""><figcaption></figcaption></figure>

* The combined cumulative increase in PLY supply through gauge emission and locker inflation:

<figure><img src="https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2FlgvNvQ5fRvvrCLq2Qxok%2FWireframe%20-%2023.png?alt=media&amp;token=0ff64f26-8c71-43f7-8325-2abfe4c18ab5" alt=""><figcaption></figcaption></figure>


# Architecture


# Vote escrow architecture

![Plenty's "ve" architecture](https://3426972714-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIKTsDadrIG7W2qBrlds%2Fuploads%2FXUYJ8rUpq9xXK0lljhG9%2Fimage.png?alt=media\&token=9794baf3-d0bd-4b4f-8593-111f91253828)

## PLY Holder

The `PLY` token is based on the FA1.2 standard on [Tezos](https://tezos.com/). `PLY` holders can lock their `PLY` for an integral number of weeks between 1 and 208. The Lock-up period is rounded up to the nearest whole week as `(Expiry // Week) * Week`, so the lock period can be slightly (always < 7 days) higher or lower than the number of days your chosen number of weeks resolve to.

Locking is done by calling the `create_lock` entrypoint in the `VoteEscrow` contract. The entrypoint pulls the required number of `PLY` from the user balance and returns a `vePLY` NFT that represents the lock.

{% hint style="info" %}
Each `vePLY` NFT has an associated **voting power** that is linearly decreasing as `bias - slope * t`. The slope is calculated based on your `PLY` lock-up value and lock-up period.
{% endhint %}

At its core, the `VoteEscrow` contract is based on the FA2 standard. It maintains a `ledger` that keeps track of the ownership of all `vePLY` NFTs. Only the owner of a `vePLY` NFT can unlock it after expiry and redeem the underlying PLY tokens by calling the `withdraw` entrypoint.

## VePLY Holder

A **`vePLY` holder** can vote on the distribution of weekly `PLY` emission across the different `gauges`, and in return collect fees and bribes for the AMM they vote for. Besides, the holder can also claim inflation for their locked `PLY`, that is proportional to the global supply inflation. This is required in order to prevent dilution of locked stake overtime.

Each `vePLY` NFT has voting power that can be retrieved through the `get_token_voting_power` onchain view in the `VoteEscrow` contract. The voting power can be distributed as voting weights across different gauges the owner is intending to receive fees from and direct emissions to.

Voting is handled by the `Voter` contract. `VePLY` holders can call the `vote` entrypoint at each epoch to distribute their voting power (i.e vote) for the liquidity pools of their choice.

{% hint style="info" %}
An epoch is a voting period that is a week long and ideally starts at every Thursday, 12 AM (UTC). When a `vePLY` holder votes, their voting power at 12 AM (UTC) on the past Thursday is used.
{% endhint %}

When an epoch ends, the next epoch can be started by anyone calling the `next_epoch` entrypoint in the `Voter` contract. Besides updating the epoch, this entrypoint also calculates and updates current `PLY` inflation value, and adds a proportional inflation to the `PLY` locks.

To claim bribes and trading fees for a specific epoch, the `vePLY` holder (who has voted) can call the `claim_bribe` and `claim_fees` entrypoints respectively, in `Voter`. These entrypoints send internal transactions to `FeeDistributor` and associated `Bribe` contract, and they in turn transfer the required amount to the holder.

To claim inflation, the holder can call `claim_inflation` entrypoint in `VoteEscrow`, once for every epoch. The inflation is added directly to the underlying lock with the bias and slope being adjusted.

## AMM Liquidity Provider

**AMM Liquidity Providers** can stake their LP tokens in the gauge associated with their AMM and receive `PLY` emissions. The `gauge` contracts essentially acts like a farms. Every week, the `recharge_gauge` entrypoint of the `Voter` contract can be called to recharge a specific gauge, based on the emissions and gauge weights of the last epoch.

Stakers can also **boost** their emission rewards by a **maximum of 2.5x** by attaching a `vePLY` NFT that they own, to their stake. Boosting is achieved using the following formula: `MIN(Staked-Balance, (0.4 * Staked-Balance) + (0.6 * Staked-Supply * Voting-power-of-vePLY / Total-voting-power))`

## Briber

An individual or even a protocol can bribe i.e essentially reward those who vote for a pool of their preference in a particular epoch.

Every AMM has an associated `Bribe` contract that handles the process. Bribes can be given in any FA1.2 or FA2 standard based token by calling the `add_bribe` entrypoint.

## Admin

The `CoreFactory` contract has control over addition/deletion of AMMs in the vote-escrow system. The factory is controlled by a multisig.

When a new AMM is added, the associated `Gauge` and `Bribe` contracts are deployed and the AMM and it's token pair is stored in the `Voter` and `FeeDistributor` contract.&#x20;

## Architecture FAQs

### How is the voting power calculated in VoteEscrow contract?

In order to calculate the voting power of a specific `vePLY` NFT, or the global voting power at any timestamp **t**, we record **checkpoints** whenever any operation related to the vote escrow mechanism takes place. These operations include the creations of locks, increments of lock value and increments of lock period.

These checkpoints are recorded in the `token_checkpoints` and `global_checkpoints` bigmap. Further to keep track of lock expiry, we keep the `slope_changes` bigmap.

To find the voting power at any specific timestamp, we binary search through the checkpoints to a timestamp closest to required, and extrapolate the values stored in the checkpoint to calculate voting power at the given timestamp.

### How is boosting achieved in Gauges?

The staked balance of the user is dialled down and kept in the range 40%-100% of the initial balance. This is stored as `derived_balances` and its associated `derived_supply`. The dialing down is achieved using the formula stated in the **AMM Liquidity Provider** section. The derived values are further used to calculate the emission share.

For stakers who do not attach a `vePLY` NFT to their stake, their derived balance is always 40% of the staked balance. To get maximum out of their stake i.e a 2.5x boost, they have to attach a `vePLY` NFT with enough voting power to their stake.

### How does 'attaching' affect the vePLY NFT?

When a `vePLY` NFT is attached to an LP stake in a particular gauge, it becomes un-transferrable and cannot be used as boost in any other gauge.

### Why are timestamps stored as `nat`?

The operations in the `vePLY` system require a ton of arithmetic calculations to be made on timestamps. Since Michelson `timestamp` is not versatile when it comes to arithmetic calculations, `nat` is chosen at the primary type to store UNIX timestamp values.<br>


# Vote escrow smart contracts

Plenty's ve system consists of several core and associated contracts working in tandem, to play out a model that enables bootstraping of liquidity through a vote-escrow mechanism.

The core contracts handle the base token minting and distribution across `Gauges`, vote escrow lockups, governance, AMM fee distribution, and deployment of the related core contracts. The Gauge and Bribe contracts are tied to the AMMs, with each AMM having one Gauge and one Bribe contract associated with it.

The AMMs (volatile and stable) are the associated contracts, and they are the primary store of liquidity. From a top level view, the AMMs (associated contracts) are the entities through which all liquidity flows through, and the ve system (core contracts) can direct this flow through its incentivization model.

## Core Contracts

| Contract         | Description                                                                                                                                                                  |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PLY FA1.2`      | Base token of the system that is emitted weekly. It is based on the FA1.2 standard on Tezos.                                                                                 |
| `VoteEscrow`     | Allows locking up of PLY tokens as vePLY NFTs. These vePLY tokens are based on the FA2 standard on Tezos. vePLY forms the primary governance token in the vote-escrow model. |
| `Voter`          | Handles the voting for distribution of weekly PLY emissions across the gauges of the AMMs.                                                                                   |
| `FeeDistributor` | Collects and distributes fees from whitelisted Plenty AMMs to the weekly voters.                                                                                             |
| `CoreFactory`    | Assists in addition (whitelisting) of new AMMs to the vote-escrow system by deploying the related core contracts mentioned below.                                            |

## Related Core Contracts

| Contract | Description                                                                                                                 |
| -------- | --------------------------------------------------------------------------------------------------------------------------- |
| `Gauge`  | Distributes weekly PLY emissions to the stakers of LP tokens of Plenty AMMs. Every whitelisted AMM has an associated gauge. |
| `Bribe`  | Allows bribing (rewarding) voters of a specific AMM in a specific voting period (epoch).                                    |

## Associated Contracts

| Contract        | Description                                                                                       |
| --------------- | ------------------------------------------------------------------------------------------------- |
| `AMM`           | A constant product market maker contract that charges a small fee for swaps between a token pair. |
| `FlatCurve AMM` | A stableswap contract that allows near 0 slippage swaps between co-related token pairs.           |

## Supplementary Contracts

| Contract | Description                                                                 |
| -------- | --------------------------------------------------------------------------- |
| `VESwap` | Allows for exchanging existing PLENTY and WRAP tokens to the new PLY token. |


# Scenarios

Given below are some of the integral real-world scenarios or actions that could be performed on the VE system. Only dummy values are used in the examples. Refer to the official website for actual values/metrics.

* Swap existing **PLENTY** or **WRAP** tokens with **PLY**.
* Lock PLY tokens in **Vote-Escrow** (VE) Locker to get a veNFT.
* Provide liquidity in the new set of AMMs (Stableswap & Uniswap v2 like).
* Stake the L.P tokens (generated by providing liquidity in the AMMs), in **Gauges**.
  * You receive PLY emissions by staking L.P tokens in Gauges.
  * You can boost your emission rate upto 2.5x by attaching a vePLY NFT to your stake.
* As a veNFT holder, vote on a weekly basis to decide the emission distribution across Gauges of the AMMs.
  * You may claim a **Bribe** (a small reward in any random token) if you vote for a gauge that has been incentivised by a briber.
  * You would also receive a share of the fees collected by the AMM related to the gauge.
  * Your locked PLY value will increase proportionally to the inflation rate generated across the gauges, to prevent dilution.
* As a protocol owner, bribe the voters of your pool to direct more emissions towards it.
  * You can increase the votes received by your pool by adding a bribe.
  * More votes equal more PLY rewards for the LPs of your pool which in-turn leads to higher liquidity.

### 1. Swap existing PLENTY or WRAP tokens with PLY

If you hold the existing PLENTY and/or WRAP tokens, you can exchange them for the tokens of the new system - after the merger. There will be predetermined exchange rates for both tokens. You will receive 50% of the exchanged tokens immediately, and another 50% will ve linearly vested for 2 years. Claim on the vested tokens can be made every 24 hours.

**Scenario:**

* You have 1000 PLENTY tokens (would work similarly for WRAP, with a different exchange rate).
* You deposit 1000 PLENTY into an **Exchange contract** and have 500 PLY tokens ‘assigned’ to you (dummy exchange rate of 0.5 PLY/PLENTY).
* You get 250 PLY (50%) immediately.
* The remaining 250 PLY is vested over 2 years and you can make a claim once every 24 hours.

This vesting structure is highly flexible and an extended explanation can be found here: <https://whitepaper.plenty.network/tokenomics/migration>

### 2. Lock PLY tokens in Vote-Escrow (VE) Locker to get a veNFT

You can lock your PLY tokens in the **Vote-Escrow Locker** to receive a veNFT (also called vePLY NFT). The locking period is in number of integral weeks - 1 week, 2 weeks, so on with a max of 4 years (\~ 208 weeks), depending upon how vested you are into the ecosystem.

**NOTE:** Lock ups are done on the basis of *whole weeks*. Each week starts at Thursday, 12 AM (UTC). Therefore, if you want to do a minimum time (1 week) lock up, say on Tuesday, you would essentially be locking your tokens for 1 week + 2 days (covering the Tuesday -> Thursday gap).

**vePLY NFT** is essentially a transferable NFT that represents the ownership of the locked PLY and also has an associated ‘Voting Power’ that is **linearly decreasing** over time. The amount of the underlying PLY stays the same throughout the lock. Underlying PLY cannot be claimed until lock expiry. The locking explained in the Action 1 would work in a similar way.

**What can veNFT holders do?**

* Vote to decide the weekly PLY emission distribution across the Gauges of different AMM pools.
* Claim fees from the AMMs whose gauges they vote for.
* Claim bribes from incentivised votes.
* Additionally, they can have their underlying PLY grow proportionally to inflation that is being generated by the gauges.

**Voting Power Scenarios:**

* If you lock 1000 PLY tokens for 4 years, you get a veNFT with an initial voting power of 1000.
* If you lock 1000 PLY tokens for 3 years, you get a veNFT with an initial voting power of 750.
* In a similar way, you get a power of 500 for 2 years, 250 for 1 year and so on in a linearly related way. The higher your lock period, the higher your initial voting power.
* As mentioned before, this voting power also decreases constantly at the same linear rate. So, if you have 1000 PLY locked for 4 years and received a veNFT with initial voting power as 1000 - after a year, the voting power will be reduced to 750. By the end of the lock, the voting power would tend to zero.

**NOTE:** The veNFT holders can increase their underlying PLY value and also increase the lock period at anytime before expiry. The voting power is adjusted accordingly when either of the two operations are performed.

### 3. Provide liquidity in the new set of AMMs (Stableswap & Uniswap v2 like)

Liquidity provision across AMM pools would work in the standard way, with all providers receiving associated L.P tokens.

**AMM Fees:**

* For AMMs whose Gauges (explained in Point 4) are not receiving PLY emissions (i.e not whitelisted), the fees would go directly to the liquidity providers.
* For AMMs with gauges receiving the emission, the fees would not go directly to the L.Ps. Instead, the fees would be given to veNFT holders who voted for that gauge in that week (elaborated in Action 5).
* L.Ps can get veNFT by locking up the PLY emissions they receive from the Gauges.

### 4. Stake the L.P tokens (generated by providing liquidity in the AMMs) in Gauges

Every AMM Pool in the new system will have an associated **Gauge** that would act as a **farm** for weekly PLY emissions. Liquidity Providers in the AMMs can stake their LP tokens in the Gauges to receive a share of the emission.

The L.P token stakers can also ‘boost’ or increase their total share of the weekly emission to a maximum of **2.5x**, by attaching a veNFT NFT to their stake. The total boost would depend on the spot voting power of the veNFT.

### 5. Vote on a weekly basis to decide the emission distribution across Gauges

The main perk of being a veNFT holder is that you can vote on the distribution of weekly PLY emissions across the Gauges. The distribution is calculated based on the voting power you assign to each gauge during the voting period.

Voting is in an ‘always-on’ state, results are factored in and gauge weights are adjusted on a fixed day every week. veNFT holders receive AMM fees only for those whose Gauges they vote for. **It is required to vote in a week in order to receive the fees for that week.**

**NOTE:** You cannot use your veNFT to vote in the same epoch in which it was created. It is available for voting in the following epoch. This is because voting-power snapshots are taken at beginning of each epoch to prevent sybil attacks.

**Scenario for Voting:**

Assume there are three AMM pools - kUSD, USDtz, uUSD (Second pair-token is Ctez in all cases). Each one has an associated gauge.

There are 3 veNFT holders with following voting powers:

| Holder | Voting Power |
| ------ | ------------ |
| Alice  | 4,000        |
| Bob    | 3,500        |
| John   | 2,500        |

The vote distribution across a certain week is:

| Pool  | Alice's Votes | Bob's Votes | John's Votes | Total Votes | Percentage Allocation of Votes |
| ----- | ------------- | ----------- | ------------ | ----------- | ------------------------------ |
| kUSD  | 2,000         | 2,500       | 0            | 4,500       | 45%                            |
| USDtz | 2,000         | 1,000       | 0            | 3,000       | 30%                            |
| uUSD  | 0             | 0           | 2,500        | 2,500       | 25%                            |

If the PLY inflation for the current week is **150,000 PLY**, the distribution across gauges based on vote allocation would be as follows:

| Pool Gauge | PLY Allocation |
| ---------- | -------------- |
| kUSD       | 67,500         |
| USDtz      | 45,000         |
| uUSD       | 37500          |

The fees will be distributed amongst voters in the ratio of their individual vote allocation for an AMM pool. In our example that would be:

| Pool  | Alice's allocation | Bob's Allocation | John's Allocation |
| ----- | ------------------ | ---------------- | ----------------- |
| kUSD  | 44.4%              | 55.6%            | 0%                |
| USDtz | 66.67%             | 33.33%           | 0%                |
| uUSD  | 0%                 | 0%               | 100%              |

### Bribe the voters of your pool to direct more emissions towards it

As a protocol owner, you might want high liquidity in the pools containing your protocol's token. Liquidity can be increased by directing more PLY emissions toward your pools by getting more users to vote for it.

Votes for AMM pools can be incentivised by giving bribes to those who vote for emissions through the gauge. The bribe reward is distributed based on the voting share, similar to the distribution of fees.Given below are some of the integral real-world scenarios or actions that could be performed on the VE system. Only dummy values are used in the examples. Refer to the official website for actual values/metrics.

* Swap existing **PLENTY** or **WRAP** tokens with **PLY**.
* Lock PLY tokens in **Vote-Escrow** (VE) Locker to get a veNFT.
* Provide liquidity in the new set of AMMs (Stableswap & Uniswap v2 like).
* Stake the L.P tokens (generated by providing liquidity in the AMMs), in **Gauges**.
  * You receive PLY emissions by staking L.P tokens in Gauges.
  * You can boost your emission rate upto 2.5x by attaching a vePLY NFT to your stake.
* As a veNFT holder, vote on a weekly basis to decide the emission distribution across Gauges of the AMMs.
  * You may claim a **Bribe** (a small reward in any random token) if you vote for a gauge that has been incentivised by a briber.
  * You would also receive a share of the fees collected by the AMM related to the gauge.
  * Your locked PLY value will increase proportionally to the inflation rate generated across the gauges, to prevent dilution.
* As a protocol owner, bribe the voters of your pool to direct more emissions towards it.
  * You can increase the votes received by your pool by adding a bribe.
  * More votes equal more PLY rewards for the LPs of your pool which in-turn leads to higher liquidity.


# Audit by Inference AG

Our [vote escrow smart contracts](https://github.com/Plenty-network/ve-core) have been [audited](https://github.com/Plenty-network/security-audits) by Inference AG.

<details>

<summary>Issue 1: `next_epoch` not executed on time</summary>

We have a bot running on our end that duly executes the entrypoint every Thursday at 12 AM (UTC). The core team carefully monitors the execution. The scripts for the bot can be found here: <https://github.com/Plenty-DeFi/next_epoch_cron>\
\
In case, the execution has not occurred at the right time due to a potential bot failure. It can be called permissionless through <https://better-call.dev/mainnet/KT1Xa92Nf6evFcEbxMXencfGPmS4urNyn5wd/interact/next_epoch>

</details>

<details>

<summary>Issue 2: Small bribes</summary>

Ideally, this should not be an issue since bribes would mostly be added by protocol owners or DAOs that have a sufficient understanding of the system. However, to be on the safer side, we have to give a clear warning under the [\`Who can bribe?\`](/v2-docs/plenty-v2-introduction/understanding-bribes#who-can-bribe) section.

</details>

<details>

<summary>Issue 3: Distribution of AMM fees</summary>

The scripts in the repository <https://github.com/Plenty-DeFi/next_epoch_cron> also handle the calling of appropriate entrypoint for fee distribution. In the event that the bot running the scripts ends up failing, the entrypoint can be called permissionless by passing the AMM address and epoch number through <https://better-call.dev/mainnet/KT1Xa92Nf6evFcEbxMXencfGPmS4urNyn5wd/interact/pull_amm_fee>

</details>

<details>

<summary>Observation 1: Race condition in entrypoint</summary>

The race-condition issue is duly considered, and it will be handled accordingly during deployment through a batch deployment.

</details>

<details>

<summary>Observation 2: `ve_swap` exchange temporarily not possible</summary>

This will happen for a very small duration (possibly just one block) when nearing the end of the migration period i.e 2 years from now. A warning label will be added to the website in the approaching days.

</details>

<details>

<summary>Observation 3: No two-step procedure to replace admin address</summary>

The `setAdministrator` will be called once to replace the initial `tz1` address-based admin with a multi-sig address. We shall take proper care to ensure that the admin transition is done correctly.&#x20;

</details>


# What has been the traction for Plenty?

{% hint style="info" %}
The Tezsure team that develops Plenty has received a grant from the Tezos Foundation to continue development.
{% endhint %}

## Plenty AMM

* First token-to-token AMM on Tezos launched August 25 2021.
* 250 million+ USD total volume.
* [Audited](https://github.com/Plenty-DeFi/security-audit) & no exploits.
* 4 million+ smart contract operations. For months the Plenty AMM's were responsible for around 10% of the total Tezos smart contract operations.

## Bridge

* Ethereum bridge launched April 26 2021.
* 100 million+ USD total volume.
* [Audited](https://github.com/bender-labs/docs/blob/main/Wrap%20Protocol%20-%20Whitepaper.pdf) & no exploits.
* Plenty integration reduces bridge speed from hours to less than 5 minutes.
* Avalanche, Polygon, & BSC bridge are ready to launch.

## Robocoins

* [Ctez.app](https://ctez.app) launched October 25 2021.
* Ctez, the first implementation of the checker framework, is widely used in the Tezos DeFi ecosystem.
* There is over 500k tez locked [in Ctez ovens](https://ctez.app/ovens).


# How to swap PLENTY & WRAP for PLY?

When you currently hold PLENTY and/or WRAP tokens, you can exchange them for PLY tokens at a date to be announced and at a predetermined rate. There will be different exchange rates for both WRAP and PLENTY.&#x20;

Users can claim voting rights of vesting tokens early by locking them in a vePLY NFT locker. When a user doesn't lock up PLY can be claimed over the course of two years.

<details>

<summary>A swap scenario</summary>

1. Alice holds 1000 PLENTY (would work similar for WRAP, with a different rate).
2. Alice swaps 1000 PLENTY for 500 PLY at an example rate of 0.5 PLY / PLENTY.
3. 250 PLENTY (50%) gets swapped for PLY.&#x20;
4. The other 50% of the allocated PLY can be unlocked in two ways:
   1. **Two year vesting:** The PLY is initially locked and will keep getting unlocked at a rate of say 0.1 PLY/second (this is once again a dummy value). So, 60 seconds after the exchange, you can claim 6 PLY tokens. This can be thought of as vesting on a per-second basis and will take 2 years.
   2. **Create a vePLY NFT:** By creating a vePLY NFT with the 250 PLY locked for two years the tokens that are vesting become liquid. When you make such a ‘future’ claim, your remaining 250 PLY is sent to a Escrow Locker and locked for a period of time selected by Alice, and you receive a transferable NFT (that can be sold on a secondary market) representing the ownership of the underlying locked PLY.

</details>


# What are the differences between the ve models of Curve & Plenty V2?

Plenty's new vote escrow (ve) system is a new decentralized finance (DeFi) protocol design first proposed by Andre Cronje, founder of [Yearn Finance](https://yearn.finance/). The model iterates on the vote escrow system (“ve”) from protocols such as [Curve](https://curve.fi/).

To explain what the differences are let’s first look at the protocol design of Curve.

## **Curve's “ve” model** <a href="#whatiscurve" id="whatiscurve"></a>

![](https://mettalex.com/wp-content/uploads/1_BuPs5y7sWXX36Z5ZLNgbrQ.png)

Vote escrow(ve) is a popular model in DeFi. It has proven to align the incentives of token holders and liquidity providers which has resulted in, among other things, market outperformance of projects that have incorporated “VeNomics”. Consider this chart by [Bankless](https://newsletter.banklesshq.com/p/wtf-are-vetokens?token=eyJ1c2VyX2lkIjo1NTY5ODg5LCJwb3N0X2lkIjo0ODg4OTc2MSwiXyI6IndtZ2xlIiwiaWF0IjoxNjQ4MDMxNzM3LCJleHAiOjE2NDgwMzUzMzcsImlzcyI6InB1Yi0xNjAxNSIsInN1YiI6InBvc3QtcmVhY3Rpb24ifQ.3xajof4u-ZNC3gREgRGfeZleJURR9rcoghCJg804oVc\&s=r):

![](https://mettalex.com/wp-content/uploads/https___bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com_public_images_70b2f393-902d-4bef-8667-305724431c50_1600x525.png)

The VeNomics model locks user funds (usually the project’s token, for example CRV) and grants voting rights and trading fees, and other benefits (the veTokens, for example veCRV). The locking period is usually between a week and four years. **The longer the lock, the higher the rewards and voting power.** [Curve](https://curve.fi/)‘s CRV tokens are governance tokens. Their function is to incentivize liquidity provision on Curve and to involve more users in the governance mechanism.

**Liquidity providers on Curve receive CRV tokens rewards in pools that have been selected by veCRV governance**. CRV has three main uses: voting, staking and boosting. These three operations require users to first lock (more precisely, “vote lock”) their CRV tokens to acquire veCRV. veCRV (i.e. vote escrowed CRV) are non-transferable tokens representing CRV locked for a period of time in Curve pools. The longer CRV is locked for, the more veCRV a user receives. veCRV tokens enable users to vote in governance, boost their CRV rewards (by multiplying their liquidity up to 2.5x times) and receive trading fees generated in Curve pools. veCRV holders are also eligible to receive airdrops.

Existing protocols in DeFi, have been competing to get voting power within Curve’s ecosystem because that enables them to **select the liquidity pools towards which CRV token emissions are directed**. This competition has been referred to as “[Curve Wars](https://shows.banklesshq.com/p/-the-curve-wars-curvemarketcap)“. By redirecting CRV token emissions towards a liquidity pool, liquidity providers (LPs) in that pool receive higher rewards. This attracts more LPs and the liquidity in those pools grows further.

Vote locking might be the biggest innovation introduced by Curve Finance. Because of this feature, vote weights and share of rewards are proportionally assigned in accordance with the locking period. Hence, **time locking a token increases the long-term commitment from the holders, reduces circulating supply, and removes potential downward price pressure**. Considering staking operations on Curve, it is noticeable that 50% of all trading fees are distributed to veCRV holders. This is to align incentives between liquidity providers and long-term token holders (i.e. veCRV holders). Every time a trade takes place on Curve Finance, 50% of the trading fee is collected by the users who have voted locked their CRV. Every week, fees are collected from the pools, converted, and distributed.

## Plenty's "ve" model

Plenty's ve design iterates on Curve's ve model. With a focus on addressing the issues related to liquidity mining, the liquidity bootstrapping mechanism employed by the majority of DeFi projects that led to the 2020/2021 DeFi boom (and bust). According to [Bankless](https://newsletter.banklesshq.com/p/wtf-are-vetokens?token=eyJ1c2VyX2lkIjo1NTY5ODg5LCJwb3N0X2lkIjo0ODg4OTc2MSwiXyI6IndtZ2xlIiwiaWF0IjoxNjQ4MDMxNzM3LCJleHAiOjE2NDgwMzUzMzcsImlzcyI6InB1Yi0xNjAxNSIsInN1YiI6InBvc3QtcmVhY3Rpb24ifQ.3xajof4u-ZNC3gREgRGfeZleJURR9rcoghCJg804oVc\&s=r):

> *As we know, much of DeFi’s growth over the past year and a half has been fueled by liquidity mining. While it’s often done at the product level, such as with a DEX, **many protocols have also incentivized liquidity for their native token through token emissions.** While it’s important for a token to have deep liquidity, these programs have often been taken to the extreme to attract yield farmers, resulting in inflation rates that would make Jay Powell blush, and leading to perpetual sell-pressure on the underlying token.*
>
> *It doesn’t take a PhD in economics to see why DeFi tokens would underperform: **They have a massively inflating supply with no demand to help offset this**.*

The goal of Plenty's ve model is to **better align emission of tokens to beneficial actions** and solve the problem with current AMM designs where liquidity provision is temporarily subsidized while **fees generation, the more sustainable incentives-generating mechanism, is not**.

Existing autonomous market makers (AMMs) are primarily designed for LPs and incentivize liquidity depositing into the protocols’ liquidity pools in order to receive a temporary emission of free tokens. Following [Cronje Medium articles](https://andrecronje.medium.com/), “current AMMs need a few modifications to make it easy for protocols to leverage them":

* Must be able to easily add token incentives to your liquidity.
* Must be able to easily bribe token emissions onto your liquidity.
* Must be able to accrue fees from liquidity you incentivize.
* Must be able to permissionlessly deploy your liquidity.”

The introduction of a new kind of ve model will be accompanied by a new AMM design. This new design will feature:

* Native support for swaps between closely correlated assets using Arthur's Flat Curve.
* Native support for swaps between uncorrelated assets.
* 0.10% fee for correlated swaps.
* 0.30% fee for uncorrelated swaps.
* Fees are paid out in base assets, not converted.
* Permissionless creation of liquidity pools for volatile pairs.
* Tezos community whitelist for flat curve liquidity pools.
* Tezos community whitelist for addition of Gauges & Bribes to a liquidity pool.
* Fees attract incentives instead of manual liquidity incentives.
* Native support for adding third party incentives.
* Ve locks accumulate all fees for pools they vote on.
* Ve locks increase holdings proportional to emission, no dilution.
* Ve locks are represented as an NFT to allow capital efficiency of locks.
* Minimal DAO.

Plenty's ve model ensures **the totality of fees will be paid to users locking in their assets in the protocol**, ensuring a higher level of structural sustainability over time.

The reasoning behind ve is to encourage users to lock up their governance tokens and **obtain vePLY NFTs with an aggressive inflation model** to ensure that locker’s rights are not diluted.

> *To encourage locking and voting, the system compensates users with PLY for the inflation risk brought by locking up, and gives locks the share of additional tokens issued in emission according to the corresponding total circulation share to ensure that the corresponding equity share of vePLY will not be diluted.*
>
> &#x20;
>
> *In this way, **users who lock their positions do not have to worry about inflation affecting the value of the tokens in their accounts**, **while those who do not lock their positions will bear the downside risk of token inflation.***

### Three economic principles of the ve model of Plenty that deviate from the standard ve rules from [Curve](https://resources.curve.fi/crv-token/understanding-crv) <a href="#id-479b" id="id-479b"></a>

{% hint style="info" %}
We have modified the math of the original first two principles of ve(3,3) to allow decent incentives for protocols that join later in the future.
{% endhint %}

**1. Weekly `emissions` are adjusted as a percentage of `circulating supply`**

The `real emission` that the users receive is related mathematically to a `base emission` as follows:

$$
Emission\_{real} = Emission\_{base} - (Emission\_{base} \* \frac {PLY\_{ lockedSupply}}  {PLY\_{totalSupply}} \* 0.5 )
$$

Meaning, if the weekly `base emission` is set at 2,000,000. Then, if 0% of `PLY` is locked for `vePLY`, the entire 2,000,000 is emitted. If 50% of `PLY` is locked for `vePLY`, the weekly emission would be 1,500,000. If 100% of `PLY` is locked for `vePLY`, the weekly emission would be 1,000,000.

**2. `ve` locks increase their holdings proportional to the weekly `emission`**

The locked PLY supply is inflated to prevent dilution as:

$$
PLY\_{newLockedSupply} = Emission\_{real} \* \frac {PLY\_{ lockedSupply}}  {PLY\_{totalSupply}} \* 0.5
$$

Assume a 1,500,000 `PLY`weekly `emission`, a `total_supply` of 20,000,000 `PLY`, and a `locked_supply` of 10,000,000 `PLY`. This would mean that 1,500,000 are minted and provided as incentives. Then, according to the math, total locked supply would be inflated by 3,75,000 `PLY`.

**3. `vePLY` is transferable as an NFT**

By tokenizing the lock position we allow a single address to own more than one lock. Lock balances are cumulative and each lock contributes to the overall voting power. This further allows locks to be traded on secondary markets, as well as to allow participants to borrow against their locks in future lending market places. By extending locks into Non Fungible Tokens, the capital inefficiency problem of `ve` assets is solved, as well as addresses concerns over future liquidity (should it ever be required).

## What are the differences between Curve's ve model & Plenty's new ve model?

{% embed url="<https://www.youtube.com/watch?v=x3vhNw2g-CU>" %}
The differences between Curve's ve model & Plenty's ve model
{% endembed %}

{% embed url="<https://mettalex.com/blog/ve33-the-future-of-tokenomics>" %}


# Glossary

## Tezos <a href="#id-3crv" id="id-3crv"></a>

Tezos is smart money, redefining what it means to hold and exchange value in a digitally connected world. A self-upgradable and energy-efficient Proof of Stake blockchain with a proven track record, Tezos seamlessly adopts tomorrow's innovations without network disruptions today. For more information, please visit [tezos.com](https://tezos.com/).

## PNLP <a href="#id-3crv" id="id-3crv"></a>

PNLP is the LP token for the new Plenty volatile and stable AMMs.

## Trading fee <a href="#admin-fee" id="admin-fee"></a>

The fees is 0.05% for both volatile and stable swap. When a liquidity pool has a gauge and bribe contract attached to it the trading fees don't accumulate in the liquidity pool. The Trading fees can be claimed on a weekly basis by `vePLY` NFT holders when they vote for a liquidity pool.&#x20;

Liquidity provision across liquidity pools would work in the standard way, with all providers receiving associated liquidity provider (LP) tokens. LP tokens can be staked in a corresponding gauge.&#x20;

All trading fees generated on plenty.network go to users that voted for the gauge attached to a given liquidity pool. This approach creates a powerful incentive whereby liquidity pools that generate the most fees will also attract the more voters and thus the more `PLY` emissions.

## Boosting <a href="#boosting-also-boosties" id="boosting-also-boosties"></a>

Attaching your `vePLY` NFT to your LP token stake to earn up to 2.5x more `PLY` on your provided liquidity.

{% content-ref url="/pages/4ZRxIELlbjfhwJJRXvKa" %}
[Understanding Boosting](/v2-docs/plenty-v2-introduction/understanding-boosting)
{% endcontent-ref %}

## PLY <a href="#crv" id="crv"></a>

Governance token of plenty.network.

## vePLY <a href="#vecrv" id="vecrv"></a>

Stands for vote escrow `PLY`. `VePLY` is an NFT that represents `PLY` locked for a specific duration for the purpose of voting, claiming fees, and claiming bribes.

{% content-ref url="/pages/ctsWesTb1gfKINzTdK7l" %}
[Understanding PLY & veNFTs](/v2-docs/plenty-v2-introduction/understanding-ply-and-venfts)
{% endcontent-ref %}

## DeFi (Decentralized Finance) <a href="#defi-decentralized-finance" id="defi-decentralized-finance"></a>

Decentralized finance (commonly referred to as DeFi) is an experimental form of finance that does not rely on financial intermediaries such as brokerages, exchanges, or banks, and instead utilizes blockchains, like for example Tezos.

## LP (Liquidity provider) <a href="#lp-liquidity-provider" id="lp-liquidity-provider"></a>

Users providing liquidity (funds/assets).

## LP tokens (Liquidity provider token) <a href="#lp-tokens-liquidity-provider-token" id="lp-tokens-liquidity-provider-token"></a>

When you deposit into a Plenty liquidity pool, you receive a counter party token which represents your share of the pool.

## Gauge

A gauge is a fancy crypto term for defining how much of the PLY rewards an LP can earn when providing liquidity to a Plenty liquidity pool. The higher the votes for a gauge, the more PLY can be earned by staking LP tokens in a gauge.

The gauge is an instrument to measure which liquidity pool is weighted most heavily with rewards. Voting for gauges occurs weekly.

## Epoch

A period of time between changes in the gauge weights. An epoch in the new ve system of Plenty is one week.


# Plenty V2 Launch partners

| Name             | Address                              | TzKT                                                               |
| ---------------- | ------------------------------------ | ------------------------------------------------------------------ |
| Objkt            | tz1TWrPXuG3T3rR9NR5EqsBegJMwiMcobjkt | <https://tzkt.io/tz1TWrPXuG3T3rR9NR5EqsBegJMwiMcobjkt/operations/> |
| Youves           | KT1UZcNDxTdkn33Xx5HRkqQoZedc3mEs11yV | <https://tzkt.io/KT1UZcNDxTdkn33Xx5HRkqQoZedc3mEs11yV/operations/> |
| Dogami           | tz1S8B8eyLPdEXmP2fbcj5CCTWqec87yTHYJ | <https://tzkt.io/tz1S8B8eyLPdEXmP2fbcj5CCTWqec87yTHYJ/operations/> |
| Upsorber         | tz1a1nqSAVrucurePA6iR5hHFXRjQEdG9RW5 | <https://tzkt.io/tz1a1nqSAVrucurePA6iR5hHFXRjQEdG9RW5/operations/> |
| Versum           | tz1QjLDuXQrFL2kQyT7NVUXKi1E3U998CmCg | <https://tzkt.io/tz1QjLDuXQrFL2kQyT7NVUXKi1E3U998CmCg/operations/> |
| Kord.fi          | tz1fRoTxJvttqz2hUaarg2zxLZJEm3JDHJnY | <https://tzkt.io/tz1fRoTxJvttqz2hUaarg2zxLZJEm3JDHJnY/operations/> |
| StakeNow         | tz1enT2GWv7U8jyPmmoVb228u8hvi6hJh5FF | <https://tzkt.io/tz1enT2GWv7U8jyPmmoVb228u8hvi6hJh5FF/operations/> |
| Angle Protocol   | tz1e6fBeQ6AMrCx1U9uUZJHRVtbryMtU5cDz | <https://tzkt.io/tz1e6fBeQ6AMrCx1U9uUZJHRVtbryMtU5cDz/operations/> |
| Crunchy          | tz1hD63wN8p9V8o5ARU7wA7RKAQvBAwkeTr7 | <https://tzkt.io/tz1hD63wN8p9V8o5ARU7wA7RKAQvBAwkeTr7/operations/> |
| Baking Bad       | tz1d5rtyuH8jxWRBjTXoPxYZjsVX3TnEfidg | <https://tzkt.io/tz1d5rtyuH8jxWRBjTXoPxYZjsVX3TnEfidg/operations/> |
| Tezos Domains    | tz1PRDuo3HBGgT5VvJ876uoTtFrTbevTjoj7 | <https://tzkt.io/tz1PRDuo3HBGgT5VvJ876uoTtFrTbevTjoj7/operations/> |
| Mavryk           | tz1QhxptJuMYyNAouTdjWsYFcPKknuL92YkJ | <https://tzkt.io/tz1QhxptJuMYyNAouTdjWsYFcPKknuL92YkJ/operations/> |
| QuipuSwap        | tz1bnyAsktMg9ikHRCDFES6p6c6f8QFy48tb | <https://tzkt.io/tz1bnyAsktMg9ikHRCDFES6p6c6f8QFy48tb/operations/> |
| TezCorps         | tz2GN2xssFhaXJBWSgnWzDQ4dPjcUzjJCEyf | <https://tzkt.io/tz2GN2xssFhaXJBWSgnWzDQ4dPjcUzjJCEyf/operations/> |
| Tezos Degen Club | tz1XHwLafDcdmnW9U1c7MJKF3x9Mi3uNMCeD | <https://tzkt.io/tz1XHwLafDcdmnW9U1c7MJKF3x9Mi3uNMCeD/operations/> |
| SalsaDAO         | tz1VFtNNr2gnZ1CvzYXYb72ndbz77AB5sKWv | <https://tzkt.io/tz1VFtNNr2gnZ1CvzYXYb72ndbz77AB5sKWv/operations/> |
| StableTech       | tz1PcvRQWnX7T4Z5fzAcUdfVPAvsrtYGkd2Q | <https://tzkt.io/tz1PcvRQWnX7T4Z5fzAcUdfVPAvsrtYGkd2Q/operations/> |
| Everstake        | tz2Jq39BDqLcsSBGpB3PBnmoR84bJZUkCCEu | <https://tzkt.io/tz2Jq39BDqLcsSBGpB3PBnmoR84bJZUkCCEu/operations/> |
| baking.finance   | tz1S6H83gugqK4dR5Had9jWR9M1ZdAAVgU5e | <https://tzkt.io/tz1S6H83gugqK4dR5Had9jWR9M1ZdAAVgU5e/operations/> |


