Gnosis CTF Model
Gnosis Conditional Tokens Framework (CTF) is the token model Arenaton uses for binary Outcome Shares. A Market is not a new Solidity deployment. It is a CTF condition prepared against a collateral token, an oracle/resolver address, and an outcome slot count.
This page documents the model Arenaton builds against. It is not a production address registry. Current services read approved exchange registry config; /api/contract-registry and /api/paper/contract-registry are target public client surfaces.
Address Boundaries
Section titled “Address Boundaries”Third-party contract addresses are useful references, not Arenaton production configuration.
| Address type | Current rule |
|---|---|
| Arenaton production addresses | Read from approved production registry config after production gates pass; target public route is /api/contract-registry. |
| Arenaton paper addresses | Read from approved paper registry config for Polygon Amoy and PaperUSDC; target public route is /api/paper/contract-registry. |
| Polymarket addresses | Use only as external CTF references. Do not paste them into Arenaton registries. |
As of the May 4, 2026 docs review, Polymarket’s public docs listed Polygon mainnet CTF infrastructure including the Conditional Tokens contract, CTF Exchange V2 contracts, pUSD collateral contracts, and UMA adapter/oracle contracts. Those are Polymarket deployment details, not Arenaton settlement authority. Verify external venue docs again before using any third-party address operationally.
Sources:
Core Objects
Section titled “Core Objects”| Object | Meaning in Arenaton |
|---|---|
| Market | The product record users browse and trade. |
| Condition | The on-chain CTF record for a question and outcome set. |
| Outcome Share | ERC-1155 position token representing one outcome. |
| Collateral | USDC in production, PaperUSDC in paper mode. |
| Resolver | The address that reports final payout vectors to CTF. |
| Settlement | The contract or paper engine path that atomically moves Collateral and Outcome Shares. |
Condition Derivation
Section titled “Condition Derivation”The condition ID is deterministic:
conditionId = getConditionId(oracle, questionId, outcomeSlotCount)For first-launch binary Markets:
| Parameter | Value |
|---|---|
oracle | Arenaton resolver for the environment. |
questionId | Deterministic hash of the Market terms and resolution source. |
outcomeSlotCount | 2. |
The Market ID remains human-readable for APIs and URLs. The questionId and conditionId are the settlement and redemption identifiers.
Position ID Flow
Section titled “Position ID Flow”Binary Outcome Shares are computed in three steps:
conditionId = getConditionId(oracle, questionId, 2)yesCollectionId = getCollectionId(bytes32(0), conditionId, 1)noCollectionId = getCollectionId(bytes32(0), conditionId, 2)yesPositionId = getPositionId(collateralToken, yesCollectionId)noPositionId = getPositionId(collateralToken, noCollectionId)Index sets use bitmasks:
| Outcome | Index set |
|---|---|
| YES / outcome 0 | 1 / 0b01 |
| NO / outcome 1 | 2 / 0b10 |
Settlement Paths
Section titled “Settlement Paths”Primary Split
Section titled “Primary Split”Complementary buy demand can create the first Outcome Shares:
YES buyer signs buy YES at price PNO buyer signs buy NO at price 1 - P or bettersettlement transfers Collateralsettlement calls CTF splitPositionYES and NO Outcome Shares move to the buyersThe settlement contract must not retain user Collateral or Outcome Shares after execution.
Secondary Resale
Section titled “Secondary Resale”After Outcome Shares exist, same-outcome buy/sell matching transfers existing shares:
seller signs sell YESbuyer signs buy YESsettlement transfers Collateral from buyer to sellersettlement transfers YES Outcome Shares from seller to buyerFailed resale cannot create user debt. If balances, approvals, signatures, cancellation, expiry, or Live State Version checks fail, settlement reverts or the paper engine marks the fill failed.
Resolution
Section titled “Resolution”The resolver reports a payout vector to CTF after the correction window closes.
| Resolution | Payout vector |
|---|---|
| YES wins | [1, 0] |
| NO wins | [0, 1] |
| Invalid | [1, 1] |
With [1, 1], each binary Outcome Share redeems for half of one unit of Collateral. Users redeem through CTF redemption mechanics, not an Arenaton internal balance.
Paper Mode
Section titled “Paper Mode”Paper mode uses the same mental model while staying isolated:
| Area | Paper rule |
|---|---|
| Chain | Polygon Amoy 80002. |
| Collateral | PaperUSDC only. |
| Registry | Approved paper registry config; target public route is /api/paper/contract-registry. |
| Settlement | Paper exchange plus paper CTF settlement path. |
| Portfolio | Derived from paper settlement, lifecycle, redemption, and indexer state. |
Read CTF Paper Mode and Paper Trading Backend for the current implementation spine.