Resolution Process
Market resolution involves both on-chain and off-chain components working together.
Resolution Flow
1. Trading Closes
- Trading stops at the close time
- Positions lock (no new trades)
- Market status updates to "closed"
2. Voting (If Applicable)
For community resolution:
- Users vote YES, NO, or DON'T KNOW
- Votes weighted by credibility score
- Outcome determined from weighted votes
- Stored in database
3. Admin Review
- Admin reviews votes and evidence
- Determines final outcome
- Can override community vote if needed
4. On-Chain Resolution
- Admin calls
resolveMarket()on contract - Contract sets outcome (YES, NO, or CANCELLED)
- Enables redemption for winners
5. Payout Distribution
- Winners redeem position tokens
- Contract calculates payout based on:
- Token balance (position size)
- Total pool size
- Outcome
- USDC sent to user's wallet
6. Database Update
- Market status updated to "resolved"
- Outcome recorded
- Historical data preserved
Security
- Server-side resolution: Admin must sign transaction
- Atomic operations: Resolution and payout in single transaction
- Verification: Outcome can be verified on-chain
- No manipulation: Users cannot resolve markets themselves
Payout Calculation
Payouts are calculated on-chain:
- Contract reads your token balance
- Calculates your share of winning pool
- Applies fee (5% of winnings)
- Sends USDC to your wallet
This happens automatically when you redeem - no claiming needed.