requestHash binds to those exact bytes.
What gets recognized
For orders, the classifier decodes side, price, size, and cost — and because Polymarket order payloads reference outcome tokens by an opaque 77-digit id, it resolves that id against the live market registry. The judge reasons over:
BUY 500 shares of outcome token 308158…200000 @ 2.0¢ (GTC) ≈ $10.00 cost — resolved: this is the “Yes” outcome of “Will Belgium win the 2026 FIFA World Cup?”. Market currently prices this outcome at 1.6¢.That resolution step is what catches the classic prediction-market failure: an agent whose thesis says “back the near-certain favorite” while its order quietly buys the cheap opposite token. The judge sees the real outcome and the live price gap — the side-inversion has nowhere to hide. If a token can’t be resolved, the verdict leans ESCALATE rather than trusting the agent’s own description: fail closed, never allow on assumption.
Use it from your bot
Wrap the order you were already going to place:venue is optional — Polymarket order shapes are auto-detected — and freeform action descriptions still work (mode: "semantic").
Use it from Claude or ChatGPT
Add the hosted connector (https://harness.chance.cc/api/mcp, see Connectors) and give your agent one standing instruction:
Before placing any Polymarket order, callAgents with Polymarket execution tools then get gated automatically; agents without them still give you provable pre-trade checks in chat.verify_intentwith my rules as the intent and the exact CLOB order as the action, withvenue: "polymarket". Only proceed on ALLOW; on BLOCK or ESCALATE, stop and tell me why.
How the harness knows Polymarket
The judge works from a versioned snapshot of Polymarket’s own docs — order placement and signing, market data, tick sizes and fees, negative-risk markets, conditional tokens, resolution — plus a curated brief of the venue’s footguns (price-as-probability, YES/NO token semantics, negRisk mechanics, UMA resolution risk). Static knowledge is never fetched at verdict time; the only live call is the market-registry lookup that resolves the order’s token to its market and current price, and what it resolves is recorded in the verdict’s hash-chained transcript. Every documentation page the judge consults is chained with its content hash — the receipt proves exactly which knowledge, at which version, informed the decision. See Architecture.What the receipt adds for Polymarket
On top of the standard proof bundle (transcript root, judge signature, onchain anchor), venue-aware verdicts carryvenue: "polymarket", the actionFamily, the venue actionType, mode: "structured", the knowledge-snapshot version — and the resolved market identity (question, outcome, live price at verdict time), all inside the hash-chained transcript.
Roadmap: escrowed execution — the same contract, but an ALLOW triggers order placement by a Chance-held signer and a BLOCK physically never reaches one. The payload-first contract above is forward-compatible with it.
