ローンチタイプ

ボンディングカーブ — 動作原理

Last updated March 30, 2026

Genesis ボンディングカーブは、トークン供給を完全に売り切り、Raydium CPMMプールに卒業するように設計されたコンスタントプロダクト自動マーケットメーカーです。

Summary

Genesis ボンディングカーブは、x × y = kコンスタントプロダクト価格モデルと仮想準備金を使用して、Solana上で決定論的かつ継続的に利用可能なトークンローンチを実現します。

  • コンスタントプロダクトAMMx × y = kに従い、SOLが流入すると価格が上昇し、トークンが売り戻されると価格が下落する
  • 仮想準備金 — 実用的な開始価格を設定し、曲線が完全に売り切れるように初期化時に設定されるSOLおよびトークン準備金
  • 3つのライフサイクルフェーズ — Created(作成済み)→ Active(アクティブ)→ Graduated(卒業済み)。卒業はすべてのトークンが売れると自動的に発生し、流動性をRaydium CPMMプールに移行する
  • 2種類の手数料 — すべての取引に対するプロトコルスワップ手数料と、オプションのクリエイター手数料。どちらもSOL側に適用され、複合しない

コンスタントプロダクトAMM価格設定

Genesis ボンディングカーブは、Uniswap V2やRaydiumが使用するのと同じx × y = k式を使用します。任意の時点での価格は、トークン準備金とSOL準備金の比率によって決まります。

ボンディングカーブが仮想準備金を必要とする理由

標準的なx × y = k曲線は両端に漸近線があり、売り切りローンチには適していません。

  • 下限の漸近線 — ローンチ時にプールにSOLがない場合、買い手はわずかなSOLですべてのトークンを枯渇させることができる
  • 上限の漸近線 — 残りわずかなトークンの価格が無限大に近づき、実用的な価格での完全な売り切りが不可能になる

Genesis ボンディングカーブは、価格設定の数式のみに存在する仮想準備金(仮想SOLと仮想トークン)で曲線をシードすることでこれを解決します。仮想準備金は有限の開始価格を設定し、すべての実際のトークンが現実的な有界価格で売り切れるよう曲線を形成します。

Genesis ボンディングカーブの準備金会計

曲線はAMM式に組み合わせる2つの準備金セットを維持します:

準備金フィールド説明
仮想SOLvirtualSol初期化時に追加。開始価格を設定。実際には預け入れられず、数式のみに存在。
仮想トークンvirtualTokens初期化時に追加。仮想SOLとペアリングして曲線を固定。
実際のSOLquoteTokenDepositTotal買い手が実際に預け入れたSOL。0から始まり買いごとに増加。
実際のトークンbucket.baseTokenBalanceバケットに残っている実際のトークン。全配分から始まり買いごとに減少。

AMM式で使用される有効準備金:

totalSol = virtualSol + realSol
totalTokens = virtualTokens + realTokens
k = totalSol × totalTokens

SOL単位でのトークンの現在価格:

price = (virtualTokens + realTokens) / (virtualSol + realSol)

スワップ価格式

買い(SOL投入、トークン出力):

inputReserve = totalSol
outputReserve = totalTokens
newInputReserve = inputReserve + amountIn
newOutputReserve = ceil(k / newInputReserve)
tokensOut = outputReserve - newOutputReserve

売り(トークン投入、SOL出力):

inputReserve = totalTokens
outputReserve = totalSol
newInputReserve = inputReserve + amountIn
newOutputReserve = ceil(k / newInputReserve)
solOut = outputReserve - newOutputReserve

切り上げ除算(ceil(k / x))により、コンスタントプロダクト不変式newInputReserve × (outputReserve − outputAmount) ≥ kが決して違反されないことが保証されます。プールは価値を失うことなく、増加のみが可能です。

逆算:目的の出力に対する必要入力

特定の目的の出力に必要な入力量を計算する場合(準備金枯渇時のクランプ処理で内部的に使用):

newOutputReserve = outputReserve - desiredAmountOut
newInputReserve = ceil(k / newOutputReserve)
requiredAmountIn = newInputReserve - inputReserve

手数料構造

手数料は、方向に関係なく、すべてのスワップのSOL側に適用されます。買いではSOL入力から差し引かれ、売りではSOL出力から差し引かれます。

プロトコルスワップ手数料とクリエイター手数料

すべてのスワップにはプロトコルスワップ手数料が適用されます。クリエイターはオプションでクリエイター手数料を追加できます:

手数料設定者送金先
プロトコルスワップ手数料プロトコル(クリエイターは設定不可)Metaplexの手数料ウォレット(feeQuoteTokenAccount
クリエイター手数料クリエイターまたはエージェント(オプション)バケットに累積(creatorFeeAccrued);パーミッションレスのclaimBondingCurveCreatorFeeV2で請求

両方の手数料はグロスSOL額に対して独立して計算され、複合しません。曲線に流入または流出する正味額:

net = gross − protocolFee − creatorFee

プロトコルスワップ手数料はすべてのスワップでMetaplexの手数料ウォレットに転送されます。クリエイター手数料は即時転送されるのではなく、バケットに累積creatorFeeAccrued)されます — パーミッションレスのclaimBondingCurveCreatorFeeV2インストラクションを呼び出して回収してください。卒業後、クリエイター手数料はRaydium LP取引から引き続き累積され、claimRaydiumCreatorFeeV2で請求されます。

現在のプロトコル手数料スケジュールについては、プロトコル手数料ページをご参照ください。

取引方向別の手数料適用

買い(SOL → トークン):

  1. グロスSOL入力に対して手数料を計算
  2. 手数料を差し引く:amountInAfterFees = amountIn − fees
  3. AMM式はamountInAfterFeesで実行
  4. 買い手は全トークン出力を受け取る(出力側に手数料なし)

売り(トークン → SOL):

  1. トークン入力に手数料なし — 全トークン量がAMMに投入される
  2. AMM式がグロスSOL出力を生成
  3. グロスSOL出力に対して手数料を計算
  4. 売り手が受け取る額:netSolOut = grossSolOut − fees

卒業手数料

Raydium CPMM流動性プールの初期化コストをカバーするために、卒業時に追加の手数料が請求されます。現在の料率についてはプロトコル手数料をご参照ください。

ファーストバイメカニズム

ファーストバイメカニズムは、曲線作成時に指定された買い手が手数料なしで最初の購入を行えるようにします。

設定されている場合、以下のルールが適用されます:

  1. 共同署名が必要 — 指定された買い手のウォレットが曲線作成トランザクションに共同署名する必要がある
  2. 手数料免除 — この最初の購入のみ、すべての手数料(プロトコルスワップ手数料とクリエイター手数料)が免除される
  3. 一回限り — ファーストバイ完了後、メカニズムは消費される。同じ買い手のものも含め、その後のすべてのスワップには通常の手数料が適用される

ボンディングカーブのライフサイクル

Genesis ボンディングカーブローンチは3つの連続するフェーズを経ます:

フェーズ1:Created(作成済み)

曲線は、トークン配分、仮想準備金パラメーター、手数料設定、スワップウィンドウ開始時刻、およびエクステンション(ファーストバイ、クリエイター手数料)で初期化されます。まだ取引はできません。

フェーズ2:Active(アクティブ)

設定された開始時刻に達すると、ユーザーはトークンを自由に売買できます。SOLが流入(買い)および流出(売り)するにつれて、価格はコンスタントプロダクト式に従って継続的に変動します。アクティブな間は常に取引が可能で、デポジットウィンドウはありません。

フェーズ3:Graduated(卒業済み)

曲線上のすべてのトークンが売れると、卒業は自動的に発生します。手動のトリガーは不要です。蓄積された実際のSOLは、継続的な二次取引のためにRaydium CPMMプールに移行されます。ボンディングカーブ自体は閉鎖されます。

ローンチプールとは異なり、ボンディングカーブには固定の終了時刻がありません。卒業はタイマーではなく供給枯渇によって引き起こされます。

準備金枯渇の処理

スワップが利用可能な準備金を超えるアウトプットを生成する場合、システムはアウトプットをクランプし、逆算式を使用して入力を再計算します。トランザクションは失敗しません。

買いのクランプ(トークン供給枯渇): tokensOut > baseTokenBalanceの場合、アウトプットはbaseTokenBalanceにキャップされ、必要なSOL入力が再計算されます。買い手は残りのトークンを購入するのに必要な分だけ支払います。これにより卒業も引き起こされます。

売りのクランプ(SOL供給枯渇): バケットがグロス出力と手数料の両方をカバーするのに十分なSOLを保持していない場合、システムは利用可能なSOL残高から逆算します。利用可能額に対して手数料が再計算され、売り手は手数料控除後の残額を受け取り、必要なトークン入力が一致するよう再計算されます。

オンチェーンアカウント構造

BondingCurveBucketV2アカウントは、手数料設定、準備金残高、スワップ条件、エクステンション、終了動作、コンスタントプロダクト曲線パラメーターを含むすべての曲線状態を保存します。完全な型定義についてはGenesis JavaScript SDKBondingCurveBucketV2をご参照ください。

BondingCurveBucketV2エクステンション

バケットには独立して設定可能なオプション機能を持つエクステンションブロックが含まれています:

エクステンション説明
ファーストバイ手数料なしの最初の購入のために買い手とSOL額を指定。ファーストバイ完了後に消費される。
クリエイター手数料送金先ウォレットアドレスと手数料率を持つオプションのクリエイター手数料。手数料はスワップごとに転送されるのではなくバケット(creatorFeeAccrued)に累積されます — パーミッションレスのclaimBondingCurveCreatorFeeV2インストラクションで回収してください。プロトコル手数料とは独立して計算され、複合しない。ファーストバイは両方を免除する。

Notes

  • 仮想準備金は価格設定の数式のみに存在し、実際の資産としてオンチェーンに預け入れられることはない
  • クリエイター手数料はバケット(creatorFeeAccrued)に累積され、スワップごとに転送されない;パーミッションレスのclaimBondingCurveCreatorFeeV2インストラクションで回収する;卒業後のRaydium手数料はclaimRaydiumCreatorFeeV2で請求される
  • ceil(k / x)除算がすべてのスワップ計算で使用され、プールが価値を失わないことを保証する
  • 卒業はトークン完全枯渇時に自動的に発生し、別途インストラクションは不要
  • プロトコルスワップ手数料率はMetaplexが設定し、クリエイターは設定できない。現在の料率はプロトコル手数料を参照
  • ファーストバイメカニズムは曲線作成時に設定され、後から追加することはできない
  • ボンディングカーブはローンチプールプレセールとは異なるローンチタイプです

FAQ

ボンディングカーブローンチとローンチプールの違いは何ですか?

ローンチプールは固定されたデポジットウィンドウとバッチ価格発見を持ち、ユーザーはウィンドウ中にデポジットし、単一の清算価格でトークンを比例的に受け取ります。ボンディングカーブには固定ウィンドウがなく、スワップウィンドウが開いた後はいつでも売買でき、各取引後に価格が継続的に更新されます。

Genesis ボンディングカーブはなぜ仮想準備金を使用するのですか?

標準的なx × y = k曲線は両端が無限大に近づき、実用的な価格での完全な売り切りが不可能です。仮想準備金(初期化時に追加される仮想SOLと仮想トークン)が有限の開始価格を固定し、すべての実際のトークンが有界で予測可能な価格で売り切れるよう曲線を形成します。ボンディングカーブが仮想準備金を必要とする理由をご参照ください。

卒業を引き起こすものは何ですか?また、蓄積されたSOLはどうなりますか?

曲線上のすべてのトークンが売れると、卒業は自動的に発生します。別途インストラクションは不要です。蓄積された実際のSOLは、継続的な二次取引のためにRaydium CPMMプールに移行され、ボンディングカーブアカウントは閉鎖されます。

プロトコル手数料とクリエイター手数料は複合しますか?

いいえ。両方の手数料は各スワップのグロスSOL額に対して独立して計算されます。正味額はgross − protocolFee − creatorFeeです。複合しません。

最初の買い手は手数料を支払いますか?

いいえ。ファーストバイメカニズムが設定されている場合、その最初の購入に対してすべての手数料が免除されます。同じウォレットからの追加購入を含め、以降のすべてのスワップには通常のプロトコル手数料とクリエイター手数料が適用されます。

買い注文が曲線に残っているトークン以上を購入しようとした場合はどうなりますか?

システムはトークン出力を残高にクランプし、逆算式を使用して必要なSOL入力を再計算します。買い手は実際に利用可能なトークンに対してのみ支払い、トランザクションは正常に完了します。この最後の買いにより卒業も引き起こされます。

Glossary

用語定義
コンスタントプロダクトAMM準備金の積を一定に保つx × y = kを使用する自動マーケットメーカー。Uniswap V2、Raydium、Genesis ボンディングカーブが使用
仮想準備金価格設定の数式のみに存在し、預け入れられた資産としては存在しない、曲線初期化時に追加されるSOLおよびトークン量。開始価格を設定し、完全な売り切りを可能にする
実際の準備金買い手が実際に預け入れたSOL(quoteTokenDepositTotal)とバケットに残っている実際のトークン(baseTokenBalance
k不変式定数k = totalSol × totalTokens。切り上げ除算によりスワップはkを減少させることなく増加のみが可能
卒業すべての曲線トークンが売れると自動的に発生するイベント。蓄積されたSOLをRaydium CPMMプールに移行
Raydium CPMM卒業時にボンディングカーブの流動性を受け取り、継続的な二次取引のためのRaydiumコンスタントプロダクトマーケットメーカープール
ファーストバイ曲線作成時に、指定ウォレットと一回限りの手数料なし最初購入のSOL額を指定するオプションのエクステンション
クリエイター手数料クリエイターが設定するスワップごとのオプション手数料;バケット(creatorFeeAccrued)に累積されパーミッションレスのclaimBondingCurveCreatorFeeV2インストラクションで回収;プロトコル手数料とは独立して計算される
プロトコルスワップ手数料Metaplexが設定し、すべての買いと売りに請求されるスワップごとの手数料。クリエイターは設定不可
卒業手数料Raydium CPMMプール初期化コストをカバーするために卒業時に請求される一回限りの手数料
準備金枯渇/クランプスワップが利用可能な準備金を超える場合、システムはアウトプットをキャップし逆算式で入力を再計算。トランザクションは失敗しない
BondingCurveBucketV2準備金、手数料設定、エクステンション、コンスタントプロダクトパラメーターを含むすべてのボンディングカーブ状態を保存するオンチェーンアカウント