---
description: A deeper guide on Voting, Voting Points (VP), and VP Generation
---

# Voting Mechanism

Botto utilizes a voting mechanism to train the algorithm that creates its images. Every week, 350 new images (called fragments) are presented to the community. Individuals from the community independently vote on the works, indicating their conviction that a work qualifies as art and should become a permanent part of Botto's oeuvre.

Votes take place on the[ Botto App](https://botto.com/app/vote). Non $BOTTO holders can log into the app and vote with 100 VP, but to reap rewards benefits from voting, you must hold and [stake](../depositing-botto) at least [$BOTTO](../quickstart/getting-botto-tokens).

### Voting Points (VP)

Voting Points (VP) are used by community participants to vote on their favorite fragments. VP are comparable to an off-chain, non-transferrable token connected to your wallet. VP are generated by staking $BOTTO tokens, providing BOTTO-ETH liquidity on Uniswap and staking the LP tokens, holding an [Access Pass or Pipe](../access-passes), or simply by connecting (logging in) to the [Botto App](https://botto.com/app/vote).

### VP Generation

{% hint style="info" %}
In June 2024, [BIP-51](https://snapshot.org/#/botto.eth/proposal/0x0ab8910adbfe9fbcddb03bae6b4e35a3c536f5552ab37025456e02ad0009a1a0) was passed by the DAO ending the ability to accumulate unused VP generated over time.

With [BIP-54](https://snapshot.org/#/botto.eth/proposal/0xf0969521da71ae0485b3a883a3801938a0220d2cd368be23db0d0d1d7c860fa3), a baseline amount of 100 VP was introduced to generate for all new or existing accounts that logged into the app in a given week (round).
{% endhint %}

VP generate at the beginning of a round as long as you have your $BOTTO or LP tokens staked, or hold an Access Pass or Pipe. Any available VP amount at the end of a round resets, and the new amount is generated for the following round.

Any $BOTTO staked after a round begins generates a prorated amount of VP for the remaining time in the round. Access Passes, Pipes and other VP generating collectibles do not generate VP mid-round.

Unstaking before the round ends disqualifies the user from any undistributed [Active Rewards](../../rewards#active-rewards), removes their votes of that given round, and removes remaining VP of that given round. They will still be able to claim rewards that were previously credited to their wallet but have not yet been claimed. This is an anti-sybil measure.

The generation formula for $BOTTO staking VP is as follows:

$$
VP_{\text{per round}} = BOTTO_{\text{tokensStaked}} \times \left(\frac{\text{\%}_{\text{ofRoundRemaining}}}{100}\right)
$$

​To reduce volatility in VP regeneration **for staked liquidity providers,** **a revised regeneration formula for VP has been implemented with** [**BIP-53**](https://snapshot.org/#/botto.eth/proposal/0x40965624ebc02a830c32aec3a4c9fc9925bc2d4c542d1c3c75f3e76612a10cb8):

$$
VP_{\text{perRound}} = LP_{\text{tokensStaked}} \times 200 \times \left(\frac{\%_{\text{ofRoundRemaining}}}{100}\right)
$$

Straightforwardly, this means that staked liquidity providers generate a fixed amount of 200 VP per round per LP token staked.

{% hint style="info" %}
For LP tokens, **you used to** earn VP equal to the equivalent of the entire value of the LP position in $BOTTO. So for the formula above, the `totalStaked`was:



$$totalStaked_{LPs}={LP Tokens}*{LP price in BOTTO}$$\


This formula has been deprecated due to unpredictable behavior in VP generation due to volatile price swings. Update 07/03/2023 (DD/MM/YYYY).
{% endhint %}

VP generation for **Access Passes or Pipes** is detailed on [this page](../access-passes).

### Voting Mechanism

#### Voting Page

Botto's voting page displays two art fragments. The voter is required to choose which of the two art fragments is their preferred one. They can also choose to skip if they really don’t like either one, however even finding a preferable element or characteristic can be good for training.&#x20;

Pieces are given a score for the proportion of how often they are picked:

$$
score_{views<10}=100
$$

$$
score_{views>10}=(uniqueVotes / views ) * 100
$$

80% of the time, the voting mechanism will show a fragment with a top score

20% of the time it will show a low score to ensure they still have a  chance to be seen and maintain variety

The score of 100 if seen less than 10 times ensures all pieces have a fair chance of being seen and selected before getting a lower score. It also means that the best time to see all the new pieces, and the greatest diversity, is at the beginning of the voting round.

{% hint style="info" %}
If a fragment is not viewed 10 times at the end of the round, it will have its score calculated regardless before the weekly cull is processed.
{% endhint %}

#### **Voting Pool Fragments Cull**

At the end of each voting round, 349 fragments with the lowest VP in the Period are removed from the voting pool. With the weekly mint removing another fragment, the resulting voting pool size is maintained at 1,050 fragments.

The cull mechanism aims to reduce the size of the fragment pool in order to improve the voting experience and engagement.&#x20;

{% hint style="info" %}
[BIP-17](../../details/governance) Changed the cull from Raw (True) Score to VP in December 2022
{% endhint %}

Continue to the Leaderboard page to learn about boosting your favorite fragments and viewing top contributors.
