> For the complete documentation index, see [llms.txt](https://paradox-2.gitbook.io/v33x/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://paradox-2.gitbook.io/v33x/developers/plugins/base-velocimeter-gauges.md).

# Base: Velocimeter Gauges

This plugin factory is for Velocimeter gauges. The underlying token is a Velocimeter LP, which gets deposited into the plugin. The plugin deposits the LP into an Velocimeter gauge to earn oBVM and possibly other tokens. The gauge rewards are harvested and sent to its bribe contract. The reward tokens from the gauge for this plugin are updatable because Velocimeter tends to add additionally token rewards in their gauges, so this plugin must be flexible and updateable by its owner to benefit from these additional rewards.

This plugin factory is ownable and only the owner can update gauge rewards for plugins.

#### Plugin Factory: contracts/plugins/base/VelociGaugePluginFactory.sol

{% hint style="info" %}
**IMPORTANT NOTICE**

These plugins are not audited. It is recommended to get them audited if you plan to use them in production.
{% endhint %}

### Plugin Description

The factory can deploy plugins for any Velocimeter LP with a gauge. Use the Factory to create the plugins with the following parameters.

#### **\_lpToken**

Address of the Velocimeter LP token with a gauge.\
Example. Address the BVM/WETH LP:&#x20;

```javascript
const LP_ADDRESS = '0x53713F956A4DA3F08B55A390B20657eDF9E0897B';    // LP Address
```

#### \_gaugeRewards

Array of addresses of the Velocimeter Gauge reward tokens.\
Velocimeter tends to add additional gauge rewards so this must be a flexible parameter. Therefore, it is updateable by the owner of the plugin factory.\
Also keep in mind that Velocimeter distributes BVM from gauges as BVM. It only gets converted to oBVM on the claim. So make sure to use BVM here, not oBVM. \
If a new token is added, it must also be added as a reward token in the bribe contract by the team or governance, otherwise it cannot be distributed as a voting reward.\
Example. The symbol for the BVM/WETH LP could be:

```javascript
const GAUGE_REWARDS = [
'0xd386a121991E51Eab5e3433Bf5B1cF4C8884b47a',   // BVM
'0x4200000000000000000000000000000000000006'    // WETH
]
```

{% hint style="info" %}
**IMPORTANT NOTICE**

A reward token should never be the same as underlying, it won't distribute it.
{% endhint %}

#### \_symbol

The desired symbol for this plugin.\
Example. The symbol for the AERO/WETH LP could be:

<pre class="language-javascript"><code class="lang-javascript"><strong>const LP_SYMBOL = 'vLP-BVM/WETH Gauge';   // Desired symbol for Gauge plugin
</strong></code></pre>

### Plugin Logic

#### depositFor

* User deposits LP in plugin
* Plugin deposits LP in Velocimeter gauge

#### withdrawTo

* Plugin withdraws LP from Velocimeter gauge
* Plugin withdraws LP to user

#### claimAndDistribute

* LP deposited in Velocimeter Gauge earns oBVM and other reward tokens
* oBVM and other rewards claimed from Velocimeter gauge
* oBVM and other rewards sent to bribe contract for voters

***

### Refer to the Test Plugins deployment instructions for deploying this plugin factory

{% content-ref url="/pages/YTOt86XPZqYQ4BE9HABr" %}
[Test Plugins](/v33x/developers/plugins/test-plugins.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://paradox-2.gitbook.io/v33x/developers/plugins/base-velocimeter-gauges.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.
