> ## 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 end-to-end của sàn phát hành bonding-curve của Raydium: giao dịch trước khi tốt nghiệp dựa trên đường cong xác định, ngưỡng tài trợ kích hoạt tốt nghiệp, và di chuyển tự động 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, người tạo phải khởi tạo pool AMM với cả hai bên của cặp từ đầu — tức là nhóm 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ó vốn dồi dào và hạn chế quyền truy cập vào cơ chế launchpad dựa trên vốn ban đầu.

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

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

## Vòng đời

```
             ┌───────────────────────┐
creator  ──▶ │  Initialize (Launch)  │   ▸ mints the base token, funds the curve vaults,
             │                        │     sets curve params and graduation threshold
             └───────────┬────────────┘
                         │
                         ▼
             ┌───────────────────────┐       repeated N times
             │   Buy  /  Sell        │ ◀─── traders interact with the curve
             └───────────┬────────────┘
                         │ curve quote_reserve
                         │ crosses threshold
                         ▼
             ┌───────────────────────┐   ▸ snapshots curve state
             │      Graduate         │   ▸ deploys CPMM pool seeded with curve reserves
             │                        │   ▸ locks / burns remaining base supply per policy
             └───────────┬────────────┘
                         │
                         ▼
             ┌───────────────────────┐
             │   CPMM pool live      │   ▸ standard CPMM behavior going forward
             └───────────────────────┘
```

Mỗi lần phát hành đều trải qua chuỗi này đúng một lần. `Buy` và `Sell` là các instruction hướng tới người dùng ở giai đoạn giữa. Sau khi ngưỡng bị vượt qua, ví di chuyển được lưu trữ trên `GlobalConfig` ký `MigrateToCpswap`.

## 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 khi tốt nghiệp; sau khi tốt nghiệp, 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 tại `Initialize`; nó không thể được thay đổi.

Cộng với hai vault:

* **`base_vault`** — giữ phần nguồn cung base đã đượ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 người mua. Tăng khi người dùng mua. Đây là số dư được kiểm tra so với ngưỡng tốt nghiệp.

## 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 **bonding curve bậc hai** tương tự như dòng Pump.fun / Curve.fi / Bancor:

```
price(s) = k × (s / S_max)²     (or similar — exact formula is curve-config dependent)
```

trong đó `s` là lượng base đã được bán cho người dùng và `S_max` là nguồn 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 giao dịch ngoài tính lồi tự nhiên của đường cong.

## Tốt nghiệp

Một lần phát hành tốt nghiệp khi `quote_vault.balance ≥ graduation_threshold`. Ngưỡng được đặt tại `Initialize` và thường được chọn sao cho tại thời điểm tốt nghiệp, giá ngụ ý của đường cong phù hợp với giá mà pool AMM sẽ mở với các reserve được thu thập. 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 hệ số nhỏ để tính đến dòng phí (1–2%).

Tại thời điểm tốt nghiệp:

1. Chương trình chụp `(base_vault_remaining, quote_vault)`.
2. Nó gọi CPMM `CreatePool` CPI với hai reserve này, mint LP ban đầu cho một quyền hạn 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 nào).
4. `LaunchState.status` chuyển sang `Graduated`.

Sau khi tốt nghiệp, `Buy` và `Sell` bị từ chối. Giao dịch tiếp tục trên pool CPMM kết quả, không thể phân 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 quản trị viên 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 người tạo như một dòng doanh thu liên tục.

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

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

## Ai giữ LP sau khi tốt nghiệp?

LaunchLab sử dụng ba thang đo được lưu trữ của nền tảng để tạo ra hai điểm đến LP hiệu quả:

* **Platform lock** — đối với các lần di chuyển được thực hiện sau bản nâng cấp 2026-08-17, `platform_scale + creator_scale` bị khóa thông qua LP-Lock và một Fee Key đi đến `platform_nft_wallet` khi phần này khác không. Trước bản nâng cấp, `creator_scale` tạo ra một Fee Key creator riêng biệt.
* **Burn** — `burn_scale` bị đốt vĩnh viễn và không có Fee Key.

Các thang đo nằm trên `PlatformConfig` và phải tổng cộng `1_000_000`. Bản nâng cấp chỉ thay đổi việc thực hiện di chuyển trong tương lai. Nó không thay đổi Fee Keys của creator được tạo bởi các lần di chuyển trước đó.

<Info>
  **Bản nâng cấp chương trình 2026-09.** LaunchLab được xây dựng lại trên Anchor 1.0.2 / Solana 3.1.10 và có thêm một instruction quản trị viên, [`CollectExcessLamports`](/vi/products/launchlab/instructions#collectexcesslamports), để lấy lại rent được giải phóng bởi [SIMD-0437](/vi/solana-fundamentals/rent-and-reclaimable-rent). Ba cơ chế chuyển đổi đã bị xóa cùng lúc: `Initialize` không dùng nữa hiện luôn thất bại, `MigrateToAmm` mất các đối số và mọi tài khoản OpenBook, và cổng `get_upgrade_timestamp` dựa trên đồng hồ đã biến mất. Giao dịch, phí và vesting không thay đổi. Xem [mục nhập changelog 2026-09-09](/vi/reference/changelog/2026-09-09-launchlab-anchor-1-and-excess-lamports).
</Info>

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

* **Base mint không có lạm phát từ khi tạo.** Instruction khởi tạo mint toàn bộ nguồn cung và thu hồi `mint_authority` trong cùng một lệnh gọi; `freeze_authority` không bao giờ được đặt.
* **Tất cả các lần phát hành mới chỉ là CPMM.** `InitializeV2` và `InitializeWithToken2022` yêu cầu `migrate_type = CPSWAP`, và `Initialize` kế thừa thất bại hoàn toàn kể từ bản nâng cấp 2026-09. Trạng thái kế thừa hiện có vẫn có thể sử dụng `MigrateToAmm`.
* **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 — điều này đối xứng giảm `base_sold`). Chương trình không bao giờ để đường cong trở thành âm.
* **Tốt nghiệp là một cổng một chiều.** Ngay cả khi giao dịch sau khi tốt nghiệp đẩy giá pool AMM quay lại dưới giá tốt nghiệp, lần phát hành không quay lại đườ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 lần phát hành token mang theo 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 gây quỹ công khai.
</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ả nhóm — mua với cùng giá được xác định bởi đường cong, thay vì phân bổ trước cho những người trong cuộc với giá chiết khấu.

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

* Token hiện có với thị trường được thiết lập (sử dụng `CreatePool` trên CPMM trực tiếp).
* Các lần 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ó với cấu hình đường cong cẩn thận, nhưng cơ chế vẫn được điều khiển bởi đường cong).
* Token yêu cầu các tiện ích mở rộng Token-2022 mà LaunchLab không cho phép (chương trình phát hành từ chối các tiện ích 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 chi phí và doanh thu, dẫn xuất ngưỡng tốt nghiệp.
* [`accounts`](/vi/products/launchlab/accounts) — `LaunchConfig`, `LaunchState`, vault, PDA quyền hạn.
* [`instructions`](/vi/products/launchlab/instructions) — `Initialize`, `Buy`, `Sell`, `Graduate`, `CollectFees`, `SetParams`.
* [`code-demos`](/vi/products/launchlab/code-demos) — ví dụ TypeScript end-to-end.

## Bước tiếp theo

* [`products/cpmm/overview`](/vi/products/cpmm/overview) — điều gì xảy ra sau khi một lần phát hành tốt nghiệp.
* [`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:

* [Mô-đun `LaunchLab` của Raydium SDK v2](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 xuất bản dưới dạng repo riêng biệt. IDL được đóng gói với SDK ở trên là giao diện chính thức.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.