# Locking APW for veAPW

## What is veAPW

As mentionned in [Spectra General Documentation](https://docs.spectra.finance/tokenomics/veapw-token), Vote-escrowed APW (veAPW) is based on Curve's Vote-Escrowed CRV (veCRV) and serves as a vault where users can lock their APW for up to 2 years in order to gain voting power and participate in Spectra DAO governance.

#### veAPW gives users access to:

* Proposal voting power (participation in the protocol decisions - 1 veAPW = 104 votes)
* Gauge weight power (liquidity mining redirection)
* Yield (70% of the protool fees + a small inflation until june 2024)
* Boosting power (boost your rewards up to 2.5x)

#### The longer APW is locked, the more voting power the user receives:

* 1 APW locked for 1 week = 0.009615 veAPW = 1 vote
* 1 APW locked for 6 months = 0.25 veAPW = 26 votes
* 1 APW locked for 1 year = 0.5 veAPW = 52 votes
* 1 APW locked for 2 years = 1 veAPW = 104 votes

{% hint style="warning" %}
The weight associated with the veAPW gradually decreases as the escrowed tokens approach their lock expiry.
{% endhint %}

{% hint style="info" %}
At the lock expiry, 1 veAPW is redeemable for 1 APW.
{% endhint %}

## How to create a veAPW lock

1. Ensure that the user has a sufficient balance of APW tokens for the transaction.
2. Call veAPW's `create_lock()` function, specifying the desired amount of APW to lock, as well as the lock duration.

## How to increase a veAPW lock amount

1. Ensure that the user has an existing, non-expired veAPW lock.
2. Call veAPW's `increase_amount()` function, specifying the desired amount of APW to add to the existing lock.

{% hint style="info" %}
For an existing, non-expired lock, the lock amount can also be increased on behalf of its owner, using `deposit_for()`.
{% endhint %}

## How to increase a veAPW unlock time

1. Ensure that the user has an existing, non-expired veAPW lock.
2. Call veAPW's `increase_unlock_time()` function, specifying the new lock expiry.

{% hint style="warning" %}
The new lock expiration date must be later than the current one, and the overall lock duration cannot exceed 2 years.
{% endhint %}

## How to withdraw APW from an expired veAPW lock

1. Ensure that the user has an existing, expired veAPW lock.
2. Call veAPW's `withdraw()` function, specifying the new lock expiry.

## How to claim locking rewards

* Call `FeeDistributor`'s [`claim()`](https://dev.spectra.finance/technical-reference/contract-functions/feedistributor#claim)function.

{% hint style="info" %}
Multiple claims can be performed in a single call with [`claim_many()`](https://dev.spectra.finance/technical-reference/contract-functions/feedistributor#claim_many)`.`
{% endhint %}
