> 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/bonding-curve/what-happens-at-graduation.md).

# What Happens at Graduation

Graduation is an onchain transition from the bonding curve market to a Uniswap v4 liquidity market.

For current ETH paired launches, the launch becomes ready to graduate when it reaches the **4.2 ETH graduation threshold**.

Several things happen during this process.

The bonding curve reserves are moved, the new pool is established, liquidity is created, the liquidity position is permanently locked and any residual token supply is secured in the residual vault.

### The Graduation Flow

The complete transition can be viewed as one connected process.

```mermaid
flowchart TD
    A["4.2 ETH Graduation Threshold Reached"] --> B["Bonding Curve Reserves Moved"]
    B --> C["Uniswap v4 Pool Created"]
    C --> D["Pool Liquidity Seeded"]
    D --> E["Liquidity Position Created"]
    E --> F["Liquidity Position Locked"]
    D --> G["Residual Supply Identified"]
    G --> H["Residual Vault"]
    F --> I["Uniswap v4 Trading"]
```

The 4.2 ETH threshold applies to the current ETH pair configuration.

Other supported pairing assets can use their own configured graduation economics as they are introduced.

### 1. The Bonding Curve Completes

Before graduation, the bonding curve is responsible for the token's market.

Users buy and sell through the curve and market activity builds reserves.

For current ETH paired launches, reaching the **4.2 ETH graduation threshold** makes the launch ready to move into its next market stage.

### 2. Reserves Move Into Graduation

Graduation begins by moving the completed launch reserves out of the bonding curve and into the graduation process.

These are the reserves created through market activity during the bonding curve stage.

The creator does not need to separately provide the liquidity required for graduation.

```mermaid
flowchart LR
    A["Bonding Curve"] --> B["Accumulated Reserves"]
    B --> C["Graduation Process"]
```

### 3. The Uniswap v4 Pool Is Created

The graduation process establishes a Uniswap v4 pool for the token and its pairing asset.

The pair used during the bonding curve remains the pair used by the graduated market.

For an ETH paired launch:

```mermaid
flowchart LR
    A["Token + ETH Bonding Curve"] --> B["Graduation"]
    B --> C["Token + ETH Uniswap v4 Pool"]
```

Graduation changes the market mechanism rather than changing the pair.

### 4. The Pool Is Seeded

The accumulated reserves and the appropriate token supply are used to seed the Uniswap v4 market.

The opening market state is derived from the final state of the bonding curve.

This connects the market before graduation with the market that exists afterward.

### 5. Residual Supply Is Separated

Not every remaining token necessarily enters the graduated liquidity position.

Only the amount that can enter the pool while preserving the intended opening market state is used.

Any remaining supply that cannot be added without distorting that opening state becomes residual supply.

```mermaid
flowchart TD
    A["Remaining Token Supply"] --> B{"Used Without Distorting Opening State?"}
    B -->|Yes| C["Uniswap v4 Liquidity"]
    B -->|No| D["Residual Supply"]
    D --> E["Residual Vault"]
```

### 6. Residual Supply Enters the Vault

Residual supply is transferred into the Hello.Fun residual vault.

The residual vault does not provide a withdrawal function.

This prevents residual tokens from later being withdrawn and introduced into the market through the vault.

### 7. The Liquidity Position Is Created

The graduated Uniswap v4 liquidity is created as a full range position.

This position represents the liquidity established through the Hello.Fun graduation process.

The position is not handed to the token creator.

### 8. Liquidity Is Permanently Locked

The liquidity position is transferred directly into the Hello.Fun liquidity locker.

The locker is designed to permanently hold the liquidity principal.

It does not provide functions for:

* Withdrawing the liquidity principal
* Unlocking the position
* Transferring the position
* Decreasing the locked liquidity
* Removing the position

```mermaid
flowchart LR
    A["Graduated Liquidity Position"] --> B["Liquidity Locker"]
    B --> C["Permanent Liquidity"]
```

The lock is enforced by the structure of the locker contract.

### 9. Trading Moves to Uniswap v4

Once graduation is complete, the bonding curve is no longer the normal trading market.

Trading continues through the newly established Uniswap v4 pool.

```mermaid
flowchart LR
    A["Before Graduation"] --> B["Bonding Curve Trading"]
    B --> C["4.2 ETH Threshold"]
    C --> D["Graduation"]
    D --> E["Uniswap v4 Trading"]
```

The token and pairing asset remain the same.

The execution market changes.

### If Graduation Does Not Complete Automatically

A launch can reach the graduation state even if the automatic graduation attempt does not successfully complete the full transition.

In that situation, graduation remains available for completion.

Another user can complete the graduation process through the protocol.

This prevents the transition from relying on one specific wallet.

```mermaid
flowchart TD
    A["Graduation Ready"] --> B["Automatic Attempt"]
    B --> C{"Successful?"}
    C -->|Yes| D["Graduation Complete"]
    C -->|No| E["Completion Remains Available"]
    E --> F["Another User Completes Process"]
    F --> D
```

### From Reserves to Permanent Liquidity

Graduation turns the market activity built during the bonding curve stage into the token's continuing liquidity market.

**4.2 ETH Threshold → Graduation → Uniswap v4 Pool → Liquidity Position → Permanent Lock → Continued Trading**

For current ETH paired launches, the **4.2 ETH threshold** determines when the launch becomes ready to graduate.

The creator does not need to create the pool manually.

The creator does not receive the graduated liquidity position.

The liquidity principal cannot later be withdrawn from the locker.

The launch moves from its starting market into its continuing market as part of the Hello.Fun lifecycle.


---

# 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/bonding-curve/what-happens-at-graduation.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.
