> For the complete documentation index, see [llms.txt](https://hello-fun-1.gitbook.io/hello.fun-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hello-fun-1.gitbook.io/hello.fun-docs/permanent-liquidity-locking.md).

# Permanent Liquidity Locking

When a Hello.Fun launch graduates, the liquidity position created for its Uniswap v4 market is transferred to the Hello.Fun Liquidity Locker.

The liquidity position remains permanently locked.

This means the liquidity principal cannot later be withdrawn by the creator or removed through the normal operation of the platform.

### How Liquidity Becomes Locked

Graduation moves the launch from the bonding curve into its Uniswap v4 market.

As part of this process, a liquidity position is created and transferred to the Liquidity Locker.

```mermaid
flowchart LR
    A[Graduation] --> B[Uniswap v4 Pool]
    B --> C[Liquidity Position]
    C --> D[Liquidity Locker]
    D --> E[Permanent Liquidity]
```

Once the liquidity position enters the locker, it remains there.

### The Creator Cannot Withdraw the Liquidity

The creator does not receive control of the graduated liquidity position.

```mermaid
flowchart LR
    A[Graduated Liquidity] --> B[Liquidity Locker]
    B --> C[Market Liquidity Remains]
    C --> D[No Creator Withdrawal Path]
```

The Liquidity Locker does not provide the creator with a mechanism to withdraw the liquidity principal.

### Liquidity Principal Cannot Be Removed

The liquidity position continues to support the graduated market while remaining inside the Liquidity Locker.

```mermaid
flowchart LR
    A[Liquidity Position Held by Locker] --> B[Supports Market]
    B --> C[Principal Cannot Be Removed]
```

The locked liquidity position is not transferred back to the creator after graduation.

### Liquidity Is Locked, Not Burned

Hello.Fun does not represent graduated liquidity as being burned to a dead address.

Instead, the liquidity position is held by a dedicated Liquidity Locker designed without a withdrawal, unlock, transfer, liquidity decrease, or position burn path.

This distinction matters because some external liquidity scanners may not recognize a custom liquidity locker in the same way they recognize other locking methods.

The liquidity remains held by the locker even if an external service does not automatically classify it as locked.

### Permanent Market Liquidity

Permanent liquidity locking is part of the graduation process.

The lifecycle is:

```mermaid
flowchart LR
    A[Bonding Curve] --> B[Graduation]
    B --> C[Uniswap v4 Pool]
    C --> D[Liquidity Position]
    D --> E[Liquidity Locker]
    E --> F[Permanent Liquidity]
```

The graduated liquidity position remains locked while the Uniswap v4 market continues operating.

### What Permanent Liquidity Locking Means

For a graduated Hello.Fun market:

| Property                                      | Status |
| --------------------------------------------- | ------ |
| Liquidity position created at graduation      | Yes    |
| Liquidity transferred to the Liquidity Locker | Yes    |
| Creator can withdraw liquidity principal      | No     |
| Liquidity can be unlocked later               | No     |
| Liquidity position can be transferred out     | No     |
| Liquidity principal can be removed            | No     |
| Market can continue trading                   | Yes    |

Permanent liquidity locking ensures that the liquidity created through the Hello.Fun graduation process remains committed to the graduated market.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hello-fun-1.gitbook.io/hello.fun-docs/permanent-liquidity-locking.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
