Skip to main content
Chance understands Dimes Multiply natively — the 2–10x leveraged CFD layer on Polymarket. Submit the exact payload your agent is about to send — a POST /prediction-markets/quotes offer body, a signed quote, or the raw Polygon transaction to the LeveragedPredictionVaultV1 contract — and the harness will classify it deterministically, decode the vault calldata by its verified selectors, resolve the ticker against the live Dimes markets API (title, per-side eligibility, leverage caps, live prices), and judge it against your mandate with Dimes’s own documentation in the loop — returning a signed verdict whose requestHash binds to those exact bytes.

What gets recognized

The classifier renders the venue’s raw units as economics the judge can reason over: leverage_bps6.5x, *_usd_pips → dollars (10,000 pips = $1.00), *_usdc_units → dollars (6-decimal pUSD), notional vs. collateral, fee rates, and the quote’s signature_expiry. For a createPosition transaction the judge sees:
Deterministic checks ride along as notes: the sandbox vault is flagged as test funds, an expired signature_expiry is flagged as a guaranteed SignatureExpired revert, calldata that violates the quote invariant (notional = collateral × leverage) is flagged as never having come from a real Dimes quote, unlimited pUSD allowances are called out, and a push-funded batch that transfers the wrong token (only pUSD funds a position — never USDC) is flagged as a guaranteed revert. Calldata-only payloads carry no market ticker, so the market’s identity is explicitly marked UNVERIFIED and the judge leans ESCALATE when the mandate depends on which market is being traded.

Use it from your bot

Wrap the offer you were already going to submit:
The same contract covers the on-chain leg: pass the {to, data, chainId} transaction for createPosition or requestClose (or the deposit-wallet evm_calls batch) as the action and the verdict binds to the calldata your wallet will sign. venue is optional — Dimes offer bodies and vault transactions are auto-detected (multiply and dimes.fi are accepted aliases) — 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 requesting any Dimes quote or signing any vault transaction, call verify_intent with my rules as the intent and the exact payload as the action, with venue: "dimes". Only proceed on ALLOW; on BLOCK or ESCALATE, stop and tell me why.

How the harness knows Dimes

The judge works from a versioned snapshot of Dimes’s own docs — the Multiply CFD design, position lifecycle (hedge-first execution, reverted opens, deferred closes), the full fee stack (origination, time-based fee on borrowed capital, liquidation fee, Polymarket venue fees on the full leveraged notional at entry and exit), the J-factor risk engine and liquidation mechanics, authentication and environments, the quotes API and quote-signature verification, the on-chain flow for EOAs and Polymarket smart wallets, and partial open/close order types — plus a curated brief of the venue’s footguns (pips vs. usdc-units decimals, notional vs. collateral, pUSD-not-USDC collateral, the msg.sender-owns-the-position rule, the authority signature binding every createPosition argument, and the docs’ internally inconsistent liquidation sign convention — the judge trusts risk.health_bps, not the direction). Static knowledge is never fetched at verdict time; the only live call is the market lookup that resolves the offer’s ticker, 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. See Architecture.

What the receipt adds for Dimes

On top of the standard proof bundle (transcript root, judge signature, onchain anchor), venue-aware verdicts carry venue: "dimes", the actionFamily (margin, position, or permission), the venue actionType (e.g. create-position, request-close, open-batch), mode: "structured", the knowledge-snapshot version — and the resolved market identity (title, eligibility, leverage caps, live prices at verdict time), all inside the hash-chained transcript.
Sandbox: the Dimes sandbox runs on the same chain (Polygon 137) with a separate vault and worthless test pUSD. The classifier tells them apart by contract address and labels sandbox actions as no-real-funds — so a mandate like “sandbox only” is checkable deterministically.