# Blade Pool LP withdraw process

### unlockDeposit() → returns (uint256 poolTokens)

Unlocks LP tokens after the vesting period ends.

**Process Overview:**

* Verify if the caller has a vested deposit.
* Ensure the lock period has ended.
* Transfer the LP tokens to the caller.
* Remove the vesting record.

{% hint style="info" %}
Does not withdraw assets. Only gives access to LP tokens. LP tokens must have been created using a vesting deposit.
{% endhint %}

{% hint style="danger" %}
**Revert Conditions:**&#x20;

No active vesting deposit exists.

Vesting period has not passed.
{% endhint %}

### burnToWithdraw(uint256 amount)

Burns the caller’s LP tokens and withdraws their proportional share of all pool assets.

**Process Overview:**&#x20;

* Calculates the fraction of the pool being burned.
* Burns LP tokens from the caller.
* Transfers a proportional amount of each asset in the pool.
* Emits a Withdrawn event.

{% hint style="info" %}
No vesting needed. Useful for instant withdrawals. Only works if the caller already holds LP tokens.
{% endhint %}

{% hint style="danger" %}
**Revert conditions:**&#x20;

Caller doesn’t have enough LP tokens.&#x20;

Asset transfer fails.
{% endhint %}


---

# 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.clipper.exchange/disclaimers-and-technical/integrating-with-clipper-rfq/guides/blade-pool-lp-withdraw-process.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.
