マーケットカタログAPI
/api/v1/markets/query エンドポイントは、マーケット一覧や検索フローで使う公開マーケットカタログを返します。各項目は MarketCatalogueEntry で、マーケット識別子、アウトカム、ライフサイクル状態、作成者が設定した表示メタデータ、カテゴリタグ、取引サマリ指標を含みます。
カタログは、マーケットカードや発見ページ向けの累計・表示指標として次のフィールドを公開します。
| フィールド | 型 | 意味 |
|---|---|---|
ammBotBudgetSubunits | int64 | 自動マーケットメイキングBotへ入金された静的な初期予算。単位はmsatです。クライアントはこの値を Bot Budget として表示します。ライブの注文板流動性、Botの残り在庫、作成者が引き出せる残高ではありません。 |
liquiditySubunits | int64 | そのマーケットの注文板に現在残っている注文の額面合計。単位はmsatです。 |
traderCount | int32 | そのマーケットで約定済み取引を決済した重複なしのトレーダー数。 |
volumeLifetimeSubunits | int64 | そのマーケットの履歴全体における全約定の決済済み担保額面の累計。単位は担保サブユニット。 |
レスポンスには、ローリング出来高やソート用の volume24hSubunits と volume30dSubunits も含まれます。クライアントがマーケットの Volume、Bot Budget、Traders 指標を表示する場合は、volumeLifetimeSubunits、ammBotBudgetSubunits、traderCount を使ってください。liquiditySubunits は、それを必要とするクライアント向けの残存注文サマリとして残りますが、Bot Budgetとして表示すべきではありません。
他の公開マーケットサマリも同じ命名規則を使います。価格履歴ポイントは volumeSubunits、マーケットメタデータスナップショットは totalVolumeSubunits と totalLiquiditySubunits、流動性スナップショットは restingOrderLiquiditySubunits、completeSetLiquiditySubunits、totalLiquiditySubunits を公開します。非推奨の liquiditySats 作成メタデータフィールドは互換性のため引き続き受け付けますが、マーケットメイカー資金は作成後のフローで集めるため、作成リクエストでは 0 を送ってください。
ライフサイクルのリアルタイム更新
Section titled “ライフサイクルのリアルタイム更新”マーケットのライフサイクル状態は、クライアントが閲覧している最中に変化することがあります。リアルタイムフィードでマーケットを購読しているクライアントは、コンディションの状態が遷移したとき—たとえばオラクルのアテステーションが到着するか解決期限を過ぎて open から closed になったとき—に MarketStatusChanged のプッシュを受け取ります。このメッセージは conditionId、新しい state(open または closed)、マーケットがクローズした後の closedAt タイムスタンプ、そしてアウトカムが確定している場合の勝利アウトカム finalOutcome を含みます。プッシュは、そのコンディションのいずれかのアウトカム別マーケットに参加しているクライアントに届きます。
ライブプッシュは、クライアントがそのマーケットのアウトカム別グループに参加している間だけの、詳細ページ向けのベストエフォートなUX改善です。マーケット一覧や検索ページは、ライフサイクルプッシュを受けるために表示中の全マーケットへ参加すべきではありません。状態の正となるのは引き続きカタログの state フィールドです。遷移後に接続、再接続、起動、またはバックグラウンドから復帰したクライアントは、プッシュを受け取っていたかどうかに依存せず、/api/v1/markets/query から現在の状態を読み取ります。クライアントは、バックグラウンドポーリングではなく、起動時および表示復帰時の再照合を正確性のフォールバックとして使ってください。