# Overview

SC Bonding Curve is the token issuance component of the Something Cool platform. It implements a bonding curve mechanism.

## What is a Bonding Curve?

A bonding curve is a mathematical curve that defines the relationship between a token's price and its supply. As more tokens are purchased, the price increases according to a predefined formula. Similarly, as tokens are sold back, the price decreases.

## Bonding Curve Technical Details

SC Bonding Curve uses a constant product formula for its bonding curve, but with an important addition: **configurable virtual liquidity**.

### Constant Product Formula

The core formula that defines the relationship between token supply and price is:

```
k = (virtual_sol + real_sol) * (virtual_token + real_token)
```

Where:

* `virtual_sol` and `virtual_token` are the configured virtual liquidity amounts
* `real_sol` and `real_token` are the actual SOL and token in the bonding curve
* `k` is the constant product that is maintained throughout trades

### Token Creation Process

When creating a token on SC Bonding Curve, creators can specify:

* Token name, symbol, and metadata
* Token type (zero fee or community contribution)
* Fee parameters for community contribution tokens
* Initial distribution of fees (for burning, holders, and LP providers)

### Trading Mechanics

Users can buy and sell tokens on the bonding curve:

* **Buying**: Users send SOL and receive tokens at the current curve price
* **Selling**: Users send tokens and receive SOL at the current curve price

SC Bonding Curve automatically manages the price adjustments according to the bonding curve formula.

### Migration Preparation

SC Bonding Curve automatically prepares tokens for migration to the CoolDEX when:

* The token supply available in the curve falls below a predefined threshold (POOL\_MIGRATION\_RESERVES)
* This marks the token as "finalized" and ready for migration

This two-step approach (finalization followed by migration) ensures a smooth transition from the bonding curve to the DEX.


---

# 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://docs.something.cool/sc-bonding-curve/overview.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.
