# Components

The Something Cool platform consists of two primary components that work together to provide a seamless token issuance and trading experience.

## 1. SC Bonding Curve

SC Bonding Curve is the token issuance component that utilizes a bonding curve mechanism with configurable initial virtual liquidity by the admin, to keep the migration target market cap under control when SOL largely fluctuates.

### Technical Details

* Implements a constant product bonding curve formula
* Includes fee mechanisms for platform sustainability
* Supports token metadata through Metaplex integration

## 2. CoolDEX (Decentralized Exchange)

CoolDEX is a modified Raydium fork that serves as the trading platform after token migration.

### Key Features

* **Constant Product AMM**: Utilizes a proven AMM model for efficient token swapping
* **Enhanced Fee Mechanisms**: Supports custom fee structures for community contribution tokens
* **Liquidity Provision**: Allows users to add and remove liquidity from pools

### Technical Details

* Removes OpenBook dependency for simplified operation
* Implements specialized fee collection and distribution logic
* Supports token burning directly during swap operations

## Interaction Between Components

The two components interact through the migration process:

1. **Token Creation and Initial Trading**: Takes place on SC Bonding Curve
2. **Migration Preparation**: Automatic when token supply reaches threshold
3. **Migration Execution**: Transfers remaining tokens and SOL to prepare for DEX
4. **DEX Pool Creation**: Creates a liquidity pool on CoolDEX with migrated assets
5. **Continued Trading**: Occurs on CoolDEX with specified fee parameters

This two-phase approach provides a seamless experience while allowing for customization and optimization at each stage of a token's lifecycle.


---

# 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/platform-architecture/components.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.
