How AGON Works
From market creation to winner redemption — the 5-minute primer.
AGON is a permissionless prediction market on Base chain. Any question with a binary YES/NO outcome can become a tradeable market. Here is the full lifecycle — from the moment a market is proposed to the moment winners redeem their USDC.
Data flow
User ──► Web App ──► MarketFactory ──► ConditionalTokens
│
AIOracleHub ◄───────┘ (expiry reached)
│
Resolution proposed → 24h timelock → finalized
│
ConditionalTokens ──► Winner redemption (1 token = 1 USDC)Lifecycle
Anyone proposes a market
Call MarketFactory.createMarket() with a question string, a resolution timestamp, and a collateral stake. The stake must meet the minimum set in TokenRegistry for the chosen collateral token (USDC by default). Anyone can create a market — no permission required, no curation queue.
The MarketFactory validates the question, records the market, and forwards the stake to ConditionalTokens to seed the initial AMM pool. By default the pool starts at a 50/50 YES/NO price. If you supply a genesis attestation from the AI Oracle (via createMarketWithAttestation), the pool starts at the AI-recommended probability instead, avoiding the cold-start arbitrage that would otherwise drain half the creator stake on day one.
What gets recorded on-chain: question text, category, resolution timestamp, collateral token, creator address, initial AMM reserves.
Traders price the outcome
Once a market is live, anyone can buy YES or NO shares using USDC. The AMM follows the Constant Product Market Maker (CPMM) formula:
price(YES) = noReserve / (yesReserve + noReserve)Buying YES shares removes YES tokens from the pool and adds USDC, pushing the YES price up. Buying NO does the reverse. There is no order book — the AMM is always liquid, slippage scales with trade size relative to pool depth.
Each YES share has ERC-1155 token ID marketId * 2. Each NO share has token ID marketId * 2 + 1. Tokens are fungible within a market — you can hold partial shares, transfer them, or exit early by selling back into the pool.
Minimum trade: 1 USDC. Collateral: USDC (6 decimals). No ETH required for trading.
Markets close
At the configured resolutionTimestamp, trading stops. No new positions can be opened or closed. The market state freezes with its final AMM reserves and total volume recorded.
This timestamp is set at creation and cannot be changed. It is the agreed-upon moment when "the question has an answer" — after a game ends, after a vote is counted, after a price closes.
AI Oracle resolves
After expiry, the AGON AI Oracle initiates resolution via AIOracleHub. Three independent models — Claude, Gemini, and GPT-4o — each analyze the market question and available data, then return a verdict with a confidence score.
Resolution rules:
- At least 2 of 3 models must agree on the outcome (concordance threshold)
- Each agreeing model must report confidence ≥ 0.80
- If both conditions are met, resolution completes in under 60 seconds for supported event types
The oracle calls MarketFactory.proposeResolution(), which starts a 24-hour timelock. During this window, anyone can call disputeResolution() to flag the outcome. If undisputed, finalizeResolution() can be called after the 24 hours — permissionlessly, by anyone.
If the AI cannot reach concordance (ambiguous question, conflicting data, confidence below threshold), the market escalates to OracleDAO: a committee of AGON stakers who vote on the outcome through an optimistic governance process.
Not financial advice. AI oracle outputs are probabilistic determinations, not guaranteed facts.
Winners redeem
Once a market is resolved, every holder of the winning token can redeem 1 token for 1 USDC through ConditionalTokens. This invariant is guaranteed by the contract:
1 YES token (resolved YES) = 1 USDC
1 NO token (resolved NO) = 1 USDCLosing tokens expire worthless. There is no partial payout, no house cut on redemption, no expiry on the claim window beyond what governance sets. The full collateral pool returns to winners.
The math: if you held 500 YES shares and the market resolved YES, you redeem 500 USDC. Your profit is 500 USDC − (cost to acquire those shares).
