> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kas.fun/llms.txt
> Use this file to discover all available pages before exploring further.

# Graduation

> What happens when a token reaches its fundraising goal

## What is Graduation?

When a token's bonding curve pool accumulates enough KAS to reach the **graduation threshold**, the token "graduates" — it transitions from the internal bonding curve market to a DEX (Krokoswap).

## Graduation Flow

<Steps>
  <Step title="Threshold Reached">
    The `kasReserves` in the pool reaches `graduationThreshold`. The token becomes **fulfilled**.

    ```javascript theme={null}
    const info = await factory.getTokenInfo(token);
    // info.fulfilled === true, info.graduated === false
    ```
  </Step>

  <Step title="Liquidity Migration">
    The platform automatically migrates liquidity from the bonding curve pool to Krokoswap DEX. No user action needed.
  </Step>

  <Step title="Graduated">
    The token is now live on DEX. The `graduated` flag is set to `true`.

    ```javascript theme={null}
    const info = await factory.getTokenInfo(token);
    // info.fulfilled === true, info.graduated === true
    ```
  </Step>

  <Step title="CTO Available">
    Community Governance becomes available. Token holders can elect a Council and participate in proposals.
  </Step>
</Steps>

## Checking Progress

```javascript theme={null}
// Progress: 0-10000 (representing 0.00% - 100.00%)
const progress = await factory.getBondingCurveProgress(tokenAddress);
const percent = Number(progress) / 100;
console.log(`${percent}% to graduation`);

// Or check reserves directly
const info = await factory.getTokenInfo(tokenAddress);
const params = await factory.getTokenParamVersion(tokenAddress);
const remaining = params.graduationThreshold - info.kasReserves;
console.log(`${ethers.formatEther(remaining)} KAS remaining`);
```

## After Graduation

| Action       | Bonding Curve | DEX (Krokoswap) |
| ------------ | ------------- | --------------- |
| Buy          | Not available | Available       |
| Sell         | Not available | Available       |
| Price source | N/A           | Krokoswap pool  |

<Warning>
  Calling `buy()` or `sell()` on MemeFactory for a graduated token will **revert**.
</Warning>

## Community Governance (CTO)

After graduation, the token unlocks Community Take Over (CTO) features:

* **Council Election** — token holders vote to elect council members
* **Proposals** — council members create proposals
* **Community Voting** — token holders vote on proposals by locking tokens
* **Tax Configuration** — community can set token transaction tax via proposals

See the [Community Governance](/governance/overview) section for details.
