> ## 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.

# LaunchLab アカウント

> PoolState（ローンチごとのルート）、ベースおよびクオートヴォルト、オーソリティ PDA、およびローンチごとのアカウントグラフ。プロトコルレベルの GlobalConfig とプラットフォームレベルの PlatformConfig は別ページにあります。

<Info>
  **このページは AI による自動翻訳です。すべての内容は英語版を正とします。**

  [英語版を表示 →](/products/launchlab/accounts)
</Info>

<Info>
  このページでは、**ローンチごとの** アカウントグラフを説明します。ローンチの `PoolState`（ルート状態アカウント）、その 2 つのヴォルト、オーソリティ PDA、およびローンチが決済される際に獲得する卒業後の参照です。

  すべてのローンチを制限するプロトコルレベルの設定については、[`products/launchlab/global-config`](/ja/products/launchlab/global-config) を参照してください。プラットフォームごとのオーバーレイについては、[`products/launchlab/platform-config`](/ja/products/launchlab/platform-config) を参照してください。ベスティングアカウント（`PoolState` の `VestingSchedule`、受益者ごとの `VestingRecord`）については、[`products/launchlab/vesting`](/ja/products/launchlab/vesting) を参照してください。
</Info>

## アカウント一覧

| アカウント                                                      | オーナー                   | 用途                                                                                    |
| ---------------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------- |
| [`GlobalConfig`](/ja/products/launchlab/global-config)     | LaunchLab プログラム        | プロトコルレベルのルール：フィー、供給量のフロア、マイグレーションウォレット。`(curve_type, index)` ごとに 1 つ。                 |
| [`PlatformConfig`](/ja/products/launchlab/platform-config) | LaunchLab プログラム        | プラットフォームごとのオーバーレイ：ブランディング、プラットフォームフィー、卒業時の NFT 分割、曲線形状のホワイトリスト。                       |
| `PoolState`                                                | LaunchLab プログラム        | ローンチごとのルート状態：ミント、ヴォルト、曲線パラメータ、販売カウンター、フィーカウンター、ベスティングスケジュール、卒業ステータス。                  |
| `authority`                                                | LaunchLab プログラム        | シード `[b"vault_auth_seed"]` で導出される単一の PDA で、すべてのローンチのヴォルトを所有し、卒業後の CPI に署名します。         |
| `base_vault`                                               | SPL Token / Token-2022 | 未販売のベーストークンを保持するローンチごとのヴォルト。                                                          |
| `quote_vault`                                              | SPL Token              | 累積されたクオートトークンを保持するローンチごとのヴォルト。                                                        |
| [`VestingRecord`](/ja/products/launchlab/vesting)          | LaunchLab プログラム        | 受益者ごとのクリフ + リニアアンロックレコード。オプション。                                                       |
| `creator_fee_vault`                                        | SPL Token              | クリエーター + クオートミントごとのヴォルトで、発生したクリエーターフィーを保持し、`ClaimCreatorFee` でスイープされます。               |
| `platform_fee_vault`                                       | SPL Token              | プラットフォーム + クオートミントごとのヴォルトで、発生したプラットフォームフィーを保持し、`ClaimPlatformFeeFromVault` でスイープされます。 |
| (卒業後) `cpmm_pool_state` *または* `amm_pool_state`             | CPMM / AMM v4 プログラム    | `MigrateToCpswap` / `MigrateToAmm` で作成されるプール。                                         |
| (卒業後) Fee Key NFT                                          | LP-Lock プログラム          | CPMM 卒業時のクリエーターの LP スライスをラップします。ホルダーに CPMM プール上の `ClaimCreatorFee` の権利を与えます。          |

SDK の `raydium.launchpad.getLaunchById` は `PoolState` とローンチが卒業したかどうかを示すフラグを返します。卒業している場合、マイグレーション後のプール ID が含まれます。

## `PoolState`

ローンチごとのルート状態。以下のフィール名は、オンチェーンの Rust 構造体（`states/pool.rs`）と一致します。読みやすさのため、いくつかの値は簡略化されています。正確なメモリレイアウトについてはソースを参照してください。

```rust theme={null}
// states/pool.rs (abridged)
pub struct PoolState {
    pub epoch:                     u64,        // recent_epoch tracker
    pub auth_bump:                 u8,
    pub status:                    u8,         // PoolStatus enum
    pub base_decimals:             u8,
    pub quote_decimals:            u8,
    pub migrate_type:              u8,         // 0 = AMM v4, 1 = CPMM
    pub supply:                    u64,        // total base tokens (no decimals)
    pub total_base_sell:           u64,        // base supply allocated to the curve
    pub virtual_base:              u64,        // virtual-reserve seed
    pub virtual_quote:             u64,        // virtual-reserve seed
    pub real_base:                 u64,        // base sold so far
    pub real_quote:                u64,        // quote raised so far (excl. fees)
    pub total_quote_fund_raising:  u64,        // graduation threshold in quote

    pub quote_protocol_fee:        u64,        // accrued, pending CollectFee
    pub platform_fee:              u64,        // accrued, pending ClaimPlatformFee
    pub migrate_fee:               u64,        // accrued, pending CollectMigrateFee
    pub vesting_schedule:          VestingSchedule,

    pub global_config:             Pubkey,
    pub platform_config:           Pubkey,
    pub creator:                   Pubkey,
    pub base_mint:                 Pubkey,
    pub quote_mint:                Pubkey,
    pub base_vault:                Pubkey,
    pub quote_vault:               Pubkey,

    pub amm_creator_fee_on:        u8,         // 0 = QuoteToken, 1 = BothToken (CPMM-only)
    pub token_program_flag:        u8,         // bit flags for SPL Token vs Token-2022
    pub padding:                   [u8; 54],
}

#[derive(Default, Debug, Clone)]
pub struct VestingSchedule {
    pub total_locked_amount:    u64,
    pub cliff_period:           u64,
    pub unlock_period:          u64,
    pub start_time:             u64,           // set at graduation
    pub allocated_share_amount: u64,           // running sum across VestingRecords
}
```

`PoolStatus` の値（Anchor IDL より）：

```
0 = Funding         — buys / sells を受け付け中。quote_reserve_target 未満
1 = Migrate         — quote_reserve_target に到達。MigrateTo* を待機中
2 = Migrated        — MigrateTo* 実行済み。ベスティング時間経過中
```

統合業者向けのフィールド：

* **`status`** — 3 つの値、単調性あり（Funding → Migrate → Migrated）。読み取りは常に安全です。書き込みはゲート制御されています。
* **`real_base`**、**`real_quote`** — 現在の曲線状態。`virtual_base` / `virtual_quote` と組み合わせて、ヴォルトに触れることなくスポット価格を計算するのに十分です。[`bonding-curve`](/ja/products/launchlab/bonding-curve) を参照してください。
* **`total_base_sell`** vs `real_base` — UI の「卒業への進捗」比率。
* **`migrate_type`** — `MigrateToAmm` または `MigrateToCpswap` のどちらが有効な卒業パスであるかを選択します。Token-2022 ローンチは CPMM を使用する必要があります。
* **`amm_creator_fee_on`** — CPMM への卒業時にのみ意味があります。卒業後の CPMM プール上で `creator_fee_on = OnlyQuoteToken`（`0`）または `BothToken`（`1`）を選択します。*名前に反して、このエナムは事実上、マイグレーションターゲットも駆動します — 現在の運用実績では `BothToken` は `MigrateToAmm` と組み合わせられ、`QuoteToken` は `MigrateToCpswap` と組み合わせられています。* [creator-fees](/ja/products/launchlab/creator-fees) を参照してください。
* **`quote_protocol_fee` / `platform_fee` / `migrate_fee`** — 3 つの独立したフィーカウンター。それぞれ独自のクレーム指示があります。[`instructions`](/ja/products/launchlab/instructions) を参照してください。
* **`vesting_schedule`** — すべての `PoolState` に存在しますが、`total_locked_amount == 0` の場合は非アクティブです。完全なライフサイクルについては、[`vesting`](/ja/products/launchlab/vesting) を参照してください。

## オーソリティ PDA

LaunchLab は、ローンチごとのシード なしで、すべてのローンチにわたって **単一の** オーソリティ PDA を使用します：

```ts theme={null}
const LAUNCHLAB_PROGRAM_ID = new PublicKey("<LAUNCHLAB_ID>"); // see reference/program-addresses

const [authority, bump] = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);
```

この単一の PDA は以下の役割を持ちます：

* すべてのローンチの `base_vault` および `quote_vault` のオーソリティ。
* 各ローンチの `base_mint` の `mint_authority`（卒業前）。
* AMM v4 / CPMM への卒業後 CPI（`MigrateTo*`）の署名者。
* `ClaimVestedToken` でベースヴォルトから転送する際の署名者。

`mint_authority` は `MigrateToAmm` / `MigrateToCpswap` の直後に取り消され、供給量は永久に固定されます。

2 つの追加 PDA がフィーヴォルトをゲート制御します：

```ts theme={null}
const [creatorFeeVaultAuthority] = PublicKey.findProgramAddressSync(
  [Buffer.from("creator_fee_vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);

const [platformFeeVaultAuthority] = PublicKey.findProgramAddressSync(
  [Buffer.from("platform_fee_vault_auth_seed")],
  LAUNCHLAB_PROGRAM_ID,
);
```

これらは `ClaimCreatorFee` および `ClaimPlatformFeeFromVault` の実行中に、対応するフィーヴォルトから転送する際に署名します。

## ベースミント

`Initialize` で以下のインラインで作成されます：

* `mint_authority = authority`（卒業時に取り消し）。
* `freeze_authority = None`。
* `supply = supply`、すべて `base_vault` にミント済み。
* `decimals` は `Initialize` でクリエーターが選択（通常は 6）。

完全な供給量が事前にミント済みであるため、`base_mint.supply` はローンチの生存期間中は定数です。曲線買いトークンを `base_vault` から買い手に移動しますが、`mint_to` は呼び出しません。

`Initialize` / `InitializeV2` は SPL Token ローンチを作成します。専用の `InitializeWithToken2022` 指示により、ベースミントを Token-2022 ミント（オプションの `TransferFeeConfig` 付き）にすることができます。クオートミントは依然として SPL Token です。Token-2022 ローンチは CPMM プールへ卒業する必要があります。AMM v4 は SPL Token ヴォルトのみをサポートするためです。

## ヴォルト

`base_vault` と `quote_vault` の両方は、LaunchLab `authority` PDA で所有される標準的な SPL Token アカウントです。アドレスは `PoolState` に保存されており、次のように導出することもできます：

```ts theme={null}
const [baseVault] = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), baseMint.toBuffer()],
  LAUNCHLAB_PROGRAM_ID,
);
const [quoteVault] = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), quoteMint.toBuffer()],
  LAUNCHLAB_PROGRAM_ID,
);
```

（本番環境で導出に依存する前に、ソースの `Initialize` アカウント構造体から正確なシードプレフィックスを確認してください。）

## フィーヴォルト

2 つの PDA はローンチ全体のフィーを集約します：

* **クリエーターフィーヴォルト** — シード `[creator, quote_mint]` の PDA。同じクリエーターが同じクオートミントで稼いだすべてのローンチは、同じヴォルトに流れ込みます。クリエーターは `ClaimCreatorFee` 経由でこれをスイープします。
* **プラットフォームフィーヴォルト** — シード `[platform_config, quote_mint]` の PDA。同じプラットフォーム経由でルーティングされ、同じクオートミントを使用するすべてのローンチは、同じヴォルトに流れ込みます。プラットフォームの `platform_fee_wallet` は `ClaimPlatformFeeFromVault` 経由でこれをスイープします。また、ローンチごとのスイープバリアント（`ClaimPlatformFee`）があり、集約ヴォルトを経由せず、ローンチの `quote_vault` から直接プルします。

集約ヴォルトパターンにより、高取引量のクリエーターまたはプラットフォームは、多くのローンチにわたってフィー蓄積のレント コストを償却できます。

## クオートヴォルト ↔ `real_quote`

`quote_vault.balance` と `PoolState.real_quote` は同期を保つ必要があります。3 つの待機中のフィーカウンター（`quote_protocol_fee`、`platform_fee`、`migrate_fee`）の合計によってドリフトしますが、これらはヴォルト内にありますが、フィーカウンターに属しており、曲線リザーブには属しません。曲線の数学は常に `real_quote` を使用し、生のヴォルト残高を使用しません。

卒業前の不変量：

```
quote_vault.balance ==
   real_quote
 + quote_protocol_fee
 + platform_fee
 + migrate_fee
```

## ライフサイクルアカウント遷移

| イベント                                    | ステータス                        | `real_base` | `real_quote`            | 卒業後のプール                                        |
| --------------------------------------- | ---------------------------- | ----------- | ----------------------- | ---------------------------------------------- |
| `Initialize`                            | Funding                      | 0           | 0                       | —                                              |
| `BuyExactIn` / `BuyExactOut`            | Funding                      | `+base_out` | `+quote_in_after_fee`   | —                                              |
| `SellExactIn` / `SellExactOut`          | Funding                      | `−base_in`  | `−quote_out_before_fee` | —                                              |
| `MigrateToAmm` / `MigrateToCpswap`      | Funding → Migrate → Migrated | (frozen)    | (frozen)                | 作成、LP は `PlatformConfig` に従い分割                 |
| `ClaimCreatorFee` / `ClaimPlatformFee*` | any                          | —           | —                       | フィーヴォルトをドレイン                                   |
| `CreateVestingAccount`                  | Funding                      | —           | —                       | `vesting_schedule.allocated_share_amount` をバンプ |
| `ClaimVestedToken`                      | Migrated only                | —           | —                       | `base_vault` をドレイン                             |

## 次へ

* [`products/launchlab/bonding-curve`](/ja/products/launchlab/bonding-curve) — `real_base` ↔ `real_quote` の背後にある数学。
* [`products/launchlab/instructions`](/ja/products/launchlab/instructions) — 指示ごとのアカウント一覧。
* [`products/launchlab/global-config`](/ja/products/launchlab/global-config) — プロトコルレベルのバインディング。
* [`products/launchlab/platform-config`](/ja/products/launchlab/platform-config) — プラットフォームオーバーレイ。
* [`products/launchlab/vesting`](/ja/products/launchlab/vesting) — ロック供給メカニクス。
* [`products/cpmm/accounts`](/ja/products/cpmm/accounts) — 卒業後の `cpmm_pool_state` の外観。

ソース：

* `raydium-launch/programs/launchpad/src/states/pool.rs` — `PoolState`、`PoolStatus`、`VestingSchedule`、`AmmCreatorFeeOn`。
* `raydium-launch/programs/launchpad/src/lib.rs` — PDA シード定数（`AUTH_SEED`、`CREATOR_FEE_VAULT_AUTH_SEED`、`PLATFORM_FEE_VAULT_AUTH_SEED`）。
* [Raydium SDK v2 `launchpad` モジュール](https://github.com/raydium-io/raydium-sdk-V2)。
