Brief overview

How GuessWorks works

The mechanic in one sentence

Every market mirrors Polymarket pre-maturity, then graduates onto a constant-product bonding curve so it stays tradable 24/7 after the public-debate phase ends.

Two-stage lifecycle

  1. Pre-maturity — odds mirror Polymarket Gamma. Read-only on our side. Updates every 60 seconds.
  2. Matured — at the maturity timestamp, we seed bonding-curve reserves from a 6-hour TWAP of the mirrored prices. From here it's a real x · y = k AMM denominated in vGW. Trades execute on your side; price impact follows constant product.
  3. Closing soon — same trading rules, two-hour cooldown badge so you don't get caught long when the market freezes.
  4. Resolved — winning outcome holders are paid out from reserves; positions zero'd; the market becomes read-only history.

TWAP-anchored seeding (manipulation mitigation)

Seeding the curve from spot at maturity creates an obvious attack: pump the market in the last 60 seconds and pocket the cheap shares. We seed from a time-weighted average of the prior 6 hours instead. A late pump barely moves the seed; the manipulator burns capital on no-op trades.

vGW in Phase 0

vGW (virtual GuessWorks coin) is the simulation currency. New users get a 10,000 vGW airdrop on first wallet connect. Every trade is signed by your wallet (EIP-191 on EVM, ed25519 on Solana) — same UX as a real trade, no real money at risk yet.

USDC custody in Phase 1

A Solidity custody contract (see docs) handles deposits and EIP-712-signed withdrawals. Trades remain off-chain for sub-second UX; only deposits and withdrawals touch the chain. The audit trail you see in the admin Withdrawals tab is what the relayer feeds into the contract.

What's signed-message gated

Every write — trade, withdrawal, profile change. The verification pipeline runs cheapest checks first: timestamp window → message-content match → ECDSA recovery. Without that ordering, a 1KB garbage POST burned a full crypto verify before being rejected.

Public API + WebSocket

Read endpoints are open to the world. /docs covers the OpenAPI spec, WebSocket event shapes, and the bearer-key program (anon 20 r/s, keyed 100 r/s).

Ready to look around?

Open the live feed