# Locker & Beneficiary

Liquidity locking is handled entirely through Aerodrome's native Locker contracts. No third-party lock services.

How Locking Works

When the Launcher creates liquidity, the resulting LP position (ERC-20 token for vAMM, NFT for CL) is sent directly to Aerodrome's Locker contract with three parameters:

| Parameter         | Description                                                                |
| ----------------- | -------------------------------------------------------------------------- |
| **Lock duration** | How long the LP is locked. Permanent locks use max.                        |
| **Beneficiary**   | The address authorized to claim fees and rewards from the locked position. |
| **Fee share**     | The platform fee split (15% to Reflect treasury, 85% to beneficiary).      |

The beneficiary cannot withdraw the LP. They can only claim the fees and rewards it generates.

V2 Locker vs CL Locker

| Feature               | V2 Locker                                            | CL Locker                                            |
| --------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| **Launcher contract** | `..`                                                 | `..`                                                 |
| **LP type locked**    | ERC-20 LP token                                      | NFT position (Non-Fungible Position Manager)         |
| **Gauge staking**     | `stake()` / `unstake()` on the Locker                | Managed through the NFT position                     |
| **Fee claiming**      | `claimFees(recipient)` returns Token0 + Token1       | `claimFees(recipient)` returns Token0 + Token1       |
| **Reward claiming**   | `claimRewards(recipient)` returns AERO (when staked) | `claimRewards(recipient)` returns AERO (when staked) |

Beneficiary System

The beneficiary address is the only wallet authorized to:

* **Claim trading fees** - accumulated swap fees in both pool tokens.
* **Claim AERO rewards** - emissions directed by veAERO voters (requires gauge staking).
* **Stake / Unstake** - move the locked LP into or out of an Aerodrome gauge.
* **Transfer beneficiary** - transfer the beneficiary role to another address.

The beneficiary is set at launch time and can be transferred later via `transferBeneficiary()` on the Locker contract.

Claiming Fees

Fees must be claimed from the unstaked position. If the LP is currently staked in a gauge:

1. Unstake from the gauge.
2. Claim fees (`claimFees` returns Token0 + Token1 amounts).
3. Re-stake into the gauge to continue earning AERO emissions.

AERO rewards can only be claimed while the position is **staked** in a gauge, and so graduate to a gauge first.&#x20;


---

# Agent Instructions: 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://docs.reflect.now/launcher/locker-and-beneficiary.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.
