polybaskets-overview について
polybaskets-overviewは、Polymarketの結果を加重バスケットにまとめるVara Network上の予測市場アグリゲーター、PolyBasketsを解説するスキルです。CHIPの受け取りやバスケットの作成・選択から、ベット、決済、払戻請求までの流れを説明します。
主な機能
- 01Polymarketの結果を束ねた加重バスケットの説明
- 02CHIP受け取りと連続日数報酬の説明
- 03CHIP、VARA、フリーベットの経路の概説
- 04バスケット指数と払戻計算の要約
- 05決済段階と関連プログラムの詳細
活用シーン
- 01バスケットベットの一連の流れの把握
- 02CHIPとネイティブVARAのベット方法の選択
- 03決済がポジションの払戻に与える影響の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ adityaakr/ polybaskets --skill polybaskets-overviewインストール後、Claude Code で/polybaskets-overviewを入力して読み込まれたか確認します。
詳細
PolyBaskets の概要
PolyBaskets とは
PolyBaskets は、Vara Network 上の ETF スタイルの予測市場アグリゲーターです。複数の Polymarket の結果を、1 つの加重バスケットにまとめます。つまり、1 回の取引でポートフォリオを運用できます。
エージェントのループ
Claim CHIP → Search markets → Build basket → Create on-chain → Bet → Wait → Claim payout
- CHIP を請求する — 1 時間ごとに無料でトークンを請求できます。UTC 日ごとの連続請求ボーナスもあります(連続して請求した日数が増えるほど、1 回の請求でもらえる CHIP が増えます)。
- Polymarket を検索する — Gamma API を使って、興味のある開催中の市場を見つけます。
- バスケットを作成する —
GetConfig.min_items_per_basketを満たす数の市場を選びます(現在のコントラクトのデフォルトは 2、ハード上限は 32)。それぞれで YES/NO を選び、合計が 100% になるように割合の重みを設定します。 - オンチェーンでバスケットを作成する — BasketMarket コントラクトにバスケットを送信します(バスケット ID が返されます)。
- 承認してベットする — BetLane の CHIP 使用を承認し、署名済みのクォートを取得してベットします(1 回のベットでバスケット全体に賭けます)。
- 待つ — Polymarket の市場が確定すると、セトラーがオンチェーン決済を提案します。
- 請求する — 決済インデックスがエントリーインデックスを上回っていれば利益が出ます。払戻金を受け取ります。
- 繰り返す — 1 時間後にさらに CHIP を請求し、自分または他のユーザーのバスケットにベットします。
手順 2〜4 を省略して、別のユーザーが作成した既存のバスケットにベットすることもできます。
CHIP トークン
CHIP は、プラットフォームで無料で利用できるベット用トークンです(BetToken コントラクト)。エージェントは次の方法で CHIP を獲得します。
- 1 時間ごとの請求 — 1 時間に 1 回、
BetToken/Claimを呼び出します。報酬はbase_claim_amount + streak_step × (streak_days − 1)で、max_claim_amountが上限です。シーズン 2 のデフォルト値は、基準額が 500、連続日数ごとの加算額が 10、上限が 600 です。 - UTC 日ごとの連続請求ボーナス — 請求した UTC 暦日が新しくなるたびに連続日数が増えます(同じ UTC 日内に複数回請求しても連続日数は増えません)。UTC 日を丸 1 日逃すと、連続日数は 1 にリセットされます。上限は
streak_cap_days(デフォルトは 11)です。 - ベットの勝利 — 決済済みバスケットからの払戻金
CHIP は BetLane コントラクトを通じてバスケットにベットする際に使用します(CHIP を承認 → ベット)。
ネイティブ VARA のフリーベット
ネイティブ VARA のフリーベットは、FreebetLedger に保存される、出金できない別個の残高です。CHIP ではなく、ウォレットが所有する使用可能な VARA でもありません。
手順は次のとおりです。
FreebetLedger balance → SpendFreebet → Vara basket freebet position → Claim profit
ルール:
asset_kind: "Vara"のバスケットのみ対象です。BasketMarket/IsVaraEnabledが true である必要があります。- エージェントは
BasketMarket/BetOnBasketFromFreebetLedgerを直接呼び出すのではなく、FreebetLedger/SpendFreebetを呼び出します。 - 請求時にフリーベットの元本は
FreebetLedgerに戻され、ステークを上回る利益分のみがウォレットに支払われます。
実行可能なエージェントの手順については、../basket-freebet/SKILL.md を参照してください。
主な概念
バスケット
Polymarket の結果を名前付きで集めたもので、それぞれに割合の重みを設定します(合計は 100% である必要があります)。現在のコントラクトのデフォルトでは最低 2 項目が必要ですが、管理者は min_items_per_basket を変更できます。項目数の上限は 32 です。各項目で指定する内容は次のとおりです。
- Polymarket の市場(数値 ID とスラッグで指定)
- 選択した結果(YES または NO)
- ベーシスポイントで表した重み(例:40% = 4000 bps、合計は 10000 bps = 100%)
バスケットインデックス
インデックスは、確率を加重したスコアです。
index = sum( weight_bps[i] / 10000 * probability[i] )
範囲は 0.0〜1.0 です。ユーザーがベットすると、現在のインデックスがそのユーザーの Position に index_at_creation_bps(u16、1〜10000)として記録されます。バスケット自体にはインデックスが保存されず、Polymarket の最新価格から計算されます。
計算式と具体例については、../references/index-math.md を参照してください。
ポジション
ユーザーのバスケットへのベットです。次の情報を記録します。
shares— 賭けた VARA(ネイティブレーンの場合)または CHIP/BetToken(BetLane の場合)の額index_at_creation_bps— エントリーインデックス。同じユーザーが同じバスケットに複数回ベットした場合、コントラクトにはシェアで加重平均したエントリーインデックスが保存されます。claimed— 払戻金を受け取ったかどうか
払戻金
決済後:
payout = shares * (settlement_index / entry_index)
決済インデックスがエントリーインデックスを上回れば利益、下回れば損失です。
決済のライフサイクル
Active → SettlementPending → Settled
(12-min challenge) (users can claim)
- Active — バスケットでベットを受け付けます
- SettlementPending — 決済担当者が、Polymarket の各アイテムの最終結果を提示します。異議申し立て期間が始まります。実際の期間は
BasketMarket/GetConfig.liveness_msで確認してください。 - Settled — 異議申し立て期間の終了後、誰でも
FinalizeSettlementを呼び出せます。その後、ユーザーは払い戻しを請求できます。
プログラム
| プログラム | 役割 |
|---|---|
| BasketMarket | 中核となるコントラクト:バスケット、VARA ベット、決済、請求 |
| BetToken | 1時間ごとに請求できる CHIP の代替可能トークン(基本量は500、UTC日単位の連続利用ごとに+10、11日目に上限600) |
| BetLane | CHIP トークンを使用する主要なベットレーン(ベット資産種別) |
| FreebetLedger | ネイティブ VARA のフリーベット残高台帳。Vara バスケットへの支払いに使用し、返還された元本を受け取ります |
2つの資産種別
各バスケットには、作成時に asset_kind が設定されます。
- Bet(CHIP) — デフォルトです。ユーザーは BetLane 経由で CHIP トークンを使ってベットします(1時間ごとに請求 → 承認 → ベット)。エージェント向けの主要な経路です。
- Vara — ユーザーは BasketMarket 経由でネイティブ VARA トークンを使ってベットします。ネイティブ VARA のフリーベットでも、FreebetLedger 経由で Vara バスケットを使用します。一部のデプロイでは無効になっている場合があります。
資産種別によって、そのバスケットのベットと請求を処理するプログラムが決まります。
次に進む項目
全体のフロー(推奨):
- CHIP トークンを請求する:
../basket-bet/SKILL.md(ステップ1) - マーケットを検索し、バスケットを作成する:
../basket-create/SKILL.md - バスケットを承認してベットする:
../basket-bet/SKILL.md(ステップ4~5) - バスケットを閲覧し、ポジションを確認する:
../basket-query/SKILL.md - 払い戻しを請求する:
../basket-claim/SKILL.md
ネイティブ VARA フリーベットのフロー:
- 引き出し不可の VARA フリーベット残高を使用する:
../basket-freebet/SKILL.md
決済担当者のみ:
- バスケットを決済する:
../basket-settle/SKILL.md