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
- Pre-maturity — odds mirror Polymarket Gamma. Read-only on our side. Updates every 60 seconds.
- 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 = kAMM denominated in vGW. Trades execute on your side; price impact follows constant product. - Closing soon — same trading rules, two-hour cooldown badge so you don't get caught long when the market freezes.
- 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