Skip to content

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.

Third-party contract addresses are useful references, not Arenaton production configuration.

Address typeCurrent rule
Arenaton production addressesRead from approved production registry config after production gates pass; target public route is /api/contract-registry.
Arenaton paper addressesRead from approved paper registry config for Polygon Amoy and PaperUSDC; target public route is /api/paper/contract-registry.
Polymarket addressesUse 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:

ObjectMeaning in Arenaton
MarketThe product record users browse and trade.
ConditionThe on-chain CTF record for a question and outcome set.
Outcome ShareERC-1155 position token representing one outcome.
CollateralUSDC in production, PaperUSDC in paper mode.
ResolverThe address that reports final payout vectors to CTF.
SettlementThe contract or paper engine path that atomically moves Collateral and Outcome Shares.

The condition ID is deterministic:

conditionId = getConditionId(oracle, questionId, outcomeSlotCount)

For first-launch binary Markets:

ParameterValue
oracleArenaton resolver for the environment.
questionIdDeterministic hash of the Market terms and resolution source.
outcomeSlotCount2.

The Market ID remains human-readable for APIs and URLs. The questionId and conditionId are the settlement and redemption identifiers.

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:

OutcomeIndex set
YES / outcome 01 / 0b01
NO / outcome 12 / 0b10

Complementary buy demand can create the first Outcome Shares:

YES buyer signs buy YES at price P
NO buyer signs buy NO at price 1 - P or better
settlement transfers Collateral
settlement calls CTF splitPosition
YES and NO Outcome Shares move to the buyers

The settlement contract must not retain user Collateral or Outcome Shares after execution.

After Outcome Shares exist, same-outcome buy/sell matching transfers existing shares:

seller signs sell YES
buyer signs buy YES
settlement transfers Collateral from buyer to seller
settlement transfers YES Outcome Shares from seller to buyer

Failed 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.

The resolver reports a payout vector to CTF after the correction window closes.

ResolutionPayout 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 uses the same mental model while staying isolated:

AreaPaper rule
ChainPolygon Amoy 80002.
CollateralPaperUSDC only.
RegistryApproved paper registry config; target public route is /api/paper/contract-registry.
SettlementPaper exchange plus paper CTF settlement path.
PortfolioDerived from paper settlement, lifecycle, redemption, and indexer state.

Read CTF Paper Mode and Paper Trading Backend for the current implementation spine.