結果代幣
事件市場基於 Conditional Token Framework(CTF)表示不同結果。二元市場通常包含兩個結果,例如Yes 與 No。
每個結果代幣都有唯一的 Position ID,並作為鏈上的 Token ID 使用。多數接入場景無需自行計算 Position ID,直接使用市場介面回傳的 token_id 即可。
Position ID 生成邏輯
Position ID 的底層計算過程包括:- 根據 Oracle、Question ID 和結果數量計算
conditionId; - 根據
conditionId和indexSet計算對應結果的collectionId; - 根據抵押資產與
collectionId計算最終positionId。
持倉數量
帳戶持倉介面會回傳目前結果代幣數量,並區分:- 總持倉數量;
- 被訂單或結算流程鎖定的數量;
- 目前可用於賣出或其他操作的數量;
- 平均開倉價格;
- 目前持倉價值;
- 結算後可領取金額。
市場結算
市場結果確認後:- 獲勝結果代幣可按結算規則兌換對應抵押資產;
- 失敗結果代幣價值歸零;
- 帳戶會更新
settlement_status、won和claimable_amount等欄位。
贖回已結算持倉
完成贖回前需要確認:- 市場已經完成最終結算;
- 目前帳戶持有對應結果代幣;
- 該持倉存在可領取金額。
如果只是使用 DexBuilder API 構建前端或交易應用,直接依賴市場回傳的
token_id、帳戶持倉和 Claim 介面即可,不需要自行實現 CTF Position ID 計算。