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

# Tổng quan LaunchLab

> Cách hoạt động từ đầu đến cuối của sàn phát hành bonding-curve của Raydium: giao dịch trước graduation trên một đường cong xác định, ngưỡng tài trợ kích hoạt graduation, và tự động chuyển đổi vào pool CPMM tiêu chuẩn.

<Info>
  **Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.**

  [Xem bản tiếng Anh →](/products/launchlab/overview)
</Info>

## Vấn đề mà LaunchLab giải quyết

Trước LaunchLab, phát hành một token mới trên Raydium yêu cầu người tạo ra phải khởi tạo pool AMM với cả hai bên của cặp từ đầu — điều này có nghĩa là đội phải cung cấp thanh khoản phía quote (SOL hoặc USDC) từ túi riêng. Điều này ưu tiên các dự án được tài trợ tốt và hạn chế quyền truy cập vào cơ chế sàn phát hành dựa trên vốn ban đầu.

LaunchLab thay thế bước đó bằng một **bonding curve**: token được triển khai trên một đường cong có giá theo mint quote (thường là SOL hoặc USDC). Những người mua lấy token bằng cách gửi quote vào đường cong, nó sẽ tự động mint hoặc phát hành các đơn vị base token theo giá được xác định bởi công thức đường cong và lượng cung hiện tại. Không cần thanh khoản được khởi tạo sẵn.

Khi đường cong tích lũy đủ quote để khớp với công thức thanh khoản cho một pool AMM thực sự, nó **graduation**: chương trình tạo một pool CPMM trên mainnet với base reserve và quote reserve từ đường cong, và từ điểm đó giao dịch chuyển sang AMM.

## Vòng đời

```
             ┌───────────────────────┐
creator  ──▶ │  Initialize (Launch)  │   ▸ mint base token, cấp vốn cho curve vaults,
             │                        │     đặt curve params và ngưỡng graduation
             └───────────┬────────────┘
                         │
                         ▼
             ┌───────────────────────┐       lặp lại N lần
             │   Buy  /  Sell        │ ◀─── các trader tương tác với đường cong
             └───────────┬────────────┘
                         │ curve quote_reserve
                         │ vượt qua ngưỡng
                         ▼
             ┌───────────────────────┐   ▸ chụp nhanh trạng thái đường cong
             │      Graduate         │   ▸ triển khai pool CPMM với curve reserves
             │                        │   ▸ khóa / đốt base supply còn lại theo chính sách
             └───────────┬────────────┘
                         │
                         ▼
             ┌───────────────────────┐
             │   CPMM pool live      │   ▸ hành vi CPMM tiêu chuẩn từ đây về sau
             └───────────────────────┘
```

Mỗi lần phát hành đi qua chuỗi này đúng một lần. `Buy` và `Sell` là những instruction duy nhất có thể gọi được của người dùng trong giai đoạn giữa; `Graduate` không cần quyền (bất kỳ ai cũng có thể gọi khi vượt qua ngưỡng) nhưng trong thực tế SDK tự động gọi nó bên trong transaction vượt qua ngưỡng.

## Hai bên cố định

Một trạng thái LaunchLab có hai tài khoản được phân biệt:

* **Base mint** — token đang được phát hành. Quyền mint của nó được giữ bởi chương trình LaunchLab cho đến graduation; sau graduation, nó bị thu hồi.
* **Quote mint** — tài sản thế chấp. Luôn là một mint chính thống (SOL / USDC / RAY). Cấu hình phát hành chọn một cái tại `Initialize`; nó không thể được thay đổi.

Cộng với hai vaults:

* **`base_vault`** — giữ phần base supply đã được mint trước cho đường cong nhưng chưa được bán. Giảm khi người dùng mua.
* **`quote_vault`** — tích lũy quote được trả bởi những người mua. Tăng khi người dùng mua. Đây là số dư được kiểm tra đối với ngưỡng graduation.

## Mô hình định giá

LaunchLab hỗ trợ nhiều công thức đường cong (xem [`bonding-curve`](/vi/products/launchlab/bonding-curve)). Công thức phổ biến nhất là một **quadratic** bonding curve tương tự với dòng Pump.fun / Curve.fi / Bancor:

```
price(s) = k × (s / S_max)²     (hoặc tương tự — công thức chính xác phụ thuộc vào cấu hình đường cong)
```

trong đó `s` là lượng base đã được bán cho người dùng và `S_max` là lượng cung tối đa của đường cong. Giá tăng đơn điệu với mỗi lần mua và giảm với mỗi lần bán. Vì chương trình tính toán chi phí tích hợp AMM chính xác, một lần mua bất kỳ kích thước nào sẽ trả về lượng tích hợp chính xác; không có slippage theo trade ngoài tính lồi tự nhiên của đường cong.

## Graduation

Một lần phát hành graduation khi `quote_vault.balance ≥ graduation_threshold`. Ngưỡng được đặt tại `Initialize` và thường được chọn sao cho tại graduation, giá ngụ ý của đường cong khớp với giá mà pool AMM sẽ mở cùng với các reserves đã tích lũy. Cụ thể:

```
threshold ≈ S_graduate × price(S_graduate) × f
```

trong đó `S_graduate` là lượng base đã được bán, `price(S_graduate)` là giá biên của đường cong tại điểm đó, và `f` là một yếu tố nhỏ để tính đến dòng phí (1–2%).

Tại graduation:

1. Chương trình chụp nhanh `(base_vault_remaining, quote_vault)`.
2. Nó gọi CPMM `CreatePool` CPI với hai reserves này, mint LP ban đầu cho một authority do chương trình sở hữu (thường bị đốt / khóa theo chính sách).
3. Nó thu hồi quyền mint của base mint (vì vậy không thể mint thêm base token).
4. `LaunchState.status` chuyển sang `Graduated`.

Sau graduation, `Buy` và `Sell` bị từ chối. Giao dịch tiếp tục trên pool CPMM kết quả, không khác biệt với bất kỳ pool CPMM Raydium nào khác.

## Phí

Trong giai đoạn đường cong, mỗi `Buy` và `Sell` phải chịu phí được chia giữa:

* **Curve LP side** — tăng `k` ngụ ý của đường cong, có lợi cho những người mua sau (giá chặt hơn).
* **Protocol** — tích lũy cho admin LaunchLab, được thu thập qua `CollectFees`.
* **Creator** — tùy chọn, có thể cấu hình tại `Initialize`. Một số lần phát hành hướng một phần cho creator như một dòng doanh thu liên tục.

Các tỷ lệ mặc định được ghi lại trên [`bonding-curve`](/vi/products/launchlab/bonding-curve). Chi tiết chia chia chính xác được lưu trữ trên `LaunchState.fees` và có thể khác nhau cho từng lần phát hành.

Phí sau graduation tuân theo cấu hình CPMM mà pool được tạo với nó (thường là `AmmConfig[0]`, tầng 0.25%).

## Ai nắm giữ LP sau graduation?

LaunchLab hỗ trợ nhiều chính sách LP sau graduation:

* **Burn** — LP được mint cho một địa chỉ chết. Pool trở thành vĩnh viễn; không ai có thể loại bỏ thanh khoản.
* **Lock** — LP được mint cho một escrow khóa thời gian sẽ phát hành cho creator sau một khoảng thời gian vesting.
* **Creator-received immediately** — chỉ được sử dụng cho các lần phát hành được phép.

Chính sách được đặt tại `Initialize` và không thể được thay đổi. Hầu hết các lần phát hành mở sử dụng **burn** — khi pool tồn tại, thanh khoản của nó sẽ ở đó mãi mãi.

## Các bất biến quan trọng

* **Base mint không lạm phát sau graduation.** `mint_authority` của nó bị thu hồi; `freeze_authority` không bao giờ được đặt.
* **Token-2022 được hỗ trợ qua `initialize_with_token_2022`.** Chuẩn `Initialize` / `InitializeV2` tạo các phát hành SPL Token; instruction `InitializeWithToken2022` được dành riêng tạo một phát hành có base mint là Token-2022 (với tùy chọn `TransferFeeConfig`). Các phát hành Token-2022 phải graduation sang pool CPMM — chúng không thể graduation sang AMM v4, chỉ SPL Token.
* **Trạng thái đường cong là đơn điệu theo một hướng.** `base_sold` chỉ tăng trong Buy, `quote_vault` chỉ tăng trong Buy (giảm trong Sell — mà đối xứng giảm `base_sold`). Chương trình không bao giờ để đường cong âm.
* **Graduation là một cửa một chiều.** Ngay cả khi giao dịch sau graduation đẩy giá pool AMM quay trở lại dưới giá graduation, lần phát hành không quay về đường cong.

## Khi nào sử dụng LaunchLab

<Note>
  Trang này chỉ mô tả cơ chế giao thức. Không có gì ở đây cấu thành lời khuyên tài chính, pháp lý hoặc đầu tư. Các phát hành token mang rủi ro tài chính đáng kể. Hãy tham khảo các chuyên gia thích hợp trước khi phát hành token liên quan đến huy động vốn công.
</Note>

* Bạn đang phát hành một token mới không có thị trường trước đó.
* Bạn muốn thị trường xác định giá CPMM mở thay vì khai báo trước.
* Bạn muốn cho phép bất kỳ ai — bao gồm cả đội — mua vào cùng giá xác định bởi đường cong, thay vì phân bổ trước cho nội bộ giảm giá.

**Không** sử dụng LaunchLab cho:

* Token hiện tại có thị trường đã hình thành (sử dụng `CreatePool` trên CPMM trực tiếp).
* Các phát hành nơi bạn cần kiểm soát chính xác giá AMM mở (bạn có thể xấp xỉ nó bằng cấu hình đường cong cẩn thận, nhưng cơ chế vẫn chạy bởi đường cong).
* Token yêu cầu các mở rộng Token-2022 mà LaunchLab không danh sách cho phép (chương trình phát hành từ chối các mở rộng như `TransferHook` và `PermanentDelegate` ngay cả trên đường dẫn Token-2022).

## Nội dung chương

* [`bonding-curve`](/vi/products/launchlab/bonding-curve) — công thức đường cong, toán học chi phí và doanh thu, dẫn xuất ngưỡng graduation.
* [`accounts`](/vi/products/launchlab/accounts) — `LaunchConfig`, `LaunchState`, vaults, authority PDAs.
* [`instructions`](/vi/products/launchlab/instructions) — `Initialize`, `Buy`, `Sell`, `Graduate`, `CollectFees`, `SetParams`.
* [`code-demos`](/vi/products/launchlab/code-demos) — các ví dụ TypeScript từ đầu đến cuối.

## Nơi đi tiếp theo

* [`products/cpmm/overview`](/vi/products/cpmm/overview) — điều gì xảy ra sau khi phát hành graduation.
* [`user-flows/create-cpmm-pool`](/vi/user-flows/create-cpmm-pool) — đường dẫn thay thế cho token không cần đường cong.
* [`reference/program-addresses`](/vi/reference/program-addresses) — ID chương trình LaunchLab.

Nguồn:

* [Raydium SDK v2 `LaunchLab` module](https://github.com/raydium-io/raydium-sdk-V2) (IDL dưới `src/raydium/launchpad/`).
* Mã nguồn chương trình LaunchLab hiện không được công bố như một repo riêng biệt. IDL được gói cùng với SDK trên là giao diện chính thức.
