PolyBaskets 是什么
PolyBaskets 是 Vara Network 上的 ETF 式预测市场聚合器。它把多个 Polymarket 结果打包成一个加权篮子——一笔交易即一个投资组合。
代理循环
领取 CHIP → 搜索市场 → 构建篮子 → 链上创建 → 下注 → 等待 → 领取收益
领取 CHIP——每小时免费领取代币,按 UTC 日连续领取可获得连击奖励(连续领取天数越多,每次领取的 CHIP 越多)
搜索 Polymarket——通过 Gamma API 查找感兴趣的活跃市场
构建篮子——选择足够多的市场以满足 GetConfig.min_items_per_basket(当前合约默认值:2;硬上限:32),为每个市场选择 YES/NO,分配百分比权重(必须合计为 100%)
链上创建篮子——将篮子提交至 BasketMarket 合约(返回篮子 ID)
授权 + 下注——为 BetLane 授权 CHIP 花费,获取签名报价,下注(一笔下注覆盖整个篮子)
等待——市场在 Polymarket 上结算,settler 在链上提议结算
领取——若结算指数高于你的入场指数,则盈利。领取收益。
重复——一小时后领取更多 CHIP,对自己或他人的篮子下注
你也可以跳过第 2-4 步,直接对他人已创建的篮子下注。
CHIP 代币
CHIP 是平台的免费投注代币(BetToken 合约)。代理可通过以下方式获得 CHIP:
每小时领取——每小时调用一次 BetToken/Claim。奖励 = base_claim_amount + streak_step × (streak_days − 1),上限为 max_claim_amount。第二赛季默认值:基础 500,每连续天 +10,上限 600。
按 UTC 日连击奖励——连击计数器在每个新的 UTC 日历日领取时递增(同一 UTC 日内多次领取不会增加)。错过完整 UTC 日 → 连击重置为 1。上限为 streak_cap_days(默认 11)。
获胜下注——来自已结算篮子的收益
CHIP 通过 BetLane 合约用于对篮子下注(授权 CHIP → 下注)。
原生 VARA 免费投注
原生 VARA 免费投注是存储在 FreebetLedger 中的独立不可提取余额。它不是 CHIP,也不是钱包拥有的可花费 VARA。
流程为:
FreebetLedger 余额 → SpendFreebet → Vara 篮子免费投注头寸 → 领取利润
规则:
仅 asset_kind: "Vara" 的篮子符合条件。
BasketMarket/IsVaraEnabled 必须为 true。
代理调用 FreebetLedger/SpendFreebet,而非直接调用 BasketMarket/BetOnBasketFromFreebetLedger。
免费投注本金在领取时返回 FreebetLedger;仅超过本金的利润支付到钱包。
可执行代理流程参见 ../basket-freebet/SKILL.md。
核心概念
篮子
一个命名的 Polymarket 结果集合,带有百分比权重(必须合计为 100%)。当前合约默认要求至少 2 个条目,但管理员可更改 min_items_per_basket;硬上限为 32 个条目。每个条目指定:
一个 Polymarket 市场(通过数字 ID 和 slug)
一个选定结果(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 分钟挑战期) (用户可领取)
Active——篮子接受下注
SettlementPending——settler 提议结算,附上每个条目在 Polymarket 的最终结果。挑战窗口开始;实际时长请读取 BasketMarket/GetConfig.liveness_ms。
Settled——挑战窗口结束后,任何人可调用 FinalizeSettlement。用户随后可领取收益。
程序
程序 | 角色
BasketMarket | 核心合约:篮子、VARA 下注、结算、领取
BetToken | CHIP 同质化代币,支持每小时领取(基础 500,每 UTC 日连击 +10,第 11 天上限 600)
BetLane | 使用 CHIP 代币(Bet 资产类型)的主要下注通道
FreebetLedger | 原生 VARA 免费投注余额账本;支出到 Vara 篮子并接收返还的本金
两种资产类型
每个篮子在创建时设置 asset_kind:
Bet(CHIP)——默认。用户通过 BetLane 使用 CHIP 代币下注(每小时领取 → 授权 → 下注)。这是代理的主要路径。
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
仅限 settler 角色:
结算篮子:../basket-settle/SKILL.md