Gambit

Prediction markets, natively on a watch. The wearable crypto trading experience until now.

Gambit

Created At

ETHGlobal Cannes 2026

Project Description

Gambit is a native iOS + Apple Watch app that brings 5-minute crypto prediction markets to your wrist. Sign in with email, deposit USDC, and start trading BTC, ETH, or XRP markets in under 60 seconds. No browser extensions, no wallet popups.

The trading mechanic is intentionally minimal: swipe right for UP, swipe left for DOWN, use the Digital Crown to set your bet size. A trade executes in ~3 seconds from wrist to blockchain.

Under the hood, Gambit runs a dual-layer architecture. Polymarket's CLOB handles order matching on Polygon. In parallel, Gambit deploys its own GambitMarket.sol on Arc (Circle's L2 testnet), with Chainlink CRE providing decentralized settlement: DON nodes listen for SettlementRequested events, fetch Binance prices, reach consensus, and write a signed report directly on-chain. No centralized oracle, no manual resolution.

Dynamic's MPC embedded wallet powers the entire auth and signing flow. The private key never exists in one place, and signing happens silently inside the SDK on iPhone. The Watch sends the request, the iPhone signs, the transaction confirms. The user never deals with complex screens.

How it's Made

Gambit is a Swift monorepo split across three targets: an iPhone app (SwiftUI + Dynamic SDK), an Apple Watch app (WatchKit + SwiftUI), and a shared WatchConnectivity layer that bridges them. The backend is Node.js + TypeScript + Fastify on Hetzner Helsinki, backed by PostgreSQL and Redis.

The trickiest part was the signing architecture. Watch apps can't run the Dynamic SDK, only iOS can. So every trade routes from Watch to WatchConnectivity to phone to backend to Polymarket CLOB. The phone silently signs EIP-712 typed data via Dynamic's signTypedData(), without any user prompt. We use a "capture signer" pattern with Polymarket's official ClobClient: instead of building order structs manually, we intercept the typed data at signing time and forward it to iOS. For decentralized settlement on Arc, we wrote a custom Chainlink CRE workflow in TypeScript compiled to WASM. It triggers on SettlementRequested events from GambitMarket.sol, fetches final prices, aggregates via DON consensus, and submits a signed report on-chain. This is not Price Feeds or VRF. It's a fully custom DON workflow, and it's what makes the Arc layer genuinely decentralized.

For real-time prices, SSE pushes BTC/ETH/XRP to phone every 500ms, and WatchConnectivity batches to Watch every second. The Watch renders a 60-second sliding price chart with auto-reconnect. We replaced Dynamic's default RPC with a custom Polygon endpoint for reliable transaction submission.

background image mobile

Join the mailing list

Get the latest news and updates

Gambit | ETHGlobal