跳转到主要内容
Polymarket 上的所有结果都使用 Conditional Token Framework (CTF) 进行代币化,这是由 Gnosis 开发的开放标准。理解 CTF 操作可以实现高级交易策略、做市和直接智能合约交互。

什么是 CTF

Conditional Token Framework 创建代表预测市场结果的 ERC1155 代币。每个二元市场有两种代币:
代币兑换为条件
Yes$1.00 USDC.e事件发生
No$1.00 USDC.e事件不发生
这些代币始终完全抵押——每对 Yes/No 代币都由锁定在 CTF 合约中的 $1.00 USDC.e 支持。

核心操作

CTF 提供三个基本操作:

代币流转

代币标识符

每个结果代币都有一个唯一的 position ID(也称为 token ID 或 asset ID)。这些是通过三个步骤在链上计算的:
  1. getConditionId(oracle, questionId, outcomeSlotCount) — oracle 是 UMA CTF AdapterquestionId 是 UMA ancillary data 的哈希,outcomeSlotCount 对于二元市场是 2
  2. getCollectionId(parentCollectionId, conditionId, indexSet)parentCollectionId 对于顶级仓位是 bytes32(0)indexSet 是位掩码(0b01 = 1 表示第一个结果,0b10 = 2 表示第二个)
  3. getPositionId(collateralToken, collectionId) — 将 USDC.e 地址与 collection 结合生成最终的 token ID
你可以通过 Markets API(Gamma API 上的 GET /markets)或 Events API(Gamma API 上的 GET /events)找到 token ID。tokens 数组包含两个结果代币 ID。手动计算它们仅在直接智能合约集成时需要。

标准市场 vs Neg Risk 市场

Polymarket 有两种具有不同 CTF 配置的市场类型:
特性标准市场Neg Risk 市场
CTF 合约ConditionalTokensConditionalTokens
Exchange 合约CTF ExchangeNeg Risk CTF Exchange
多结果独立市场通过转换关联
negRisk 标志falsetrue
对于 neg risk 市场,额外的转换操作允许将一个 No 代币兑换为所有其他结果中的 Yes 代币。详见 Negative Risk Markets

合约地址

所有 Polymarket 智能合约地址详见合约地址

资源

下一步