# introduction

**basefun** is a memecoin launchpad on the Base L2. What makes it different from every other launchpad is that **each coin launched on basefun is paired one-to-one with a real Avantis perpetual position.**

That means a token's price moves from **two** sources at the same time:

1. **Bonding curve activity** — buys push the price up, sells pull it down, just like alt.fun or pump.fun.
2. **The underlying perp's PnL** — the leveraged position on BTC, ETH, SOL, etc. swings the token's net asset value even when nobody is trading on the curve.

## The lifecycle

```
   Create  →  Trade on curve  →  Curve graduates  →  Trade on Uni V2 forever
   $1 fee     1% swap fee         $10k reserve        1% on every swap (FOT)
```

1. **Creator launches**: pays $1 USDC + a mandatory ≥ $20 initial buy.
2. **Anyone trades**: 1% per swap, split 0.5% protocol / 0.5% creator. Both transferred inline in the same transaction.
3. **Curve graduates at $10k USDC reserve**: $9.7k + 242.5M tokens seed a permanent Uniswap V2 LP (burned at `0xdead`), $300 goes to the treasury. Resulting Uni V2 market cap lands at exactly **$40k**.
4. **Post-graduation**: all swaps go through Uni V2. The token contract itself enforces 1% fee on every pair-touching transfer — the keeper sweeps that to USDC and dispatches 50/50 to treasury/creator.

## Two important caveats

basefun is honest about the trade-offs vs. a non-perp launchpad:

* **Liquidation risk**. Because the underlying is a real Avantis perp, it can be liquidated at 80% health. If that happens, the bonding curve's reserve collapses with it. The UI shows this clearly before each buy.
* **Execution fees**. Each trade costs roughly $0.0001 ETH for the Avantis open/close, plus Avantis fees and the 1% swap. Small dust trades are economically inefficient.

If you've read this far you should now jump to [Why perp-backed coins](broken://pages/8c3424b44419b0f04347f1c6f0cf01cd0b90699c) for the motivation, or [Launching a token](broken://pages/063fb3c0bc7b6aff20ab183327f11c7817d179c8) if you want to ship.


---

# 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://basefun.gitbook.io/basefun-docs/introduction.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.
