2つのポジションによるローンチ
2026-09-12の改定以降、ボンディングカーブはありません。供給量の全量が、作成トランザクションそのものの時点から、ロックされたUniswap v4の流動性に入ります。2026-09-28以降はコードに実装されています。LiquidityLock.launchMarketがマーケットの作成トランザクション内でそのすべてを行い、テストは、Lensが読み取る開始価格を1トークンあたり3,401,582,525 weiという値で固定して検証しています。
カーブが廃止された理由
以前のカーブは、仮想リザーブに対する定積型でした。
x = VIRTUAL_ETH + netReserve (3.75 ETH + 流入した分)
y = TOKEN_RESERVE - tokensSold (1.1 B − 流出した分)
これはまさに、集中流動性ポジションの仕組みそのものです。v3/v4の仮想リザーブは、そのオフセットにほかなりません。この対応は近似ではなく、同じ方程式を別の形で書いたものです。
カーブの廃止によって得られるもの:プロトコルで最もリスクの高い瞬間であるマイグレーションがなくなり、徴収すべきグラデュエーション手数料もなくなり、手数料の経路が2つから1つになり、マーケットは最初のブロックからアグリゲーターによるルーティングが可能になります。
2つのバンド
ティック 195000
開始"] -->|バンド1 · 700Mトークン · 7.535 ETH| B["FDV 34.091 ETH
ティック 171960
10x"] B -->|バンド2 · 300Mトークン · 上限なし| C["ティック −887220
価格の上限"]
| バンド1 | バンド2 | |
|---|---|---|
| トークン | 700,000,000 | 300,000,000 |
| ティック | [171960, 195000] |
[−887220, 171960] |
| 深さ | 通過に7.535 ETH | 2×で14.5 ETH · 20×で45.7 ETH · 200×で144.6 ETH |
tickSpacingは60で、LP手数料はありません。
これらはデフォルトのローンチの設定です。2026-10-05以降、供給量、バンド1のトークン(バンド2が残りを受け取る)、開始ティック、両方のバンドの下端のティック、ティック間隔、LP手数料は、StockFunのオーナーの1つの設定(ファクトリーのsetLaunchConfig)を構成し、その後に作成されるマーケットに適用されます。この設定は、どのプールも保持できない形状を拒否します。空のバンド、ティック間隔に合わない、または順序が正しくないティック、範囲外のティック間隔やLP手数料、1つのティックでは流動性を保持しきれないバンドです。各プールは、作成時の形状、LP手数料、ティック間隔を保持します。ロックはそのティックを記録し、Lensは各マーケットのLP手数料とティック間隔を示します。
繊細な部分:開始価格
ローンチ時点では、どちらのポジションもトークンのみを保有しています。これにより、プロトコルはETHを一切拠出せずに済みます。プールが将来保有するETHは、すべて買い手から来るものです。
ポジションがトークンのみになるためには、現在価格がそのレンジの上端以上でなければなりません。したがって、次のようになります。
sqrtStartX96 = TickMath.getSqrtPriceAtTick(BAND1_UPPER); // not sqrt(raw FDV)
ローンチ時のFDVに対応する正確なティックは194,977.95で、その上にある最も近い使用可能なティックは195,000です。生のFDVからsqrtStartを導出すると、価格がバンド1の内側に入ってしまい、LiquidityLockのNotSingleSidedチェックによって預け入れが拒否されます。
量子化の結果、実効FDVは3.409ではなく3.4016 ETHとなり、−0.22 %のずれが生じます。
実際の挙動
ローンチ時から2 ETHずつ連続して購入した場合(デフォルトの設定):
| 支出額 | FDV | 保有される供給量 |
|---|---|---|
| 2 ETH | ~$27,600 | 36.1 % |
| 4 ETH | ~$50,400 | 53.3 % |
| 10 ETH | ~$164,000 | 74.8 % |
| 50 ETH | ~$2.78 M | 93.9 % |
最初の購入で供給量の36.1 %を取得します。以前のカーブでは36.99 %でした。ローンチは1ポイント以内の差で以前と同じように振る舞い、これがパラメータ選定の基準でした。
バンドの構造上の上限
供給量の100 %がそのバンドにあった場合にバンドが吸収できるETHは、そのバンドの2つのFDVの幾何平均にちょうど等しくなります。
$$ E{\max} = \sqrt{\text{FDV}{\text{開始}} \times \text{FDV}_{\text{終了}}}
$$
これがパラメータを制約しています。ローンチ価格とバンドの上端、そして深さを自由に選ぶことはできません。トークンの数が系を閉じているからです。
終了モード
トークンと同様に、ロックはアップグレードできません。そのコードこそが、流動性をプールにとどめているものだからです。2026-10-02以降、ロックには、プロジェクトが終了する場合に備えた唯一の出口、終了モードがあります。
- 告知。StockFunのオーナーが
end()を呼び出すと、ロックは30日後の日付を公開で記録します。その時点から、新しいマーケットはローンチできず、$STOCKFUNのポジションも作成できなくなります。そのため、事前告知の全期間を得られないマーケットはありません。取引と手数料の回収は続きます - 事前告知期間。30日間、すべてのプールは取引を続けます。オーナーは
cancelEnd()でいつでもキャンセルでき、その場合ローンチは再開されます - 回収。30日が経過すると、オーナーはプールのすべてのポジション(マーケットの両方のバンド、
$STOCKFUNの単一のポジション)を取り出し、そのETHとトークンを、未回収の寄付も含めて、任意のアドレスへ送ることができます(recoverLiquidity)。回収済みのプールからはそれ以上何も回収されず、ロックされているとはみなされなくなります。その後にキャンセルしても、そのプールは空のままです
この30日間が、ホルダーへの事前告知です。これはロックの定数(END_DELAY)であって設定ではなく、プロトコルで唯一の固定された遅延期間です。
終了モード以外に、ポジションに届くものはありません。2026-10-05以降、ロックは、手数料の回収のうち受取人が拒否した取り分を、誰かがそれを支払うまで(payOwed)、その受取人のために保持します。また、StockFunのオーナーは、誤ってロックに送られたものを取り出すことができます(rescue、rescueClaims、rescueNft):任意のトークン、ロックが保持している取り分を超えるETH、v4のクレーム、NFTです。ロックには汎用の呼び出しはありません。PoolManagerを通じて、30日を経ずに終了モードの回収に到達できてしまうからです。