> 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/buying-and-selling.md).

# Buying and Selling

Before graduation, all trading for a Hello.Fun launch takes place through its bonding curve.

Users can buy tokens using the launch's pairing asset and sell tokens back through the same market.

The bonding curve calculates each trade according to its current state.

### Buying a Token

To buy a token during the bonding curve stage, the user provides the pairing asset.

For current Hello.Fun launches, that pairing asset is ETH.

The bonding curve calculates the number of tokens available for the trade and returns those tokens to the buyer.

```mermaid
flowchart LR
    A["Buyer"] --> B["ETH"]
    B --> C["Bonding Curve"]
    C --> D["Tokens"]
    D --> A
```

As tokens are purchased, the state of the bonding curve changes.

This means later trades can execute at a different price.

### Selling a Token

Users can also sell tokens during the bonding curve stage.

The seller provides tokens to the bonding curve.

The curve calculates the amount of the pairing asset returned according to its current state.

```mermaid
flowchart LR
    A["Seller"] --> B["Tokens"]
    B --> C["Bonding Curve"]
    C --> D["ETH"]
    D --> A
```

Selling through the bonding curve remains available until the launch is ready to graduate.

### Quotes

Before a trade is submitted, Hello.Fun calculates a quote using the current bonding curve state.

The quote gives the user an expected result for the transaction.

Because market conditions can change between the quote and transaction execution, the final trade is protected by a minimum output amount.

### Slippage Protection

Slippage protection allows the user to define how much movement they are willing to accept between the quoted trade and the executed trade.

When the transaction is submitted, a minimum acceptable output is included.

If the trade cannot satisfy that minimum output, the transaction reverts instead of completing at a result outside the user's selected tolerance.

```mermaid
flowchart TD
    A["Trade Quote"] --> B["User Sets Slippage"]
    B --> C["Minimum Output Calculated"]
    C --> D["Transaction Submitted"]
    D --> E{"Minimum Output Met?"}
    E -->|Yes| F["Trade Executes"]
    E -->|No| G["Transaction Reverts"]
```

### Price Impact

A trade can move the bonding curve price.

Price impact represents the effect that a particular trade has on the market price.

Larger trades can have a greater effect on the curve than smaller trades.

Hello.Fun displays price impact so users can review the expected effect before submitting a transaction.

### Trading Fees

Bonding curve trades can include two Hello.Fun fees.

#### Protocol Fee

The protocol fee during bonding curve trading is 1% per trade.

#### Creator Fee

A launch can also have a creator fee.

The creator selects this fee when launching the token, within the limits supported by Hello.Fun.

The selected creator fee is fixed for that launch.

Both fees are applied through the trading system.

### Fee Flow

```mermaid
flowchart TD
    A["Bonding Curve Trade"] --> B["Protocol Fee"]
    A --> C["Creator Fee"]
    B --> D["Protocol Fee Balance"]
    C --> E["Creator Fee Balance"]
```

Creator fees accrue for the creator and can be claimed through the fee system.

### ETH Purchases

For current ETH paired launches, users do not need to approve ETH before buying.

ETH is the native currency of Robinhood Chain and can be provided directly with the transaction.

The user still signs the transaction through their own wallet.

### User Signed Trading

Hello.Fun does not execute trades from a user's wallet without authorization.

Every state changing trade is submitted through the user's connected wallet and requires the user to sign the transaction.

```mermaid
flowchart LR
    A["Choose Trade"] --> B["Review Quote"]
    B --> C["Sign With Wallet"]
    C --> D["Transaction Submitted"]
    D --> E["Onchain Execution"]
```

The user's wallet remains in control throughout the process.

### When Bonding Curve Trading Ends

Bonding curve trading continues until the launch is ready to graduate.

Once graduation completes, normal trading moves to the token's Uniswap v4 market.

```mermaid
flowchart LR
    A["Bonding Curve Trading"] --> B["Graduation"]
    B --> C["Uniswap v4 Trading"]
```

Users are still buying and selling the same token against the same pairing asset.

What changes is the market mechanism used to execute those trades.

### Before You Trade

Before confirming a transaction, review:

1. The amount being spent or sold
2. The expected output
3. Slippage
4. Price impact
5. Applicable trading fees
6. Network gas

The bonding curve is an active market.

Prices and expected outputs can change as other transactions occur.

Review the trade, sign through your wallet and let the transaction execute onchain.


---

# 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/buying-and-selling.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.
