Polymarket Gamma markets#
Gamma is the default Polymarket discovery, definition, and resolution source in
the web Reclaim page, mobile external-market screen, and CLI. Public discovery
uses https://gamma-api.polymarket.com; creating or resolving a Seesaw market
requires a Reclaim-attested response from /markets/{id}. No Polygon RPC
configuration is needed in these user flows.
Use the web or mobile flow#
-
Open Reclaim on web or Submit external market on mobile. Browse open or closed markets, or enter a Polymarket link, slug, or decimal Gamma ID.
-
Select Create on Seesaw or Resolve on Seesaw. The client chooses the template and binds the request to the configured program, deployment, and market PDA.
-
Download the proof request on web or copy it on mobile. Use your configured Reclaim runner to generate the proof, then import the resulting JSON:
bashpnpm exec tsx services/reclaim-runner/src/cli.ts generate @polymarket-proof-request.json polymarket-proof.jsonRun from the repository root; file arguments are relative to that directory and absolute paths also work. The runner needs the credentials and reviewed adapter described in its runbook.
-
Alternatively, before starting the runner server, issue a pairing token for the downloaded request and paste its returned JSON into the client:
bashpnpm exec tsx services/reclaim-runner/src/cli.ts pair-request /absolute/path/polymarket-proof-request.json WALLET_ADDRESS https://YOUR_WEB_ORIGIN https://YOUR_RUNNER_ENDPOINT pnpm exec tsx services/reclaim-runner/src/cli.ts serveThe origin must match the runner allowlist. Native mobile sends no browser Origin: use
''as the pairing origin and the existing native-runner origin configuration. Tokens are single use and expire within five minutes. The server imports one pending pairing at startup. -
Review the imported proof and approve the wallet transactions. Creation uploads and finalizes the proof, begins allocation, allocates the book and trader ledger, and opens the market. Success is reported after Open confirms.
If creation stops after allocation begins, retry with the same proof, market, and wallet. The clients verify the existing receipt and policy, then resume allocation and opening without uploading the proof again. This also works after the active verifier epoch changes.
CLI#
seesaw reclaim polymarket markets --query https://polymarket.com/event/EVENT_SLUG
seesaw reclaim polymarket markets --closed
seesaw reclaim polymarket prepare --market-id GAMMA_ID --operation create
seesaw reclaim polymarket prepare --market-id GAMMA_ID --operation resolve
Save data.request from prepare to a JSON file and run the runner command
above. Submit the resulting V2 proof envelope using seesaw reclaim submit
(see --help for proof-file, snapshot, and nonce arguments). Creation reads
the default settlement mint from the configured onchain Config account; an
offline dry run requires --settlement-mint explicitly.
Accepted facts and identity#
The source reference is the decimal Gamma market ID, not a condition ID,
event ID, or CLOB token ID. Reclaim source kind 2 has a separate PDA namespace
from the retired bridge's platform byte. Multi-outcome events are discovered
as individual binary legs.
Creation requires active=true, closed=false, a future UTC endDate, and
outcomes ordered Yes,No. Resolution requires closed=true,
umaResolutionStatus=resolved, and exact string payouts 1,0 (YES), 0,1
(NO), or 0.5,0.5 (VOID). Market prices, proposed or disputed results, and
unsupported outcomes cannot resolve a market. Halt and extension are disabled.
Pinned matchers reject duplicate critical fields, nested substitutions, and
unsupported response shapes. Schema or field-order changes can make capture
fail closed and require a reviewed template update. The TypeScript/Rust golden
fixture and reclaim_v1_polymarket tests enforce descriptor parity and these
semantic rules; reclaim_v1_transition_litesvm exercises signed Gamma creation,
opening, resolution, and replay rollback through both compiled programs.
Reclaim authenticates Gamma HTTPS facts under the configured attestor policy. Seesaw does not independently verify Polygon consensus, UMA state, the underlying zkTLS proof, or TEE attestation onchain. Deployment still requires the matching program and verifier releases, an active epoch, and operational capture validation with the approved live adapter.