Skip to main content

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:

  1. Contract reads your token balance
  2. Calculates your share of winning pool
  3. Applies fee (5% of winnings)
  4. Sends USDC to your wallet

This happens automatically when you redeem - no claiming needed.